Оглавление
- Почему саундтрек звучит не так как в фильме
- Как извлечь аудиодорожку из кино без изменения формата аудио и без перекодирования
- Как вырезать фрагмент из аудиодорожки без перекодирования
- Как конвертировать Dolby TrueHD + Dolby Atmos и Dolby Digital Plus + Dolby Atmos в FLAC
- Каким проигрывателем прослушать треки в формате Dolby TrueHD и Dolby Digital Plus
- Краткая справка о Dolby TrueHD, Dolby Digital (AC-3) и Dolby Digital Plus (E-AC-3)
1. Почему саундтрек звучит не так как в фильме
Возможно у вас бывало такое: услышали в фильме хорошую песню или музыкальную тему и захотели это сохранить. Ну и собственно сохранили: вырезали из звуковой дорожки нужный фрагмент, конвертировали в удобный аудио формат, но при проигрывании получается очень плохой звук по сравнению с фильмом.
Иногда желаемые саундтреки к фильму можно найти отдельно, например, на YouTube’е, но их качество тоже не всегда такое как вы слышите в фильме. Бывает ситуации когда выложенные отдельно саундтреки почти не узнаваемы по сравнению с тем, как они слышны в фильме.
Если вам знакома такая ситуация, то эта инструкция именно для вас. Здесь будет показано, как извлечь аудио из фильма в идентичном качестве. Также будет показано как правильно конвертировать 6-канальный (5.1) и 8-канальный (7.1) звук в популярный аудио формат чтобы не ухудшить качество звука.
В этой инструкции на всех этапах мы будем использовать утилиту командной строки FFmpeg. Некоторые этапы можно выполнить с помощью программ с графическим интерфейсом, например, LossLessCut (делает работу хорошо) и Audacity (портит качество при экспорте если не углубляться в настройки), но вариант с использованием только FFmpeg мне нравится больше.
На всех этапах мы будем использовать lossless обработку файла. То есть это не скажется на качестве аудио и ускорит обработку поскольку нам не нужно перекодировать файл.
2. Как извлечь аудиодорожку из кино без изменения формата аудио и без перекодирования
Перейдите в папку с файлом и выполните следующую команду узнать формат аудио, а также посмотреть сколько там аудидорожек:
ffprobe -i 'INPUT.mkv'
Пример вывода:
Stream #0:1(chi): Audio: truehd (Dolby TrueHD + Dolby Atmos), 48000 Hz, 7.1, s32 (24 bit)
Metadata:
title : Dolby TrueHD/Atmos Audio / 7.1+11 Objects / 48 kHz / 4664 kbps / 24-bit
BPS : 4664196
DURATION : 02:05:54.959000000
NUMBER_OF_FRAMES: 9065950
NUMBER_OF_BYTES : 4404727010
_STATISTICS_WRITING_APP: mkvmerge v102.0 ('Little Houses') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2026-10-01 13:15:03
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:2(chi): Audio: eac3 (Dolby Digital Plus + Dolby Atmos), 48000 Hz, 5.1(side), fltp, 1024 kb/s
Metadata:
title : Dolby Digital Plus/Atmos Audio / 5.1+15 Objects / 48 kHz / 1024 kbps
BPS : 1024000
DURATION : 02:05:54.976000000
NUMBER_OF_FRAMES: 236093
NUMBER_OF_BYTES : 967036928
_STATISTICS_WRITING_APP: mkvmerge v102.0 ('Little Houses') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2026-10-01 13:15:03
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
На скриншоте вы можете видеть 2 аудиодорожки:
- аудио с индексом 0:1 это truehd (Dolby TrueHD + Dolby Atmos)
- аудио с индексом 0:2 это eac3 (Dolby Digital Plus + Dolby Atmos)
Для извлечения любой из найденных аудиодорожек без конвертирования аудио выполните команду вида:
ffmpeg -i MOVIE.mkv -map INDEX -c:a copy OUTPUT.mka
При извлечении truehd его нужно сохранить в контейнер, поэтому в качестве расширения выходного файла укажите .mka, пример команды:
ffmpeg -i MOVIE.mkv -map 0:1 -c:a copy audio_truehd.mka
Дорожку eac3 можно извлечь без использования контейнера, то есть сохранить прямо с расширением .eac3. Но чтобы в дальнейшем ffmpeg не показывал предупреждение что длина определяется примерно исходя из битрейта, контейнер я использую:
ffmpeg -i MOVIE.mkv -map 0:2 -c:a copy audio_eac3.mka
3. Как вырезать фрагмент из аудиодорожки без перекодирования
Для вырезки нужно фрагмента используйте одну из следующих команд (различаются только одной опцией -t или -to):
ffmpeg -ss HH:MM:SS -i AUDIO.mka -t HH:MM:SS -c copy final_OUTPUT.mka ffmpeg -ss HH:MM:SS -i AUDIO.mka -to HH:MM:SS -c copy final_OUTPUT.mka
После опции -ss вы указываете начало где нужно начать вырезать аудио. Опция -t указывает общее время вырезанного фрагмента (удобно если вам нужно вырезать, например, фрагмент определённой длины. А опция -to указывает время где нужно остановить вырезку фрагмента.
То есть эта команда
ffmpeg -ss 02:02:18 -i audio_truehd.mka -t 00:02:52 -c copy final_truehd.mka
является полным эквивалентом этой команды:
ffmpeg -ss 02:02:18 -i audio_truehd.mka -to 02:05:10 -c copy final_truehd.mka
Что касается форматов, то они не влияют на опции, просто укажите нужные файлы:
ffmpeg -ss 02:02:18 -i audio_truehd.mka -t 00:02:52 -c copy final_truehd.mka ffmpeg -ss 02:02:18 -i audio_eac3.mka -t 00:02:52 -c copy final_eac3.mka
4. Как конвертировать Dolby TrueHD + Dolby Atmos и Dolby Digital Plus + Dolby Atmos в FLAC
На самом деле здесь вы может остановиться, поскольку получили то, что хотели: фрагмент аудио (саундтрек или песню) с идентичным качеством как в фильме.
При желании вы можете конвертировать полученные файлы в FLAC без потерь в качестве звучания. Но, конечно, Dolby Atmos (пространственные объекты) не будут перенесены в FLAC (так как FLAC это не поддерживает).
Примеры команд конвертации Dolby TrueHD и Dolby Digital Plus в FLAC без потерь:
ffmpeg -i final_truehd.mka -map 0:a:0 -c:a flac -compression_level 8 final_7.1.flac ffmpeg -i final_eac3.mka -map 0:a:0 -c:a flac -compression_level 8 final_5.1.flac
Нужно отметить размеры файлов при подобной конвертации. Рассмотрим конкретный пример:
- размер видео: 29 Гб
- размер извлечённой дорожки Dolby TrueHD: 4.2 Гб
- размер вырезанного саундтрека (менее трёх минут): 126 Мб
- размер после конвертации в FLAC: 118 Мб
Как можно заметить, разница в размере файла между Dolby TrueHD и FLAC незначительная.
С Dolby Digital Plus ситуация интереснее:
- размер видео: 29 Гб
- размер извлечённой дорожки Dolby Digital Plus: 923 Мб
- размер вырезанного саундтрека (менее трёх минут): 22 Мб
- размер после конвертации в FLAC: 85 Мб
То есть хотя файлы Dolby Digital Plus (формат сжатия с потерями и меньше на два канала по сравнению с Dolby TrueHD) ожидаемо получились меньше, после конвертации в FLAC размер файлов вырос.
Будьте к этому готовы — это типичная ситуация.
5. Каким проигрывателем прослушать треки в формате Dolby TrueHD и Dolby Digital Plus
Если вы не стали конвертировать в FLAC, то файлы Dolby TrueHD и Dolby Digital Plus отлично воспроизводят медиапроигрыватели для просмотра фильмов.
Причём многоканальный звук в формате FLAC, на мой субъективный взгляд, SMPlayer или mkv Media Player воспроизводят с более приятным звучанием чем, например, DeaDBeeF.
6. Краткая справка о Dolby TrueHD, Dolby Digital (AC-3) и Dolby Digital Plus (E-AC-3)
TrueHD — lossless. Это кодек для многоканального звука высокого качества. Он использует lossless-сжатие: после корректного декодирования можно получить исходные PCM-сэмплы без изменений. Применяется преимущественно на Blu-ray и в домашних кинотеатрах. Может содержать базовый многоканальный звук и дополнительные данные Dolby Atmos.
E-AC-3 — lossy. Более современный вариант семейства Dolby Digital, обычно более эффективный при сопоставимых условиях кодирования. Поддерживает многоканальный звук и вариант Dolby Atmos с объектными метаданными (JOC).
AC-3 — lossy. Это перцептивный аудиокодек, который удаляет часть информации, чтобы существенно сократить объём данных. Алгоритм учитывает особенности слуха, поэтому удаляемые компоненты по возможности менее заметны. Часто используется для звуковых дорожек 5.1 в видео, на DVD и в вещании.
Связанные статьи:
- Как в Linux узнать свойства медиафайлов (видео, аудио, фотографии) (97.8%)
- Как записать видео с IP камеры (RTSP поток) (60.8%)
- Как включить 10-битную глубину цвета в Linux (и нужно ли включать 30-битный цвет) (55.3%)
- Как определить количество цветов (бит на пиксель) в X11 (55.3%)
- Как определить контент с 10-битной глубиной цвета. Как проверить какая глубина цвета используется в фотографии и видео (55.3%)
- Руководство по ImageMagick: установка, использование и решение проблем (RANDOM - 52.3%)
