Простой скрипт для пакетной конвертации видеотеки.
Позволяет перекодировать пакетно всю видиеотеку в формат mp4 h.265 (с ограничением битрейта видео 2000) с двухканальным аудио. Для меня такой формат наиболее предпочтителен, но так как скрипт это просто надстройка над ffmpeg, вы легко можете поправить нужные параметры самостоятельно.
Установка:
- Установить Ffmpeg full, самое простое, воспользоваться инсталлером, он пропишет правильную PATH. https://github.com/icedterminal/ffmpeg-installer/releases/tag/5.1.0.20220727 Для проверки, что всё встало правильно, в cmd
ffmpeg -version
-
Установить сам Python. https://www.python.org/downloads/
-
Установить нужные библиотеки, для этого в cmd от админа в директории скрипта
pip install -r requirements.txt
Настройка:
Достаточно указать пути, в файле config.ini, поддреживаются как относительные пути, типа
'../Video_01' # Значит Video_01 находится на уровень выше от срипта.
так и абсолютные пути Windows
'E:\Мультсериалы' # Пример абсолютного пути Win
Сам файл config.ini будет создан при первом запуске из файла config.ini.example или вы можете сделать это самостоятельно просто переименовав файл config.ini.example в config.ini
ВАЖНО! Недопускается указывать одинаковые ключи в конфиге, не может быть два srcPath0, по этому каждый новый путь необходимо писать с новым ключём. Это может быть srcPath0 srcPath1 srcPath2 итд или любой другой набор, так как сами ключи не учитвыаются.
Работа срипта:
Работает просто, преребирает все пути указанные в блоке [srcList] файла config.ini, по каждому пути сканирует все папки, проверяет все файлы, которые подходят по расширению из параметра extList файла config.ini.
Если находит подходящий файл, проверяет его кодек, если кодек определён и отличается от hevc, то отправляет его на конвертацию. В ходе конвертации сверяется битрейт, если исходный битрейт ниже 2000к, то используется он, если выше, то битрейт устанавливается 2000к.
В случае, если кодек не определён или кодек уже hevc, файл пропускается.
На этом всё, предполагается запускать скрипт раз в сутки, в ночное время, чтобы держать всю видиеотеку в одном эффективном кодеке.