Проблема в том, что колодки video_00
и audio_00
были переименованы в video_0
и audio_0
. Это можно увидеть с помощью gst-inspect-1.0 matroskademux
, что означает, что формат для контактных площадок теперь читается как video_%u
. Обратите внимание, что некоторые страницы документации gstreamer не обновлены, чтобы отразить это.
Первая команда, MKV в MKV должна читать:
gst-launch-1.0 filesrc location=test.mkv ! matroskademux name=demux \
matroskamux name=mux ! filesink location=test2.mkv \
demux.video_0 ! queue ! mux.video_0 \
demux.audio_0 ! queue ! mux.audio_0
(Обратите внимание на добавленное queue
s)
Вторая команда, перекодирование аудио из MKV в MKV, должна выглядеть так:
gst-launch-1.0 -v filesrc location=test.mkv ! matroskademux name=demux \
matroskamux name=mux ! filesink location=test2.mkv \
demux.video_0 ! queue ! 'video/x-h264' ! h264parse ! mux. \
demux.audio_0 ! queue ! rawaudioparse ! audioconvert ! audioresample ! avenc_aac ! mux.
Тот же результат мог быть достигнут, если не указывать контактные площадки и используя колпачковые фильтры, если необходимо.
Спасибо go пользователю Флориану Цвочу за предоставленный рабочий конвейер.