decodebin 中包含哪些元素?
Which elements are contained in decodebin?
我想用 gst-launch-1.0 解码和解复用一个 mp4 文件。而不是使用 bin - decodebin - 我宁愿使用单独的元素。很遗憾,我没有找到这个。
我的问题很简单:decodebin中包含哪些基本元素?
如果你能带我去一个地方,在那里我可以找到其他垃圾箱或自动插头的组成,那也很好。
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 的播放组件可用here。 playbin
元素将为您提供来自 uri 输入的完整管道(视频、音频等...)。
例如,如果您连自己的来源是什么都不知道,可以使用playbin
元素:
gst-launch-1.0 playbin uri=file:///home/usuario/GST_/BigBuckBunny_320x180.mp4 -v
这将自动播放文件(如果可能),详细输出将显示使用的插件和状态信息。
gst-launch-1.0
可以创建 .dot
每次管道改变状态时的管道图文件。要启用此功能,请将 GST_DEBUG_DUMP_DOT_DIR
变量设置为应保存生成的文件的路径。在此目录中 gst-launch-1.0
将创建类似 0.00.00.069441527-gst-launch.READY_PAUSED.dot
的文件。然后,您可以使用 ghraphviz
包中的 dot
将它们转换为 .png
文件。要转换一个文件,请使用以下命令:
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)
我想用 gst-launch-1.0 解码和解复用一个 mp4 文件。而不是使用 bin - decodebin - 我宁愿使用单独的元素。很遗憾,我没有找到这个。
我的问题很简单:decodebin中包含哪些基本元素?
如果你能带我去一个地方,在那里我可以找到其他垃圾箱或自动插头的组成,那也很好。
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 的播放组件可用here。 playbin
元素将为您提供来自 uri 输入的完整管道(视频、音频等...)。
例如,如果您连自己的来源是什么都不知道,可以使用playbin
元素:
gst-launch-1.0 playbin uri=file:///home/usuario/GST_/BigBuckBunny_320x180.mp4 -v
这将自动播放文件(如果可能),详细输出将显示使用的插件和状态信息。
gst-launch-1.0
可以创建 .dot
每次管道改变状态时的管道图文件。要启用此功能,请将 GST_DEBUG_DUMP_DOT_DIR
变量设置为应保存生成的文件的路径。在此目录中 gst-launch-1.0
将创建类似 0.00.00.069441527-gst-launch.READY_PAUSED.dot
的文件。然后,您可以使用 ghraphviz
包中的 dot
将它们转换为 .png
文件。要转换一个文件,请使用以下命令:
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)