0

私はこれでgstreamerでローカルmpeg2TSファイルを再生しようとしています:

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

1 に答える 1

3

まず、playbin2を使用してファイルを再生してみてください。それを再生できる場合は、decodebin2を使用し、その出力をデバッグして、それに応じてパイプラインを構築する必要があります。

playbin2の構文は次のとおりです:-

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

decodebin2の構文は次のとおりです。-

gst-launch filesrc location = file.mpg ! decodebin2 ! autovideosink
于 2011-11-29T06:26:22.743 に答える