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

Мне нужно преобразовать видеофайл из контейнера Matroska в контейнер mp4. Файл Matroska содержит одну видеодорожку h.264 и одну звуковую дорожку AC3. Должно быть возможно сделать это без потерь, но как это сделать с помощью собственных инструментов Ubuntu?

Транскодирование не является вариантом.

1
задан 26 June 2014 в 17:33

5 ответов

Получить необходимое программное обеспечение

sudo apt-get install gpac mkvtoolnix

Извлечь видео и аудио из файла matroska

Сначала вам нужно проверить, какие дорожки содержит файл matroska с

[ f5]

File 'video.mkv': container: Matroska
Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_AC3)

Затем извлеките видео и аудио в соответствии с их дорожками с помощью:

mkvextract tracks video.mkv 1:video.h264 2:audio.ac3

Extracting track 1 with the CodecID 'V_MPEG4/ISO/AVC' to the file 'video.h264'. Container format: AVC/h.264 elementary stream
Extracting track 2 with the CodecID 'A_AC3' to the file 'audio.ac3'. Container format: Dolby Digital (AC3)
Progress: 100%

Мукс аудио и видео в mp4-содержащий

MP4Box -fps 24 -add video.h264 -add audio.ac3 video.mp4

AVC-H264 import - frame size 1280 x 720 at 24.000 FPS
Import results: 31671 samples - Slices: 5672 I 125048 P 122648 B - 32288 SEI - 4936 IDR
AC3 import - sample rate 48000 - 6 channels
Saving to video.mp4: 0.500 secs Interleaving

Мне пришлось добавить параметр -fps 24, потому что MP4Box не обнаружил видео fps правильно.

Теперь у вас есть ремуксированные потоки из контейнера matroska в контейнер mp4, не теряя при этом никакого качества.

EDIT : MP4 официально не поддерживает аудио AC3, поэтому звуковая дорожка должна быть преобразована в поддерживаемый формат (например, AAC, MP3), если вы хотите, чтобы файл воспроизводился с чем-то другим, чем VLC.

24
ответ дан 25 May 2018 в 20:07

Вы можете использовать Avidemux

У этого есть хороший интерфейс GUI.

При преобразовании из mkv в mp4 он не перекодирован.

(в течение 60 минут).

sudo apt-get install avidemux Откройте файл mkv в avidemux. При появлении запроса выберите безопасный режим. Оставьте видео как копию. Выберите «Файл-> Свойства». Проверьте, является ли аудиокодек aac. Если аудиокодек НЕ aac, выберите aac(faac). В противном случае оставьте его как copy. (Иногда с использованием этой опции звук может быть не синхронизирован или искажен, в этом случае выберите aac(faac).) Выберите mp4 для формата. Выберите сохранение, выберите местоположение и введите имя файла с .mp4 в качестве расширения.

Примечание: Иногда (~ 10% шанс) он может выйти из строя. Затем используйте handbrake(re-encode).

Примечание: есть две ссылки, которые помогут вам:

http://www.ubuntugeek.com/avidemux-free -video-editor-designed-for-simple-cutting-filtering-and-encoding-tasks.html

http://www.ubuntugeek.com/avidemux-free-video-editor- разработанный в обмен на простой резки фильтрации-и-кодирования-tasks.html

12
ответ дан 25 May 2018 в 20:07
  • 1
    Работал как шарм. У меня были проблемы с синхронизацией после принятого ответа, но не с этим. – moraes 28 October 2012 в 19:29
  • 2
    работает очень хорошо – psychok7 8 January 2017 в 21:09

Вы можете использовать мое приложение, . Просто оставьте «copy» для обоих проверенных потоков (без перекодирования) и поместите .mp4 в имя выходного файла. Вот и все. Очень просто. http://dmsimpleapps.blogspot.ro/2014/04/dmmediaconverter.html

2
ответ дан 25 May 2018 в 20:07

Поскольку MPEG Part 14 поддерживает h.264 и AC3 изначально без транскодирования, вы можете просто переименовать файл, чтобы он имел расширение .mp4 вместо расширения .mkv.

-2
ответ дан 25 May 2018 в 20:07
  • 1
    Он может поддерживать кодеки внутри, но это не значит, что он будет работать в приложении, которое не понимает Matroska. Это будет работать, только если приложение поддерживает Matroska и смотрит на магический номер вместо расширения. – Arda Xi 20 September 2015 в 17:58
  • 2
    Переименование файла не будет конвертировать формат контейнера, и это может смутить приложение (и пользователей). Как сказал @ArdaXi, приложение все равно должно будет поддержать Matroska, чтобы играть в нее. – MestreLion 13 February 2016 в 16:37

Вы можете попробовать HANDBRAKE, добавив его PPA, введя этот код в терминал:

sudo add-apt-repository ppa:stebbins/handbrake-releases
-2
ответ дан 25 May 2018 в 20:07
  • 1
    Кажется, это видео-транскодер. Я не хочу снова сжимать видеодорожку, поскольку он уже находится в формате h.264. – Seppo Erviälä 25 June 2011 в 14:09
  • 2
    Handbrake - отличный транскодер, но я бы никогда не использовал его для преобразования формата файла. – CyberSkull 15 March 2012 в 19:39
  • 3
    Я очень люблю Handbreak, но, к сожалению, он работает без потерь для аудио (и субтитров). Я не мог найти способ скопировать видео без его перекодирования, и OP специально запросил преобразование формата без потерь. – MestreLion 4 October 2012 в 03:10

Другие вопросы по тегам:

Похожие вопросы: