MKV в MP4 (AAC и TrueHD Atmos)

Вопрос или проблема

Я использую следующий синтаксис для преобразования MKV в MP4 с AAC 6ch и DTS-HD MA 8ch без проблем.

ffmpeg -i "Movie (2022).mkv" -c copy -map 0:? -strict -2 "Movie (2022).mp4"

Какой синтаксис позволит использовать AAC 6ch и TrueHD Atmos 8ch?

Вы можете использовать ffmpeg для копирования AAC из mkv, но не для потоков TrueHD в mp4. Вы можете добавить потоки TrueHD в mp4 позже, используя mp4box. Этап:

  1. Я рекомендую извлечь все потоки с помощью mkvcleaver из mkv.
  2. Смонтировать видео потоки и потоки aac/dts, используя ffmpeg или лучше dd+ (ec3,ac3,aac) с помощью mp4muxer в mp4, dolby mp4muxer с github необходим для поддержания обнаружения Dolby Vision / Dolby Atmos.
  3. Смонтировать добавленные файлы с помощью mp4box для без потерь субтитров, таких как truehd (без ac3 core) и некоторые внутренние субтитры SRT с помощью mp4box.

Этапы 2,3 могут быть выполнены автоматически с помощью Dovi_script (mp4box и mp4muxer включены) https://drive.google.com/drive/u/0/folders/1X4WmMsaBO6a4OIY_8iFjeBL2KFZWTqKr Выберите вариант 8-1-1

Этапы 2,3 вручную с использованием mp4muxer и mp4box https://github.com/DolbyLaboratories/dlb_mp4base/tree/master/bin

Пример для потоков без Dolby Vision и dolby atmos truehd:

mp4muxer.exe -i Dolby_Conductor_Lossless_ATMOS-thedigitaltheater_Track01.h264 -i Dolby_Conductor_Lossless_ATMOS-thedigitaltheater_Track02.ac3  -o Dolby_Conductor_Lossless_ATMOS-thedigitaltheater.mp4

MP4Box.exe -add Dolby_Conductor_Lossless_ATMOS-thedigitaltheater.mp4:rate=0 -add dolby.ac3 -add "Dolby_Conductor_Lossless_ATMOS-thedigitaltheater.mkv_ - 2 - TrueHD (Atmos), 7.1 channels, 48kHz.thd":disable  -brand mp42isom -ab dby1 -no-iod Dolby_Conductor_Lossless_ATMOS-thedigitaltheater_TrueHD_AC3.mp4

Для Dolby Vision вам нужна информация о профиле потоков (проверка с помощью mediainfo)

 --dv-profile <arg>                 = Устанавливает профиль Dolby Vision. Эта опция ОБЯЗАТЕЛЬНА для
                                      DoVi элементарный поток: допустимы следующие значения профиля:
                                      4 - dvhe.04, BL кодек: HEVC10; EL кодек: HEVC10; BL совместимость: SDR/HDR.
                                      5 - dvhe.05, BL кодек: HEVC10; EL кодек: N/A;    BL совместимость: Нет.
                                      7 - dvhe.07, BL кодек: HEVC10; EL кодек: HEVC10; BL совместимость: Blue-ray HDR10.
                                      8 - dvhe.08, BL кодек: HEVC10; EL кодек: N/A;    BL совместимость: SDR/HDR.
                                      9 - dvav.09, BL кодек: AVC;    EL кодек: N/A;    BL совместимость: SDR/HDR.
 --dv-bl-compatible-id <arg>        = Устанавливает совместимый ID базового слоя Dolby Vision, если индекс профиля равен 8, этот параметр должен быть установлен пользователем.
 --dv-bl-compatible-id 0 – отсутствие кросс-совместимости
 --dv-bl-compatible-id 1 – кросс-совместимость HDR10 (обычно используется этот)
 --dv-bl-compatible-id 2 – кросс-совместимость SDR
 --dv-bl-compatible-id 4 – кросс-совместимость HLG
 --dv-bl-compatible-id 6 – кросс-совместимость Blueray

Для профиля 7

mp4muxer -i P7_FEL_GIJoe_The_Rise_of_Cobra_Track01.h265 -i P7_FEL_GIJoe_The_Rise_of_Cobra_Track02.ec3 -o P7_FEL_GIJoe_The_Rise_of_Cobra.mp4 --dv-profile 7 --mpeg4-comp-brand mp42,iso6,isom,msdh,dby1 --overwrite

Для профиля 8

