zaLinux.ru

Как извлечь песню из фильма без потери качества

Оглавление

  1. Почему саундтрек звучит не так как в фильме
  2. Как извлечь аудиодорожку из кино без изменения формата аудио и без перекодирования
  3. Как вырезать фрагмент из аудиодорожки без перекодирования
  4. Как конвертировать Dolby TrueHD + Dolby Atmos и Dolby Digital Plus + Dolby Atmos в FLAC
  5. Каким проигрывателем прослушать треки в формате Dolby TrueHD и Dolby Digital Plus
  6. Краткая справка о 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 и в вещании.

Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *