Ric*_*rdo 5 decode gstreamer gst-launch
我正在寻找使用 gst-launch-1.0 解码和解复用 mp4 文件。而不是使用 bin - decodebin - 我宁愿使用单独的元素。不幸的是,我没有找到这个。
我的问题很简单:decodebin 中包含哪些基本元素?
如果你能指引我到一个地方,我可以在那里找到其他垃圾箱或自动插拔器的组合,那也不错。
gst-launch-1.0.dot每次管道改变状态时都可以创建带有管道图的文件。要启用此功能,请将GST_DEBUG_DUMP_DOT_DIR变量设置为保存生成的文件的路径。在此目录gst-launch-1.0中将创建类似0.00.00.069441527-gst-launch.READY_PAUSED.dot. 然后,您可以使用from package将它们转换为.png文件。要转换一个文件,请使用以下命令:dotghraphviz
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
您可以在此处找到更多详细信息: 如何生成 Gstreamer 管道图(图)
该decodebin会使用您的GStreamer安装所有可用的元素。请记住,您可以decodebin使用 verbose启动管道-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
Run Code Online (Sandbox Code Playgroud)
观察输出,我可以得出结论,生成的管道是:
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
Run Code Online (Sandbox Code Playgroud)
gstreamer 的播放组件可在此处获得。该playbin元素将为您提供来自 uri 输入的完整管道(视频、音频等)。
例如,如果你甚至不知道你有什么样的来源,你可以使用playbinelement:
gst-launch-1.0 playbin uri=file:///home/usuario/GST_/BigBuckBunny_320x180.mp4 -v
Run Code Online (Sandbox Code Playgroud)
这将自动播放文件(如果可能),详细输出将显示使用的插件和状态信息。
| 归档时间: |
|
| 查看次数: |
5172 次 |
| 最近记录: |