Skip to content

Latest commit

 

History

History
43 lines (33 loc) · 3.16 KB

File metadata and controls

43 lines (33 loc) · 3.16 KB

PyFFmpegNormalizer

Простой скрипт для пакетной нормализации звука в видеофалах.

Позволяет пакетно нолмализовать всю видиеотеку с помощью EBU R128 алгоритма.

Установка:

ffmpeg -version
  • Установить сам Python. https://www.python.org/downloads/

  • Установить нужные библиотеки, для этого в cmd от админа в директории скрипта (возможно от админа)

pip install -r requirements.txt

Настройка:

Достаточно указать пути, в файле config.ini, поддреживаются как относительные пути, типа

'../Video_01' # Значит Video_01 находится на уровень выше от срипта.

так и абсолютные пути виндовс, однако в этом случае, необходимо экранировать слеши, например так

'E:\Мультсериалы' # Пример абсолютного пути Win 

Сам файл config.ini будет создан при первом запуске из файла config.ini.example или вы можете сделать это самостоятельно просто переименовав файл config.ini.example в config.ini

ВАЖНО! Недопускается указывать одинаковые ключи в конфиге, не может быть два srcPath0, по этому каждый новый путь необходимо писать с новым ключём. Это может быть srcPath0 srcPath1 srcPath2 итд или любой другой набор, так как сами ключи не учитвыаются.

Работа срипта:
Работает просто, преребирает все пути указанные в блоке [srcList] файла config.ini, по каждому пути сканирует все папки, проверяет все файлы, которые подходят по расширению из параметра extList файла config.ini. Если находит подходящий файл, отправляет на анализ и нормализацию. При нормализации сохраняет кодек, битрейт и частоту дискритезации как у исходника.

В работе опирался на информацию из статьи: https://bva.dyndns.info/2018/10/loudness-normalization/ Для себя вывел оптимальные параметры
I=-16:TP=-2:LRA=9

Так же в осове лежит библиотека https://github.com/slhck/ffmpeg-normalize