Мультиплексирование gstreamer с x264enc

Я пытаюсь преобразовать DVD в файл mkv с помощью gstreamer. Я использую конвейер:

gst-launch -evv multifilesrc location="VTS_01_%d.VOB" index=1 ! dvddemux name=demuxer \
 matroskamux name=mux ! filesink location=test.mkv \
 demuxer.current_video ! queue ! mpeg2dec ! x264enc ! mux. \
 demuxer.current_audio ! queue ! ffdec_ac3 ! lamemp3enc ! mux.

К сожалению, пайплайн дальше прероллинга не идет. Когда я заменяю x264enc, например, на ffenc_mpeg4, все работает нормально.


person Paul Praet    schedule 24.10.2012    source источник


Ответы (1)


Это может работать:

gst-launch filesrc location=file.vob \
  ! queue \
  ! dvddemux name=demuxer matroskamux name=mux \
  ! queue \
  ! filesink location=test.mkv demuxer.current_video\
  ! queue \
  ! ffdec_mpeg2video \
  ! ffdeinterlace  \
  ! x264enc \
  ! 'video/x-h264, width=720, height=576, framerate=25/1' \
  ! mux.  demuxer.current_audio \
  ! queue max-size-bytes=0 max-size-buffers=0 max-size-time=10000000000 \
  ! ffdec_ac3 \
  ! audioconvert \
  ! lamemp3enc \
  ! mux.

Поток байтов должен быть 0 - извините за это ранее

Вам нужно дать шапки видео после x264enc и вам нужно увеличить лимиты на аудио очередь, чтобы справиться с задержкой в ​​​​x264enc

Эти два изменения запустили конвейер на моем конце.

Деинтерлейсер необязателен, но желателен для чересстрочного контента.

person av501    schedule 25.10.2012
comment
av501, вроде работает. Большое спасибо, чувак! Теперь мой вопрос: как вы это поняли? Как вы отлаживаете такие вещи? Как можно проанализировать, почему конвейер не запускается...? Кстати: я вижу, вы также добавили audioconvert. Это необходимо? - person Paul Praet; 26.10.2012
comment
Добавление GST_DEBUG=‹one of 2,3,4,5,6› перед вашей конвейерной командой непосредственно перед gst-launch приведет к печати операторов отладки и расскажет вам о многих вещах. Затем вам нужно сканировать на наличие ошибок, предупреждений, предложений, таких как не может ... или несовместимо и т. д. Аудиоконвертация может не понадобиться, если вывод декодера ac3 совместим с кодировщиком lame, но может потребоваться для файлов, формат которых несовместим. - person av501; 26.10.2012