Gst-inspect-1.0找不到Gstreamer插件

时间:2017-04-12 15:22:21

标签: gstreamer pkg-config

我正在使用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.0libgstreamer-plugins-base1.0libgstreamer-plugins-good1.0libgstreamer-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的初学者并且链接了库。

1 个答案:

答案 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插件。