Я использую Ubuntu 16.04. В попытке решить эту проблему, я установил gstreamer, использующий эту ссылку. Для удобства я отправлю сценарий установки здесь:
# Set your target branch
BRANCH="1.12.5"
exec > >(tee build-gstreamer.log)
exec 2>&1
[ ! -d gstreamer ] && git clone git://anongit.freedesktop.org/git/gstreamer/gstreamer
[ ! -d gst-plugins-base ] && git clone git://anongit.freedesktop.org/git/gstreamer/gst-plugins-base
[ ! -d gst-plugins-good ] && git clone git://anongit.freedesktop.org/git/gstreamer/gst-plugins-good
[ ! -d gst-plugins-bad ] && git clone git://anongit.freedesktop.org/git/gstreamer/gst-plugins-bad
[ ! -d gst-libav ] && git clone git://anongit.freedesktop.org/git/gstreamer/gst-libav
[ ! -d gst-plugins-ugly ] && git clone git://anongit.freedesktop.org/git/gstreamer/gst-plugins-ugly
export LD_LIBRARY_PATH=/usr/local/lib/
cd gstreamer
git checkout $BRANCH
./autogen.sh --disable-gtk-doc
make
sudo make install
cd ..
cd gst-plugins-base
git checkout $BRANCH
./autogen.sh --disable-gtk-doc
make
sudo make install
cd ..
cd gst-plugins-good
git checkout $BRANCH
./autogen.sh --disable-gtk-doc
make
sudo make install
cd ..
cd gst-plugins-bad
git checkout $BRANCH
./autogen.sh --disable-gtk-doc --enable-orc
make
sudo make install
cd ..
cd gst-plugins-ugly
git checkout $BRANCH
./autogen.sh --disable-gtk-doc --enable-orc
make
sudo make install
cd ..
cd gst-libav
git checkout $BRANCH
./autogen.sh --disable-gtk-doc --enable-orc
make
sudo make install
cd ..
sudo ldconfig
После установки я понял, что это не версия (1.12.5), в которой я нуждаюсь. В этой точке gst-launch-1.0 --gst-version
возвращенный GStreamer Core Library version 1.12.5
. Так, я пытался удалить все:
sudo apt-get remove *gstreamer*
sudo apt-get purge *gstreamer*
После выполнения этих команд, dpkg -l|grep gstreamer
возвраты никакие результаты, который ожидается. Я продолжил устанавливать предыдущую gstreamer версию, которую я имел, который является 1.83.x, с помощью команд в gstreamer веб-сайте. Однако выполнение gst-launch-1.0 --gst-version
все еще возвраты GStreamer Core Library version 1.12.5
.
Я думаю, что это имеет отношение sudo ldconfig
команда в первом сценарии установки. Я требую руководства при отмене тех изменений.
Edit1: После удаления большого количества файлов и каталогов, моего вывода для gst-launch-1.0 --gst-version
измененный на: GStreamer Core Library version 1.8.3.
Однако gst-inspect-1.0 --version
дает вывод:
gst-inspect-1.0 version 1.12.5
GStreamer 1.8.3
Unknown package origin
Как я могу зафиксировать версию gst-inspect
?
Попытка проверить:
which gst-inspect-1.0
which gst-launch-1.0
Местоположения для обоих должны быть равными.
У меня была подобная проблема, но sudo ldconfig
после sudo make install
зафиксированный это. Заметьте это при определении export LD_LIBRARY_PATH=/usr/local/lib/
(как в Вашем сценарии), вызывает команду sudo make install
создать *.so файлы для gstreamer в /usr/local/lib/
, но gst-inspect-1.0, gst-launch-1.0 используют двоичные файлы от/usr/lib (не локальный). Поэтому просто синхронизируйте/usr/lib, мусорное ведро с/usr/local/lib, мусорное ведро (символьные ссылки или копия). В моем случае ldconfig после каждого sudo делают решенную проблему установки.