12 лет назад 9 июля 2012 в 0:11 6617

Не нашли нужных субтитров в Сети? Не беда: их можно «вытащить» с диска DVD Video или Blu-ray. Но задействовать такие подстрочники в медиаконтейнерах невозможно. Поговорим сегодня о том, как сделать их совместимыми с большинством видеоформатов.

Сначала опишу задачу. Многие синефилы предпочитают смотреть фильмы на языке оригинала с субтитрами, даже если есть перевод. Причин тому несколько, но их обсуждение выходит за рамки статьи (скажу лишь, что я сам часто так делаю). Также для наших читателей не является секретом, что оптические носители постепенно уходят в прошлое. Те, у кого есть домашний медиасервер, или уже переводят свою киноколлекцию в бездисковый формат, или, по крайней мере, начали задумываться об этом. Чаще всего для домашнего хранилища используются файлы MKV.

Извлечение субтитров при помощи HD-DVD/Blu-Ray Stream Extractor. Можно вытащить из контейнера все потоки

Для их создания есть много инструментов – например, HandBrake (handbrake.fr), который я недавно описывал в статье «Всеядный универсал» (см. UPgrade #15-16 (570-571)). Единственная действительно серьезная проблема, с которой сталкиваются те, кто самостоятельно делает рипы, – это добывание субтитров. Дело в том, что в DVD Video и Blu-ray обычно применяются т. н. пререндеренные субтитры – они представляют собой уже готовую картинку, которая просто накладывается на кадр (подробнее о типах подстрочников: ru.wikipedia.org/wiki/Субтитры).

А вот в контейнеры Matroska можно «вшить» только текстовые (вообще-то есть способ поместить в файлы MKV и субтитры, «выдранные» с оптического диска, но делать это крайне не рекомендуется из-за проблем совместимости – многие плееры их просто не увидят). С другой стороны, поиск в интернете субтитров в текстовом виде (SRT / SMI) далеко не всегда дает нужный результат, особенно для изданий вроде «расширенная режиссерская версия» или, скажем так, не слишком популярных у обычного потребителя кинопродукции фильмов. Так что надо каким-то образом вытащить подстрочник с диска, перевести его в нужный формат, а потом скормить конвертеру.

На неискушенный взгляд задача сводится к обычному распознаванию текста. И действительно, если вы забьете в строку поиска Google фразу «FineReader Blu-ray», в первой же пятерке результатов обнаружится ссылка на достаточно подробную инструкцию на русском о том, как это сделать. Но, во-первых, придется привлекать коммерческое ПО, а во-вторых, процесс получается достаточно трудоемким. В общем, не наш выбор: минимизируем телодвижения и обойдемся бесплатным софтом.

Сначала эти самые пререндеренные субтитры надо как-то получить. Конкретный способ зависит от исходного формата. Скажу лишь, что в любом случае потребуется копия диска с фильмом на винчестере. Но поскольку взлом защиты – противоправное действие, то от описания оного придется воздержаться. Думаю, любой желающий без труда найдет мануал в Сети.

В случае с Blu-ray берем консольную утилиту eac3to (madshi.net/eac3to.zip). Можно, кстати, «прикрутить» к ней какую-нибудь графическую оболочку, коих существует довольно много. Лично мне приглянулась HD-DVD/Blu-Ray Stream Extractor (code.google.com/p/hdbrstreamextractor), которую я и рекомендую. Всего-то и нужно распаковать полученный архив в ту же директорию, где проживает eac3to, а затем запустить HdBrStreamExtractor.exe. Теперь следует нажать кнопку правее поля Input (всплывающая подсказка Select Input File(s)), выбрать самый объемный в папке STREAM файл с расширением *.m2ts, а затем указать директорию назначения в поле Output.

Осталось кликнуть по надписи Feature(s) и дождаться момента, когда программа завершит считывание контейнера. После этого в разделе Stream(s) появится список обнаруженных потоков. Хотите – вытаскивайте все, хотите – только субтитры: просто отметьте галкой то, что нужно извлечь, а потом запустите процесс кнопкой Extract.

Через некоторое время (которое зависит главным образом от быстродействия ПК; на современных машинах экстракция субтитров с дисков Blu-Ray обычно занимает чуть больше часа) в папке с результатами работы окажутся файлы с расширением *.sup и малоинформативными названиями вида 1_7_subtitle (второй номер, в данном случае – 7, означает номер потока). Это и есть наши субтитры «в картинках», которые теперь надо распознать.

Если речь идет о DVD Video, надо взять утилиту под названием VobSub Ripper Wizard от небезызвестного Gabest. Она входит в состав Gordian Knot и других пакетов аналогичного назначения. Впрочем, засорять винчестер ненужным софтом вовсе необязательно: VSRip проживает по адресу: sourceforge.net/projects/guliverkli/files/VSRip. Там находится архив ZIP, внутри которого – единственный экзешник. Интерфейс проги (которая, кстати, была выпущена в далеком 2003 году, но превосходно работает и в Windows 7 x64) примитивен.

Первым делом надо открыть файл со служебной информацией (кнопка Load IFO…), который соответствует контейнерам, в которых хранится сам фильм. Определить, какой именно, достаточно легко: нужно зайти в папку VIDEO_TS и найти в ней любой файл VOB объемом 1 Гбайт.

Предположим, он называется VTS_01_1 – тогда рипперу надо «скормить» VTS_01_1.IFO (другими словами, цифры в именах после набора символов «VTS_» должны совпадать). Что указывать в поле Save to… – догадайтесь сами (смайл). Далее жмем Next и на следующем этапе мастера отмечаем в списке Languages субтитры на нужных языках. Здесь важно, чтобы в колонке Vob/Cell IDs были выбраны все позиции – в противном случае субтитры будут извлечены с пропусками. Опять жмем Next и получаем на выходе два файла с одинаковыми именами и расширениями *.idx и *.sub. Они-то нам и нужны.

Внутренняя структура субтитров, вытащенных из DVD Video и Blu-ray, различается. Для последних можно взять распознавалку SupRip (exar.ch/suprip), которая в целом со своей задачей справляется – хотя
и не могу сказать, что идеально. «Расшифровка» английского ей дается намного лучше, чем русского (но хотите – попробуйте, никто не запрещает). С «дивидишными» субтитрами она незнакома. Народ советует для них софтину SubRip (zuggy.wz.cz) – обратите, кстати, внимание: названия различаются всего на одну букву, но это разные программы.

Со второй у меня как-то не сложилось: я так и не смог подружить ее с 64-битной «семеркой». На кривизну рук ваш покорный слуга раньше не жаловался – хотя, конечно, всякое случается. Может, истина – как в известном телесериале – где-то рядом, но я ее обнаружить не сумел. Потом я перепробовал еще несколько похожих утилит, но ни с одной не нашел понимания. Пишу об этом только для того, чтобы вы не повторяли моих ошибок.

Решение, причем универсальное, есть, и зовут его Subtitle Edit (www.nikse.dk/SubtitleEdit). Чем мне приглянулся этот редактор, так это тем, что он обучен распознавать пререндеренные субтитры обоих типов и не только. Распространяется как в виде архива, не требующего установки, так и в виде инсталлятора, по сути они ничем не отличаются. Интерфейс прекрасно русифицирован (Options > Choose Language), в наличии также имеется довольно подробная онлайновая справка на языке – уж простите за банальность – Пушкина и Достоевского. Для распознавания применяется оупенсорсный движок Tesseract OCR (code.google.com/p/tesseract-ocr).

Однако, прежде чем программа станет способна работать с русскими сабами, надо кое-что сделать. Для начала идем на интернет-страничку указанного выше движка, в разделе загрузок ищем файл rus.traineddata.gz, скачиваем и кладем в папку Tesseract\tessdata в программной директории Subtitle Edit. Потом перезапускаем редактор, открываем меню «Орфография» > «Получение словарей…» и в выпадающем списке выбираем пункт с названием Russian Spelling, Hyphenation, Thesaurus, а потом жмем «Загрузить» (думаю, особых пояснений здесь не требуется). Вот теперь все готово.

Для распознавания субтитров, полученных из DVD Video, используется пункт «Импорт/OCR VonSub (sub/idx) субтитров…» в меню «Файл», для аналогичной операции с сабами c оптических дисков, где хранится HD-видео, – «Импорт/OCR файла Blu-ray sup…».

В первом случае вас попросят еще выбрать поток с требуемым языком (если их там несколько), во втором – будет сразу запущен мастер. Далее порядок действий не различается. В поле «Метод OCR» надо оставить пункт «OCR с помощью Tesseract», в поле «Язык» выбрать тот, который соответствует языку субтитров, а в списке «Коррекция OCR/Орфография» умная прога сама подберет подходящий вариант, если установлены соответствующие словари. Еще советую включить опцию «Запрос при неизвестных словах» – тогда вас будут просить вручную подкорректировать неизвестное модулю проверки орфографии слово.

При некоторой тренировке на обработку русских сабов фильма длительностью 2 ч требуется минут 30-40. С английскими дело идет еще быстрее. Когда процесс будет завершен, текстовые субтитры надо записать на диск («Файл» > «Сохранить», в поле «Тип файла» следует оставить SubRip). Еще в Subtitle Edit есть очень полезная функция «Синхронизация», которая поможет вам пересчитать тайм-коды с одной частоты кадров на другую (пригодится, если вы хотите прикрутить сабы, полученные из DVD Video, к BD-рипу).

По идее, после получения субтитров SRT их можно сразу инкапсулировать в контейнер. Но поскольку автоматическое распознавание весьма частенько ошибается, лучше подрихтовать их в каком-нибудь редакторе. Мне лично понравился бесплатный Srt Corrector. Но поскольку места, отведенного под статью, как всегда, не хватило, ищите его подробное описание в «Маленьких программах» в этом же номере UPgrade. UP

Один комментарий. Можете что-то добавить?