воскресенье, июля 02, 2017

Создание DVD-рипа с субтитрами

7 лет не писал про DVD, да и не делал с ними ничего интересного, а тут мне понадобилось сделать DVD-рип с вшитыми субтитрами и узнал я много нового. Хотя не факт, что эти знания мне понадобятся в дальнейшем.
Первым делом я решил использовать комплекс программ Auto Guardian Knot (AutoGK). Последняя сборка была сделана в 2009-м, но всё до сих пор прекрасно работает. Как мне показалось из описания, AutoGK должна вшивать выбранные субтитры в финальный видеофайл, но, то ли она этого в принципе не делает, то ли я что-то не так нажал, но субтитры не вшились, а просто сохранились в отдельном файле.
Важное замечание: AutoGK не сможет сохранить субтитры, если в пути сохранения будут русские буквы.

Так или иначе, я получил субтитры в формате *.IDX + *.SUB , и нагуглил очередное "открытие" - на DVD субтитры хранятся в графическом формате, а все известные мне программы для встраивания субтитров работают с текстовыми форматами типа *.SRT. И для перевода графических субтитров в текстовые существуют специальные программы распознавания. Читать подробнее.
С помощью программы Subresync я получил файл со своими субтитрами в формате *.SRT. Это обычный текстовый файл, рекомендуется его вычитать, т.к., там возможны ошибки распознавания, например, в моём случае я точно заметил, что "1866" превратилось в "1 866".

Как запихать субтитры в видеофайл? Многие рекомендуют программу Avidemux без указания версии, в которой есть фильтр Subtitler. В моей версии Avidemux 2.6.21 такого фильтра нет, есть гораздо более бедный SSA/ASS/SRT, который превращает русские субтитры в кракозябры. Я также скачал Avidemux 2.7, но у него пункт "Фильтры" в меню "Видео" вообще был неактивен.
 После недолгих поисков нашёл программу Handbrake - это программа для конвертирования видео с возможностью вшивания субтитров. Русские титры получилось вшить со второго раза, вероятно, из-за проблем с кодировкой. Первый раз от субтитров остались только знаки препинания, но я открыл *.SRT файл в текстовом редакторе Notepad++ и пересохранил в кодировке UTF-8, через онлайн-сервис проверил, что кодировка точно UTF-8, и выбрал эту же кодировку в Handbrake - и все получилось хорошо.