[Из песочницы] EBU128: Пакетная нормализация громкости аудио/видео файлов

Всем привет! Решил поделиться опытом автоматизации контроля громкости вещания своего СМИ. Думаю, у всех профильных технарей давно болит голова, точно продолжает болеть. Введенная Минкомсвязи рекомендация в области нормирования громкости звуковых сигналов вызвала волны возмущения.

Не было предоставлено ни средств контроля, ни средств производства. Крутитесь как хотите.
Впрочем, уже давно, задолго до того знакового события существуют различные плагины к монтажным программам, но как быть если уже накоплена огроменная медиабаза?

Побродил я по просторам интернета и наткнулся на очень, по моему мнению, элегантное решение. Причем, к радости моей, это оказалось свободное ПО. Проект называется r128gain.

r128gain измеряет громкость аудио файлов. Понимает она, насколько я выяснил, два формата:

  • FLAC
  • PCM signed 16 bit little endian (Microsoft WAVE)

После измерения предлагается применить громкость к дорожке двумя способами:

1. Используя утилиту SoX — Sound eXchange, получить причесанный звук:

r128gain "--command=sox %TRACK% out.wav|flac gain %TGDB%" in.wav|flac -o .

2. Используя утилиту FFmpeg заменить/добавить аудиодорожку к фидеофайлу:
r128gain "--command=ffmpeg -i %TRACK% -vcodec copy -acodec flac -af volume=%TG% -y out.mkv" in.wav|flac -o.

Я выбрал первый вариант. Чтобы выделить звук из моих видеофайлов, я использую ffmpeg:
ffmpeg -i in.avi -vn -c:a pcm_s16le -ac 2 in.wav -y

Нормализация:
r128gain "--command=sox %TRACK% out.wav|flac gain %TGDB%" in.wav|flac -o .

Сборка готового видео файла. Так как кроме старых файлов имеется постоянный поток сторонних, приводим к единому формату. У меня используется такой стандарт:
video: MPEG2 PAL 720x576
audio: MPEG1 Layer II

Сборка:
ffmpeg -i in.avi -i out.wav -c:v mpeg2video -b 30000k -s pal -r pal -aspect 4:3 -vf scale=720:-1,pad=720:576:(ow-iw)/2:(oh-ih)/2 -flags +ilme+ildct -c:a mp2 -map 0:v:0 -map 1:a:0 out.mpg -y

На выходе получаем продукт в едином формате.

Спасибо за внимание! Надеюсь, моя статья окажется для вас полезной.

Комментарии (0)

© Habrahabr.ru