mp4muxer -i P81_GlassBlowing2_3840x2160@59_94fps_15200kbps_Track01.h265 -i P81_GlassBlowing2_3840x2160@59_94fps_15200kbps_Track02.ec3 -o P81_GlassBlowing2_3840x2160@59_94fps_15200kbps.mp4 --dv-profile 8 --dv-bl-compatible-id 1 --mpeg4-comp-brand mp42,iso6,isom,msdh,dby1 --overwrite

Ответ или решение

Конвертация видеофайлов с формата MKV в MP4 с сохранением качества звука может представлять собой сложную задачу, особенно если нужно обеспечить наличие нескольких звуковых дорожек с разными характеристиками, такими как AAC и TrueHD Atmos. Рассмотрим более подробно, как можно осуществить такую конвертацию, включая в процесс несколько этапов и дополнительные инструменты.

Теория

Формат MKV (Matroska) является контейнером, который поддерживает множество видео, аудио и субтитровых потоков. Он широко используется благодаря своей гибкости и поддержке различных форматов кодеков без потери качества.

MP4 (MPEG-4 Part 14) — тоже контейнер, но с более жесткими ограничениями по части поддерживаемых аудио и видео кодеков. К примеру, главный недостаток MP4 по сравнению с MKV заключается в ограниченной поддержке аудио формата TrueHD Atmos, который часто используется в высококачественных видеоматериалах. В то время как AAC прекрасно поддерживается в MP4, TrueHD Atmos требует особого подхода для своей интеграции.

Пример

На практике, первым шагом будет конвертация или трансформация аудио- и видеопотоков из MKV в MP4. Это включает в себя использование таких инструментов, как ffmpeg, mp4box и mp4muxer.

  1. Извлечение потоков: Для начала рекомендуется извлечь все потоки из MKV файла. Это можно сделать, используя инструмент mkvcleaver, который эффективно разбивает MKV на составляющие без потерь качества.

  2. Конвертация и муксирование потоков:
    Здесь используется ffmpeg для конвертации потока AAC в нужный формат. Однако для TrueHD Atmos есть определенные ограничения, поскольку MP4 формат не поддерживает его наравне с MKV.

    ffmpeg -i "Movie (2022).mkv" -c:a:0 aac -b:a 384k -c:v copy -map 0 "Movie_AAC.mp4"
  3. Упаковка TrueHD Atmos:
    TrueHD можно добавить к MP4, используя mp4box, но нет прямой поддержки этого формата, что требует использования дополнительных программ, таких как mp4muxer (доступный на GitHub от Dolby Laboratories). Этот инструмент поддерживает спецификации Dolby для атмосферного звучания и 3D.

  4. Дополнительные инструменты для автоматизации:
    Dovi_script является удобной заготовкой, включающей как mp4box, так и mp4muxer, что позволяет автоматизировать часть процесса.

Применение

Используя инструменты, описанные выше, можно реализовать полный процесс конвертации следующим образом:

  • Извлечение потоков с помощью mkvcleaver: Это первый шаг, на котором вы извлекаете видеопоток, аудиопотоки AAC и TrueHD раздельно.

  • Конвертация видео и установка AAC в контейнер mp4 с ffmpeg:

    ffmpeg -i "Movie (2022).mkv" -c:v copy -c:a aac -b:a 320k -map 0 "Movie_Processed.mp4"
  • TrueHD и Dolby Atmos в MP4 с использованием mp4muxer: Этот инструмент дополняет работу ffmpeg, обеспечивая качества Dolby в mp4.

    mp4muxer -i audio_truehd.thd -i Movie_Processed.mp4 -o Final_Movie.mp4
  • Добавление метаданных и финальная упаковка с использованием mp4box:

    MP4Box -add Final_Movie.mp4:rate=0 -brand mp42isom -ab dby1 -no-iod Final_Movie_TrueHD.mp4

Заключение

Процесс конвертации MKV в MP4, поддерживающий многоканальное AAC и TrueHD Atmos, требует понимания ограничений контейнера MP4 и использования нескольких инструментов, чтобы сохранить качество звука и видео. Использование таких программ как ffmpeg, mp4box, и mp4muxer в сочетании обеспечивает сохранение всех необходимых характеристик аудио и приведение материала в соответствие с требованиями Dolby Atmos.

Важно учитывать, что данная операция может обрести дополнительные сложности в зависимости от конкретных характеристик исходного файла (например, наличие Dolby Vision для видео), что потребует применения дополнительных опций и настроек в используемых инструментах для достижения наилучшего результата.

Оцените материал
Добавить комментарий

Капча загружается...