3

我有:gstreamer-sdk、gstreamer-ffmpeg、gstreamer-plugins-good、bad 和丑陋。我到处搜索这个错误,但没有发现任何相关内容。我有点疯狂地试图找出这个错误:

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

4 回答 4

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

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

于 2014-01-12T08:53:28.493 回答
1

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

sudo yum remove gstreamer1-vaapi.x86_64
于 2016-03-19T01:22:27.273 回答
0
  1. 请尝试使用 gst-inspect 命令来确定环境是否设置正确。
  2. 使用 gst-launch -v playbin2 uri=your_uri_here 查找更多信息以跟踪此问题。
于 2013-06-14T02:35:46.050 回答
0

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

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

于 2013-06-14T02:40:53.140 回答