/AnilibriaEncoder

Утилита для обработки видео по стандартам Анилибрии.

Primary LanguagePythonBSD 2-Clause "Simplified" LicenseBSD-2-Clause

AnilibriaEncoder

Утилита для обработки видео по стандартам Анилибрии.

Настройка

Важно. Перед запуском нужно убедиться, что в системе установлен Python 3. Если он не установлен, идём на сайт https://www.python.org/ и скачиваем версию для своей системы. Во время установки не забудьте выбрать "Add Python 3.x to PATH", чтобы избежать проблем с запуском.

После установки Python устанавливаем зависимости. Для этого можно запустить файл setup.bat или setup.ps1. Всё, что он делает - это выполняет команду: pip install -r requirements.txt

Далее идём настраивать под себя.

В системе должен присутствовать ffmpeg - https://ffmpeg.org/

И MKVToolNix - https://mkvtoolnix.download/downloads.html

Если их нет, то устанавливаем.

После установки открываем блокнотом (в идеале Notepad++ или что-то подобное) файл config.py и задаём параметры:

suffix = ''

fromdir = r'E:\2019\Kenja no Mago - AniLibria.TV [WEBRip 1080p]\\'

todir = r'D:\2019\Kenja no Mago - AniLibria.TV [WEBRip 1080p HEVC]\\'

tmp_dir = r'C:\temp\\'

ffmpeg = r'C:\Program Files\ffmpeg\bin\ffmpeg.exe'

mkvpropedit = r'C:\Program Files\MKVToolNix\mkvpropedit.exe'

mkvmerge = r'C:\Program Files\MKVToolNix\mkvmerge.exe'

Здесь представлены примеры путей.

В переменную "suffix" вставляем свой ник, он будет использоваться для отображения перекодированных дорожек видео.

В переменную "fromdir" вносим путь, откуда мы будем забирать файлы для кодирования. В переменную "todir" вносим путь, куда сложить готовые файлы. В переменную "tmp_dir" вносим путь до папки, в которую будет складываться временный материал, который после завершения будет удалён, если всё было выполнено корректно.

Внимание в системах Windows все пути до папок должны быть экранированы (\\) на конце.

Далее настраиваем пути до исполняемых файлов:

ffmpeg - путь до ffmpeg.exe

mkvpropedit - путь до mkvpropedit.exe (в MKVToolNix)

mkvmerge - путь до mkvmerge.exe (в MKVToolNix)

Режимы работы

Теперь коротко о режимах работы. За них отвечают 5 переменны: need_encode, need_fix, create_opus, prepare, need_merge.

need_encode - Необходимо перекодирование видео. Если значение True - видео будет перекодировано в формат HEVC для раздач на Анилибрии. Если False, то этап кодирования будет пропущен.

need_fix - Требуется исправление дорожек (убрать задержку, вставить корректные названия для дорожек и прочее)

create_opus - при кодировании видео произойдёт ещё и конвертация аудио в opus 144k. Если дорожка в формате аудио 5.1, то она будет ужата до 2.0.

prepare - Если значение True - будет подготовлен файл без звука для дальнейшего слияния с готовым релизом с x264-видео. Если False - просто перекодирует видео. Параметр игнорируется, если need_encode = False.

need_merge - Если True - будет произведено слияние перекодированного HEVC без звука с оригинальным файлом от технарей (где есть русская дорожка и субтитры). На выходе мы получим нормальный HEVC для заливки. Полезно для онгоингов. Важно, чтобы исходный файл лежал в подпапке source в папке с временными файлами. Если False, то просто исправит дорожки в перекодированном файле.

Запуск программы

Самый простой способ - после настройки запустить файл run.bat или run.ps1. Можно просто запустить app.py, если ассоциация с файлами py установлена на интерпретатор.

В целом же запуск сводится к выполнению такой команды:

python app.py

Примеры использования:

Сделать старый релиз в HEVC. Параметры:

  • need_encode = True
  • need_fix = True
  • create_opus = False
  • prepare = False
  • need_merge = False

После чего запустить программу.

Подготовить из исходников HEVC чтобы дальше соединить с готовым релизом от технаря:

  • need_encode = True
  • need_fix = False
  • create_opus = False
  • prepare = True
  • need_merge = False

После кодирования, когда будет готов релиз, в папку из переменной temp подложить файл от технаря (из релиза) и переименовать файлы так, чтобы у них было одинаковое название (взять за основы файл из релиза). Затем выставить параметры:

  • need_encode = False
  • need_fix = False
  • create_opus = False
  • prepare = False
  • need_merge = True

И снова запустить выполнение. Далее из папки todir забрать готовый материал.

Перекодировать релиз BD-Rip в HEVC кодеком opus

  • need_encode = True
  • need_fix = True
  • create_opus = True
  • prepare = False
  • need_merge = False