Качаем avs2bdnxml, кидаем её в какую-нибудь папку на компе, для удобства я сунул в C:\avs2bdn
- качаем и устанавливаем
VSFilter (есть версии и посвежее, но меня и эта устроила)
- библиотеку VSFilter.dll кидаем для удобства в папку с avs2bdnxml
- качаем и устанавливаем
AviSynth
- для удобства кидаем исходный файл субтитров в папку с avs2bdnxml
- в блокноте создаём скрипт для AviSynth для конвертации субтитров.
Текст скрипта для подгрузки сабов (Создаём для каждого файла субтитров, называем как угодно, я называю обычно так же, как и название файла сабов, например, Script_Rus.avs):
loadplugin("C:\avs2bdn\VSFilter.dll")
MaskSub ("C:\avs2bdn\Rus.ass",1920,1080,23.976,258941)
#FlipVertical()
Здесь:
"C:\avs2bdn\Rus.ass" - путь к сабам
1920,1080,23.976 - разрешение субкартинок и частота кадров видео, для которого создаём субтитры, берётся из видео, для которого делаем субтитры
258941 - длительность видео в кадрах, при частоте 23.976 это = 3ч00мин. Точное количество кадров видео можно посмотреть в AegiSub: Video > Show video details > Length
Если этот скрипт открыть в 32-битном MPC-HC, мы увидим наши сабы поверх чёрного фона, но перевёрнутыми, это нормально, на выходе всё будет как надо. Чтобы увидеть в плеере сабы в нормальном виде, нужно убрать # из строки #FlipVertical(). После предпросмотра надо обязательно вернуть её обратно!
- Запускаем из командной строки avs2bdnxml. Список параметров описан на странице проги, но нам для получения правильного результата надо использовать только некоторые из них. Пример рабочей команды:
avs2bdnxml -t trackname -l rus -v 1080p -f 23.976 -a1 -p1 -b1 -u0 -m3 -o C:\avs2bdn\out\Rus.XML Script_Rus.avs
Здесь:
-t trackname - вместо этого можно прописать название будущих субтитров
-l rus - код языка сабов, прописывается в готовом файле .xml в строке <Language Code="rus"/> Используем коды согласно спецификации "Сценариста", английский будет eng и т.п.
-v 1080p - параметры видео, в нашем случае прогрессивное 1080. Допустимо использовать 480i, 480p, 576i, 720p, 1080i, 1080p
-f 23.976 - частота кадров. Допустимо использовать 23.976, 24, 25, 29.97, 50, 59.94
-a1 - автоматическая подрезка размеров субкартинок под длину строк исходного текста, в нашем случае с ограниченным буфером критически важный параметр
-p1 - 8-битная выходная палитра сабов, только такая допустима в стандарте BD
-b1 - оптимизация субтитров под размер буфера за счёт разделения субкартинок на отдельные строки, в нашем случае ещё один важный параметр, как раз применяется при разбросе сабов по всему экрану
-u0 - тоже решает проблему буфера за счёт горизонтального деления субкартинок на 2 части (при просмотре они будут нормально отображаться как единый титр), для активации нужно использовать ключ -u1
-m3 - назначение не ясно, оставляем по умолчанию, т.к. с другими параметрами всё равно на выходе тот же результат
-o - задаём путь к выходному и входному файлам. Для вывода в sup вместо bdn xml нужно прописать RUS.SUP вместо RUS.XML:
C:\avs2bdn\out\RUS.XML Script_Rus.avs
На выходе получаем в папке out кучу картинок в формате .png и файл .xml с техданными сабов (когда какие и в какой части экрана показывать субтиры).
[свернуть]