“你的GStreamer安装缺少一个插件。” (GstURIDecodeBin)

时间:2013-06-13 20:12:28

标签: c gstreamer

我有:gstreamer-sdk,gstreamer-ffmpeg,gstreamer-plugins-好,坏,丑。我在谷歌搜索到这个错误,并没有找到任何相关的。我试着找出这个错误,我有点疯狂:

Error received from element decodebin20: Your GStreamer installation is missing a plug-in.
Debugging information: gstdecodebin2.c(3576): gst_decode_bin_expose (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20:
no suitable plugins found

当我运行我的gstreamer程序时它会抛出。关于为什么的任何想法?

4 个答案:

答案 0 :(得分:1)

你可能根本没有丢失任何插件。

此错误可能只是一个未链接的管道。

Playbin2(decodebin2)进行了一些更改,使其无法自动链接正式工作的某些管道,例如将解码器转码为编码器。在我的例子中,显式添加它用于添加的ffdec_h264会自动修复它。

当它不起作用时,依赖Playbin2会非常令人沮丧。使用下面的设置,您可以在不同的构造阶段创建管道的.png图。它非常有助于找到它没有连接的原因。

export GST_DEBUG_DUMP_DOT_DIR=~/gstdump

for f in $GST_DEBUG_DUMP_DOT_DIR/*.dot ; do dot -T png $f >$f.png; done

此工具还可让您从中学习如何链接管道,并将其替换为更容易调试且不太可能中断的显式管道。

答案 1 :(得分:0)

  1. 请尝试使用gst-inspect命令查明环境是否正确设置。
  2. 使用gst-launch -v playbin2 uri = your_uri_here查找更多信息以跟踪此问题。

答案 2 :(得分:0)

uridecodebin是“基础”插件集的一部分,因此请确保您拥有gstreamer-plugins-base

另一件需要关注的事情是LD_LIBRARY_PATHGST_PLUGIN_PATH。如果他们指向不同的GStreamer安装,可能会导致这样的问题。此外,如果您没有使用软件包管理器安装GStreamer,您可能需要将LD_LIBRARY_PATH设置为指向它(或者更好的是,使用软件包管理器安装它)。

答案 3 :(得分:0)

在Fedora中,我解决了此问题,删除了gstreamer1-vaapi.x86_64

sudo yum remove gstreamer1-vaapi.x86_64