我正在使用Anaconda Python发行版运行Ubuntu 16.04。我使用Synaptic安装了gstreamer-1.0库。我想用gst-inspect-1.0 fakesrc
测试我的安装(正如docs中所述),但我收到以下错误:
No such element or plugin 'fakesrc'
所以,我尝试输入gst-inspect-1.0
。这告诉我,似乎没有一个插件成功安装:
staticelements: bin: Generic bin
staticelements: pipeline: Pipeline object
Total count: 1 plugin, 2 features
我不明白为什么没有找到插件,因为我已经通过Synaptic安装了库:libgstreamer-plugins-bad1.0
,libgstreamer-plugins-base1.0
,libgstreamer-plugins-good1.0
,libgstreamer-1.0-0
与所有-dev
版本一样。我还确保删除了旧的gstreamer0.10*
插件,这样他们就不会干涉。
最后,我检查了pkg-config --cflags --libs gstreamer-1.0
的输出并注意到可能导致问题的原因:
-pthread -I/home/guel/anaconda2/include/gstreamer-1.0
-I/home/guel/anaconda2/lib/gstreamer-1.0/include
-I/home/guel/anaconda2/include/glib-2.0
-I/home/guel/anaconda2/lib/glib-2.0/include
-I/home/guel/anaconda2/include
-L/home/guel/anaconda2/lib -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0
看起来所需的库位于Anaconda目录中。这可能会以某种方式阻止gst-inspect-1.0
二进制文件(在/usr/bin
中)链接到这些库吗?我的PKG_CONFIG_PATH
包含目录/home/guel/anaconda2/lib/pkgconfig
。
抱歉,如果这个问题太天真了;我是pkg-config
的初学者并且链接了库。
答案 0 :(得分:0)
我首先意识到我已经修改了我PKG_CONFIG_PATH
文件中的.bashrc
以便为ffmpeg和anaconda等库添加一些自定义pkgconfig
路径(我添加了)例如/opt/ffmpeg/lib/pkgconfig
)。但是,我忘记在PKG_CONFIG_PATH
中保留默认路径,并使用export
命令用新的路径覆盖变量。
答案here帮助我找出默认情况下pkg-config搜索已安装库的位置。默认路径包括/usr/lib/x86_64-linux-gnu/pkgconfig
目录,其中存在所有gstreamer-*-1.0.pc
。因此,只需要保留pkg-config的默认搜索路径,以便系统可以找到gstreamer插件。