Как конвертировать файл .mkv в файл .mp4 без потерь?

Возможно, самым простым инструментом для этого является 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 файлы).