0

我在 0.10 中有一个有效的 gst-launch 管道:

gst-launch-0.10 \
     filesrc location=c:/prog4.mpg \
     ! tsdemux name=dem \
     ! queue \
     ! ac3parse \
     ! a52dec \
     ! audioconvert \
     ! audioresample \
     ! autoaudiosink \
     dem. \
     ! queue \
     ! mpegvideoparse \
     ! mpeg2dec \
     ! autovideosink

但是 1.0 版中的相同管道会出现错误:

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
ERROR: from element /GstPipeline:pipeline0/GstTSDemux:dem: Internal data stream error.
Additional debug info:
mpegtsbase.c(1639): mpegts_base_loop (): /GstPipeline:pipeline0/GstTSDemux:dem:
stream stopped, reason not-negotiated
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

我也尝试使用 playbin,奇怪的是,它给出了同样的错误。我该如何解决?

编辑:好的,所以我发现是视频部分造成了麻烦。如果我隔离音频和视频部分,音频工作正常!正是这一点引起了麻烦:

gst-launch-1.0 filesrc location=/home/rubndsouza/prog4.mpg \
! tsdemux ! queue ! mpegvideoparse ! mpeg2dec ! autovideosink

任何帮助,将不胜感激。谢谢!

4

1 回答 1

1

我认为这在较新版本的 gstreamer 中已修复。在我的 1.2.3 版本中,我至少无法重现这一点。

于 2014-02-20T13:35:40.617 回答