Я пытаюсь извлечь видео из файла mkv с помощью mkvextract. Есть ли способ извлечь аудио вместе с ним, чтобы в конечном видеофайле уже был звук, или аудио и видео придется извлекать отдельно и потом рекомбинировать?
решение1
Посмотри наруководство(выделено мной):
Эта программаизвлекает определенные частииз файла Matroska™ в другие полезные форматы. Первый аргумент, mode, сообщает mkvextract(1), что извлекать. В настоящее время поддерживается извлечение дорожек, тегов, вложений, глав, CUE-листов и таймкодов.
Инструмент имеет только очень специфическое назначение, а именно извлечение частей из файла MKV. Это проще реализовать, чем одновременное объединение аудио и видео, что потребовало бы создания еще одного контейнера и синхронизации обоих потоков. Полагаю, это выходит далеко за рамки инструмента-экстрактора.
Если вы хотите провести рекомбинацию, вам понадобится другой инструмент, как указано в mkvextract
руководстве:
Видеодорожки H.264 / AVC записываются в элементарные потоки H.264, которые можно дополнительно обрабатывать, например, с помощью MP4Box™ из пакета GPAC™.
Конечно, можно использовать и ffmpeg. Если единственное, что вам нужно, это извлечь видео и звук из файла MKV, то вам просто нужно перекодировать файл во что-то другое. Например, следующая команда просто копирует содержимое потока как есть (видео egh264 и аудио AAC) и перекодирует MKV в MP4:
ffmpeg -i infile.mkv -vcodec copy -acodec copy outfile.mp4