这有效:

gst-launch-0.10 \
videotestsrc ! ffmpegcolorspace ! 'video/x-raw-yuv' ! mux. \
audiotestsrc ! audioconvert ! 'audio/x-raw-int,rate=44100,channels=1' ! mux. \
avimux name=mux ! filesink location=gst.avi

我可以让它运行一会儿,杀死它,然后totem gst.avi显示一个不错的带有声调的测试卡。

但是,尝试做一些更有用的事情,例如
gst-launch-0.10 \
filesrc location=MVI_2034.AVI ! decodebin name=dec \
dec. ! ffmpegcolorspace ! 'video/x-raw-yuv' ! mux. \
dec. ! audioconvert ! 'audio/x-raw-int,rate=44100,channels=1' ! mux. \
avimux name=mux ! filesink location=gst.avi

它只是显示
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...

然后无限期地停转。

通过bindbin滚动获取版本的技巧是什么?

最佳答案

啊哈...这就是我想要的:

gst-launch-0.10 \
filesrc location=MVI_2034.AVI ! decodebin name=dec \
dec. ! queue ! ffmpegcolorspace ! 'video/x-raw-yuv' ! queue ! mux. \
dec. ! queue ! audioconvert ! 'audio/x-raw-int,channels=1' ! audioresample ! 'audio/x-raw-int,rate=44100' ! queue ! mux. \
avimux name=mux ! filesink location=gst.avi

队列元素(前导和尾随)确实很关键。

进一步的实验添加了诸如videoflip或
videorate ! 'video/x-raw-yuv,framerate=25/1'

进入管道的视频部分,一切按预期进行。

09-29 22:05