用于在windows上播放mp4文件的gstreamer管道
视频文件与下面的管道完美配合用于在windows上播放mp4文件的gstreamer管道,gstreamer,gst-launch,Gstreamer,Gst Launch,视频文件与下面的管道完美配合 .\gst-launch-1.0.exe playbin uri=file:///C:\\Users\\naseeb\\Downloads\\Gabbroo.mp4 但是,我想自己使用demux、解码器和sink创建管道。 我在管道下面创建了 .\gst-launch-1.0.exe filesrc location=C:\\Users\\naseeb\\Downloads\\Gabbroo.mp4 ! qtdemux name=demux demux. ! qu
.\gst-launch-1.0.exe playbin uri=file:///C:\\Users\\naseeb\\Downloads\\Gabbroo.mp4
但是,我想自己使用demux、解码器和sink创建管道。
我在管道下面创建了
.\gst-launch-1.0.exe filesrc location=C:\\Users\\naseeb\\Downloads\\Gabbroo.mp4 ! qtdemux name=demux demux. ! queue ! mad ! audioconvert ! audioresample ! autoaudiosink demux. ! queue ! avdec_h264 ! autovideosink
但它不工作且失败,错误如下:
警告:从元素/GstPipeline:pipeline0/GstQTDemux:demux:Delayed linking>失败。
其他调试信息:
./grammar.y(506):gst_parse_no_more_pads():/GstPipeline:pipeline0/GstQTDemux:demux:
未能延迟将名为demux的GstQTDemux的某个pad链接到名为queue0的GstQueue的某个pad
重新分配延迟。。。
重新分配延迟。。。
错误:来自元素/GstPipeline:pipeline0/GstQTDemux:demux:内部数据流错误。
其他调试信息:
qtdemux.c(5850):gst_qtdemux_loop():/GstPipeline:pipeline0/GstQTDemux:demux:
流停止,原因未协商(-4)
我已经搜索了很多,但找不到我在管道中缺少的使其工作的元素
请提出一些解决办法
mpegaudioparse!mad
和h264parse!avdec_h264
自动视频转换!自动视频接收器
现在我得到错误:其他调试信息:./grammar.y(506):gst\u parse\u no\u more\u pads():/GstPipeline:pipeline0/GstQTDemux:demux:延迟链接名为demux的GstQTDemux的某个pad到名为queue0的GstQueue的某个pad的失败重新分发延迟…您确定该文件包含您试图解码的流吗?请尝试
gst-discoverer-1.0 mp4file
。谢谢Florian。gst发现者告诉我mp4文件包含AAC音频。我使用了正确的音频解析器和解码器,现在可以正常播放文件了。我使用命令:。\gst-launch-1.0.exe filesrc location=C:\\Users\\naseeb\\Downloads\\gabbro.mp4!qtdemux name=demux demux!队列啊!avdec_aac!音频转换!音频重采样!自动音频接收器分接器!队列h264parse!avdec_h264!自动视频转换!autovideosinkgst\u parse\u no\u more\u pads()
找到任何修复方法?