我在 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
任何帮助,将不胜感激。谢谢!