我正在尝试使用gstreamer播放本地mpeg2 TS文件:
gst-launch filesrc location=open_season.mpg ! mpeg2dec ! xvimagesink
第一帧显示为大块颜色,然后停止。关于我在这里做错了什么的想法?是否需要以不同的方式处理-TS文件?
这是日志:
$ gst-launch filesrc location=open_season.mpg ! mpeg2dec ! xvimagesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ....
WARNING: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Internal data flow problem..
Additional debug info:.
gstbasesink.c(3492): gst_base_sink_chain_unlocked (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0:
Received buffer without a new-segment. Assuming timestamps start from 0.
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 6866757291 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ..
答案 0 :(得分:3)
我认为首先应该首先尝试在playbin2的帮助下播放该文件。如果你能够播放它,那么你应该使用decodebin2,调试它的输出并相应地构建你的管道。
playbin2的语法如下: -
gst-launch playbin2 uri = file:///home/user1031040/Desktop/file.mpg
decodebin2的语法如下: -
gst-launch filesrc location = file.mpg ! decodebin2 ! autovideosink