我正在遵循GStreamer基本教程。安装好的插件。教程2(包括使用autovideosink在C中构建管道)可以正常工作-因此autovideosink元素显然存在于应有的位置。但是,我试图从命令行使用autovideosink的教程10(GStreamer工具)不起作用。 (这是Ubuntu 16.04环境)
# any attempt to use autovideosink says no element
$ gst-inspect-1.0 autovideosink
No such element or plugin 'autovideosink'
# good plugins installed
$ dpkg -l | grep gstreamer1.0-plugins-good:amd64
ii gstreamer1.0-plugins-good:amd64 1.8.3-1ubuntu0.4 amd64 GStreamer plugins from the "good" set
# shared object file is present
$ locate libgstautodetect.so /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstautodetect.so
/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstautodetect.so
在Stackoverflow和其他地方搜索时,我看到人们问了同样的问题,但是这个问题没有得到回答。
答案 0 :(得分:0)
这是路径问题。
看到这个链接:
https://gstreamer.freedesktop.org/documentation/design/missing-plugins.html
要查看所需的路径(在我的情况下,自动视频接收器位于libgstautodetect.so中)
locate libgstautodetect.so /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstautodetect.so
应该看到:/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstautodetect.so
然后将其添加到gstreamer路径
export GST_PLUGIN_SYSTEM_PATH_1_0=$GST_PLUGIN_SYSTEM_PATH_1_0:/usr/lib/x86_64-linux-gnu/gstreamer-1.0
echo $GST_PLUGIN_SYSTEM_PATH_1_0
您应该看到::/usr/lib/x86_64-linux-gnu/gstreamer-1.0
现在就可以了:
gst-inspect-1.0 autovideosink