2011-10-20 75 views
0

我试图发挥本地的MPEG2 TS文件在GStreamer与此:
的GStreamer:播放MPEG2

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 .. 

回答

3

我觉得首先你应该首先尝试播放的文件与playbin2的帮助。如果你能够播放它,那么你应该使用decodebin2,调试它的输出并相应地构建你的管线。

为playbin2的语法如下: -

gst-launch playbin2 uri = file:///home/user1031040/Desktop/file.mpg 

为decodebin2的语法如下: -

gst-launch filesrc location = file.mpg ! decodebin2 ! autovideosink 
相关问题