Возможно, самым простым инструментом для этого является ffmpeg
, или avconv
из libav-tools
пакет. Libav - это форк FFmpeg, на который Ubuntu переключалась в течение нескольких лет до Ubuntu 15.04. Это один из бэкендов для многих инструментов графического интерфейса, упомянутых в других ответах.
Смена контейнера без повторного размещения содержимого не может быть проще:
ffmpeg -i input.mkv -codec copy output.mp4
Он автоматически определяет преобразование контейнера Matroska в MP4 на основе входных / выходных имен файлов.
-codec copy
поток копирует или "повторно мультиплексирует" потоки с входа на выход без перекодирования. Думайте об этом как о копировании и вставке.Поведение выбора потока по умолчанию заключается в выборе только одного потока для каждого типа потока. Например, если ваш входной сигнал содержит два видеопотока и один аудиопоток, то будет выбран только видеопоток с наибольшим размером кадра. Добавь
-map 0
если вы хотите выбрать все потоки из входных данных.Некоторые контейнеры могут не поддерживать некоторые форматы. Так что проверьте, выбран ли ваш контейнер формат, будь то
mkv
,mp4
или дажеavi
имеет поддержку для всех содержание в ваших файлах (видео, аудио, субтитры, данные и т.д.). Например,mp4
не поддерживает субтитры SubRip (.srt
файлы).