decodebin中包含哪些元素?

时间:2017-02-17 11:56:35

标签: gstreamer decode gst-launch

我正在寻找使用gst-launch-1.0解码和解压缩mp4文件。而不是使用bin - decodebin - 我宁愿使用单独的元素。不幸的是,我没有找到这个。

我的问题很简单:decodebin中包含哪些基本元素?

如果你可以指引我到一个我可以找到其他箱子或自动插件组成的地方,那也很好。

2 个答案:

答案 0 :(得分:3)

decodebin将使用gstreamer安装中的所有可用元素。请记住,您可以使用decodebin启动管道并使用详细-v并猜测decodebin创建的元素。例如,在下一个成功播放mp4文件(视频和音频)的管道中:

gst-launch-1.0 -v filesrc location=/home/usuario/GST_/BigBuckBunny_320x180.mp4 ! queue ! qtdemux name=demuxer demuxer.video_0 ! queue ! decodebin ! videoconvert ! autovideosink demuxer.audio_0 ! queue ! decodebin ! audioconvert ! autoaudiosink

观察输出我可以得出结论:生成的管道是:

gst-launch-1.0 -v filesrc location=/home/usuario/GST_/BigBuckBunny_320x180.mp4 ! queue ! qtdemux name=demuxer demuxer.video_0 ! queue ! h264parse ! avdec_h264 ! videoconvert ! autovideosink demuxer.audio_0 ! queue ! aacparse ! avdec_aac ! audioconvert ! autoaudiosink

gstreamer的播放组件可用hereplaybin元素将从uri输入中为您提供完整的管道(视频,音频等...)。

例如,如果您甚至不知道自己拥有什么类型的来源,则可以使用playbin元素:

gst-launch-1.0 playbin uri=file:///home/usuario/GST_/BigBuckBunny_320x180.mp4 -v

这将自动播放文件(如果可能),详细输出将显示已使用的插件和状态信息。

答案 1 :(得分:0)

每次管道更改状态时,

gst-launch-1.0都可以使用管道图创建.dot文件。要启用此功能,请将GST_DEBUG_DUMP_DOT_DIR变量设置为应保存生成文件的路径。在此目录gst-launch-1.0中将创建0.00.00.069441527-gst-launch.READY_PAUSED.dot之类的文件。然后,您可以使用.png包中的dot将其转换为ghraphviz个文件。要转换一个文件,请使用以下命令:

dot -Tpng 0.00.00.069441527-gst-launch.READY_PAUSED.dot -o0.00.00.069441527-gst-launch.READY_PAUSED.png

您还可以使用bash shell中的以下命令将它们全部转换为:

ls -1 *.dot | xargs -I{} dot -Tpng {} -o{}.png

您可以在此处找到更多详细信息: How to generate a Gstreamer pipeline diagram (graph)