GStreamer: играть в mpeg2 - PullRequest
       41

GStreamer: играть в mpeg2

0 голосов
/ 21 октября 2011

Я пытаюсь воспроизвести локальный файл TS mpeg2 с помощью gstreamer с помощью:

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

1 Ответ

3 голосов
/ 29 ноября 2011

Я думаю, что сначала вы должны сначала попытаться воспроизвести файл с помощью playbin2.Если вы можете воспроизвести его, то вы должны использовать decodebin2, отладить его вывод и соответственно построить свой конвейер.

Синтаксис для playbin2 следующий: -

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

Синтаксис для decodebin2выглядит следующим образом: -

gst-launch filesrc location = file.mpg ! decodebin2 ! autovideosink
...