2010-06-14 5 views
7

Это работает:Почему этот газовый трубопровод gstreamer?

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

, а затем киосков на неопределенный срок.

Какая уловка, чтобы получить версию с прокачкой декодебина?

ответ

3

Ага ... это делает то, что я хочу:

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' 

в видео части трубопровода все работы, как и ожидалось.

+2

При мультиплексировании или демультиплексировании требуется наличие буферов. Вот где входят элементы очереди. Вы можете настроить его еще дальше, указав количество буферов в очереди. –

+0

Спасибо за подсказку. Оказывается, в то время как вышеприведенный конвейер работает для видео 640x480, мне пришлось поднять максимальные байты конечной видео очереди, чтобы он не зашел в тупик с содержимым 1280x720. – timday

0

Ваш трубопровод кажется правильным. однако gst-launch ограниченный инструмент - я бы предложил кодировать конвейер в python или ruby ​​для лучшей отладки.

Смежные вопросы