Как извлечь субтитры из DVD диска. Грабим субтитры

Не нашли нужных субтитров в Сети? Не беда: их можно «вытащить» с диска 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


- Готовый SRT скрипт с переводом
- Русская звуковая дорожка (при желании)
- И много места на жёстком диске.

P.S. Как получить SRT скрипт и русскую звуковую дорожку я объяснять не буду, однако замечу, если у вас скрипт в любом другом формате, то воспользуйтесь соответствующими конверторами.

ШАГ 1. Копируем DVD диск на винчестер.

При помощи программы DVD Shrink 3.2.0.15 переписываем диск к себе на винчестер в директорию C:\Rip.

Запускаем DVD Shrink 3.2.0.15
- В верхнем меню нажимаем кнопочку Open Disc
- В появившемся окошечке выбираем соответствующий диск и жмём ОК.
- Ждём, пока программа определит структуру диска.
- В левой части нажимаем на папочку DVD, а в правой вместо Automatic ставим на No Compression, т.к. в том случае, если оригинальный диск двухслойный (DVD9), то программа автоматически сожмёт видео поток, подгоняя под размер болванки (4,7 Gb), что приведёт к ухудшению качества.
- В верхнем меню жмём кнопку Backup!
-Выбираем директорию C:\Rip и дожидаемся окончания процесса.

В итоге в директории C:\Rip должны появиться следующие файлы (результат может быть разный, т.к. структура у всех дисков разная):

VIDEO_TS.BUP – Присутствует во всех DVD
VIDEO_TS.IFO - Присутствует во всех DVD
VIDEO_TS.VOB – Обычно присутствует во всех DVD (В этом файле информация о меню и всевозможные ролики копирайты).

Обычно основной трек с фильмом располагается в следующих файлах:
VTS_01_0.BUP - Резервная
VTS_01_0.IFO - Информация
VTS_01_0.VOB – Файл содержащий меню относящееся к данному видео треку.
Далее идёт сама компиляция трека с фильмом, звуковых дорожек к нему и субтитров. Файлов может быть сколь угодно, в зависимости от размера трека, т.к. 1 VOB файл не может быть более 1 GB.
VTS_01_1.VOB
VTS_01_2.VOB
VTS_01_3.VOB
...
VTS_01_XX.VOB

Скорее всего, в довесок будут следующие файлы (в зависимости от наличия бонусов (EXTRAS) на DVD диске):
VTS_02_1.VOB
VTS_02_2.VOB

VTS_02_XX.VOB
...
VTS_YY_1.VOB
VTS_YY_2.VOB
...
VTS_YY_XX.VOB

ШАГ 2. Распаковываем VOB (DEMUX).

Теперь надо как бы распаковать VOB файлы с нужным нам треком (называется DEMUX).
Для этого воспользуемся программой VobEdit 0.6.

Создадим директорию D:\Demux

Внимание, диск D: должен быть в формате NTFS, т.к. m2v файл (видео трек) будет размером более 4 GB.

Запускаем VobEdit 0.6
- Жмём кнопочку Open и открываем файл C:\Rip\VTS_01_1.VOB
- Нажимаем кнопочку Demux.
- Ставим галочки на «Demux all Video streams» и «Demux all Audio streams», и если хотим сохранить субтитры на других языка, то отмечаем и «Demux all Subp streams».
- Нажимаем ОК.
- Выбираем директорию D:\Demux
- Ждём окончания.
- Выходим

Теперь у нас есть файлы:
D:\Demux\VTS_01_1.m2v
D:\Demux\VTS_01_1.80.ac3

ШАГ 3. Информация о главах.

В IFO файле также храниться информация о разметке глав. При помощи пульта ДУ или функций программы, проигрывателя DVD мы можем попасть в любой момент, диска. С главами также тесно связано меню, поэтому если этого не сделать, то оно может и не работать (Chapters Menu).

Запускаем IFOEdit 0.971
- В верхнем окошке двойным щелчком нажмите на VTS_PGCITI.
- Появится VTS_PGC_1, нажимаем на него.
- Прокручиваем нижнее окошко, пока не наткнёмся на «PGC Command Table:», жмём на него.
- Идём в главное меню: "Tools/Save Celltimes to file"
- Сохраняем файл CellTimes.txt в D:\Demux

Теперь у нас есть файлы:
D:\Demux\VTS_01_1.m2v
D:\Demux\VTS_01_1.80.ac3
D:\Demux\CellTimes.txt
И, если были отмечены субтитры, то файлы *.sup

ШАГ 4. Конвертируем субтитры.

Теперь нужно перевести субтитры формата SRT в субтитры формата DVD – SUP. Субтитры для DVD это, как правило, набор картинок.
Для этого воспользуемся программой Srt2Sup a4.03

Запускаем Srt2Sup a4.03.
- В главном меню выбираем SRT File/Open as text
- Выбираем наш SRT файл.
- В появившемся диалоговом окне появится область "adjust times". Обычно можно оставить по умолчанию “0”, но в случае если Тайминг субтитров не совпадает с ДВД треком, то надо поэкспериментировать с этим параметром.
- Жмём ОК.
- Справа внизу жмём кнопочку ALL
- Теперь жмём «Alter Subtitle Layout»
- Жмём кнопку Global
- Настраиваем цвета:
Backgnd – Цвет фона (Выбирать цвет необязательно, главное, чтоб не совпадал с другими цветами) и не забудьте поставить по ним галочку на Trans (от слова Transparent – прозрачный).
Outline – Цвет линии, которой будут обводиться субтитры.
Text – Цвет текста.
Antialias – Цвет сглаживания.
Также выбираем нужный нам шрифт, размер и положение субтитров на экране.
- Жмём ОК и затем Close.
- В главном меню жмём Settings/IFO Colours
- В нижнем окошке получаем информацию о наших цветах в HEX формате. Записываем их на листочек. Выглядит примерно так:
Color 0 Y Cr CB – 81 239 90
Color 1 Y Cr CB - 16 128 128
Color 2 Y Cr CB - 235 128 128
Color 3 Y Cr CB - 16 128 128

Нам потребуются цифры, что в квадратных скобках, и к какому цвету они относятся например к Color 0.

Теперь в главном меню выбираем SUP File/Save.
- Сохраняем как D:\Demux\VTS_01_1.20.sup.

Теперь у нас есть файлы:
D:\Demux\VTS_01_1.m2v
D:\Demux\VTS_01_1.80.ac3
D:\Demux\CellTimes.txt
И, если были отмечены субтитры, то файлы *.sup
D:\Demux\VTS_01_1.20.sup

ШАГ 5. Собираем VOB обратно.

Теперь из наших несобранных материалов компилируем обратно VOB файл.
Для этого воспользуемся программой IFOEdit 0.971.

На диске C: создаём директории C:\Full
- Запускаем IFOEdit 0.971.
- В главном меню выбираем DVD Author/Author New DVD.
- В верхней правой части есть кнопочка с точкой, с помощью которой выбираем наш файл с видео D:\Demux\VTS_01_1.m2v.
- Далее аналогично подключаем звуковые дорожки (оригинальная D:\Demux\VTS_01_1.80.ac3 + можно русскую или любую другую), не забывая выставить для них язык. Для этого выделим звуковую дорожку, и слева станет активным меню с выбором языков.
- Аналогично подключаем субтитры:
Оригинальные *.sup и наши субтитры D:\Demux\VTS_01_1.20.sup.
- В последнем поле выбираем наш файл с разметкой глав D:\Demux\CellTimes.txt
- Путь для компиляции, естественно C:\Full
- Жмём ОК
- Дожидаемся окончания процесса, затем Close
- В верхнем окне жмём двойным щелчком на VTS_01_0.IFO.
- Затем двойным щелчком на VTS_PGCITI.
- Затем выбираем VTS_PGC_1.
- Ищем в нижнем окне строку «Color 0 Y Cr Cb»
- Жмём двойным щелчком и видим в отдельном окне, что-то типа "00000000 00 00 00 ...".
- Вместо 00 00 00 указываем HEX код цвета полученный в Шаге 4.
- Аналогично с Color 1, 2, 3.
- Далее жмём главное меню Tools/Merge Menu tables.
- В появившемся окне выбираем файл C:\Rip\ VTS_01_0.IFO
- Жмём внизу SAVE и в появищемся окошке Yes.

ШАГ 6. Завершаем сбор.

Из директории C:\Full удаляем файлы VIDEO_TS.IFO и VIDEO_TS.BUP.
- Из директории C:\Rip в директорию C:\Full копируем следующие файлы файлы:
VIDEO_TS.IFO
VIDEO_TS.BUP
VIDEO_TS.VOB (Если есть)
Далее файл VTS_01_0.VOB (И только его, если есть)
Далее файлы:
VTS_02_1.VOB
VTS_02_2.VOB

VTS_02_XX.VOB
...
VTS_YY_1.VOB
VTS_YY_2.VOB
...
VTS_YY_XX.VOB

Где XX и YY, какие либо числа.

Теперь, директорию C:\Rip можно удалить, а в директории C:\Full лежит готовый проект.

Внимание, не копируйте в C:\Full из C:\Rip следующие файлы:

VTS_01_1.VOB
VTS_01_2.VOB
VTS_01_3.VOB
...
VTS_01_XX.VOB

Где XX, какие либо числа.

ШАГ 6. Эпилог.

Прежде всего, хочу сказать огромное спасибо статье Eric Phan-Kim, которая обсуждалась на Digital Video Forums (http://forum.digital-digest.com).
В его статье подробно была описана технология добавления субтитров к DVD диску, но за счёт потери меню, бонусов и т.д.
В общем, в итоге можно было получить готовый продукт в виде одного трека с фильмом, что естественно смотрится не очень эстетично.
Я тоже столкнулся с этой проблемой, работая над переводом любимого аниме, таким образом, и родилась эта доработанная статья.
Надеюсь, статья была вполне подробной и вам всё понятно.

Если у вас есть какие либо идеи, как дополнить эту статью, пишите мне (ditmar inbox.ru )
Версия статьи: 1.05

Субтитры на DVD представлены в графическом формате, т.е. в виде картинок. Нам же нужно получить субтитры в виде текста с таймингом - SRT. Процесс конвертации напоминает распознавание отсканированного текста в программе Finereader .

Запускаем SubRip и выбераем меню File > Open VOB(s) . В открывшемся окне нажимаем кнопку

Open IFO:

Выбераем IFO-файл, соответствующий первому сегменту основного фильма на DVD.

Подгружаются все соответствующие VOB-файлы, рядом с ними появляются галочки отметки (только эти файлы будут обрабатываться), а в выпадающем списке Language Stream можно посмотреть, какие субтитры есть в этом сегменте. В данном случае, как видим, у нас всего один поток субтитров (русский):

Имеем в виду, что иногда языки указаны неверно (например, указан французский, а на самом деле это китайский). Особенно это характерно для так называемых «пираток» и китайской видеопродукции.

Скрытые субтитры.

Скрытые субтитры (Closed Captions, или CC) представляют собой субтитры, внедренные в видеопоток. Изначально они были изобретены для титрования телевизионных видематериалов для глухонемых и для их просмотра нужна была специальная схема в телевизоре. Сейчас, конечно, скрытые субтитры уже не так актуальны, как 15–20 лет назад, но диски с ними до сих пор выпускают.

Раньше рип скрытых субтитров представлял собой некоторую проблему, но теперь, к счастью, с ними научился работать SubRip . При открытии IFO-файла он радостно сообщает: «Closed captions detected» и включает скрытые субтитры в общий список:

Рип субтитров.

Итак, нужные файлы отмечены, поток субтитров выбран. Теперь осталось нажать кнопку Start , после чего начинается собственно процесс, который и называется «рип субтитров».

Поскольку субтитры бывают выполнены самыми разными шрифтами, распознаватель текста

в SubRip реализован как самообучаемый. То есть встретив очередной незнакомый символ, про- грамма предложит ввести соответствующий ему символ с клавиатуры.

Вводим символ и нажмите ОК (или клавишу Enter ), и так далее, до самого конца фильма.

Пожалуйста, без ошибок! Неправильно введённый символ потом придётся исправлять по всему тексту.

Вообще говоря, если вы ошиблись, проще начать всё с самого начала, и в следующий раз будьте внимательнее.

Трудно будет только первые пять минут, затем SubRip очень быстро распознает практически весь текст, лишь изредка спрашивая незнакомые символы.

Рассмотрим некоторые проблемы и ситуации, которые могут возникнуть в процессе рипа:

1. Английские «L» и «i».

При распознавании английских субтитров обычно возникает проблема с буквами «L» (строчной) и «i» (прописной), поскольку начертание этих символов в большинстве шриф- тов практически идентично. Проблема эта решается только последующим прогоном через спелл-чекер с английским словарём.

2. Слипание букв.

Некоторые символы при распознавании «слипаются» по два-три-четыре. Это, собственно говоря, проблемой не является, просто вводим в текстовом поле все эти символы.

3. Буква «Ы».

При распознавании русских субтитров возникает проблема с буквой «ы» (как прописной, так и строчной), - SubRip распознаёт её, как два отдельных символа. При распознавании первого символа введите «мягкий знак», при распознавании второго, латинскую букву «i». Потом последовательность из этих двух символов можно будет по всему тексту заменить на «ы». Позже мы ещё вернёмся к этому вопросу.

4. Нераспознаваемые субтитры.

Иногда SubRip затрудняется с распознаванием символов в субтитрах и выдает следующее окно, предлагая ввести их полный текст:

В 99% случаев это происходит в многострочных субтитрах, когда межстрочный интервал невелик, а во второй строке присутствует заглавная буква «Й».

Просто вводим в поле полный текст субтитра и нажимаем кнопку Done .

5. Слипание строк.

Изредка SubRip «склеивает» символы, находящиеся в разных строках. В этом случае можно попробовать кнопками в блоке Best guess выбрать подходящую комбинацию, но на мой взгляд, значительно быстрее и, главное, надёжнее будет нажать кнопку Enter Manually и ввести текст субтитров целиком.

6. Теги и форматирование.

Для форматирования текста предназначены три флажка справа от кнопки OK : Bold , Italic и Underline . Тут, в принципе, ничего сложного нет - после ввода символа в текстовом поле нужно установить флажки, которые во внешних субтитрах превращаются в теги , , (точно такие же, как в HTML). Флажки эти сохраняются между репликами, то есть потом их нужно не забыть отключить.

Хотя SubRip поддерживает оформление текста курсивом, полужирным и подчеркиванием, на практике из всего этого великолепия используется разве что курсив (им в субтитрах при- нято выделять реплики, когда говорящего не видно в кадре). Да и то необходимость этого многими подвергается сомнению. Пользоваться или нет - решайте сами, но не забывайте, что теги не воспримаются некоторыми «железными» плеерами.

Сохранение субтитров.

Как только движок в верхней части окна доехал до конца и показал 100%, процесс закончен. Субтитры осталось только сохранить в файле.

В окне текста (снизу) нажмите кнопку с дискеткой (или выберите меню File > Save As ).

Если субтитры на русском языке, то скорее всего появится вот такой вопрос:

Это означает, что субтитры содержат какие-то символы помимо латинских букв и цифр (а точнее говоря, русские буквы в нашем случае), и сохранить их можно либо в какой-либо из нацио- нальных кодировок, либо в кодировке Unicode. Можно, конечно, выбрать и Unicode, но тогда субтитры перед подгонкой через Subtitle Workshop кому-то придется конвертировать обратно

в кодировку Windows 1251, так что лучше всего сделать это сразу. Выберите No .

Теперь в выпадающем списке CodePage выберите 1251: ANSI – Cyrillic и нажмите кнопку Save . Остаётся только ввести имя файла и сохранить субтитры.

Сохранение матриц.

Если вам часто приходится извлекаете субтитры с DVD или вы планируете сделать целую серию дисков (например, сериал), имеет смысл сохранить матрицу (это набор соответствий между графическими образами и текстовыми символами).

1. После сохранения субтитров выбираем меню Character Matrix > Save Character Matrix File As .

2. Вводим имя файла (произвольное, ну например «001») и сохраняем матрицу в каталоге ChMatrix (расширение по умолчанию - *.sum).

Во время рипа следующего диска достаточно нажать кнопку Search for match , и SubRip , про- смотрев все SUM-файлы в каталоге ChMatrix, подберет наиболее подходящую матрицу для текущего шрифта. Если матрица подобралсь удачно, рип субтитров будет сделан значительно быстрее, поскольку SubRip уже знает большинство из распознаваемых символов, и будет спрашивать вас только про новые.

После окончания рипа сохраняем матрицу (с добавленными новыми символами) под тем же именем (или под новым). Так можно собрать целую библиотеку матриц, которая позволит зна- чительно сократить трудозатраты на рип субтитров, если, конечно, вам приходится достаточно часто этим заниматься.

Постпроцессинг.

Полученные в результате рипа внешние субтитры можно рассматривать как почти готовый полу- фабрикат. Чтобы довести его до ума, необходимо выполнить ещё несколько несложных действий.

Замена символов.

Этот этап обработки субтитров выполняется в программе Notepad/Блокнот (хотя в принципе вы можете воспользоваться любым текстовым редактором, который работает с текстовыми файлами). Загрузите субтитры в редактор как обычный текстовый файл.

Наша задача - произвести в тексте некоторые замены (помните, мягкий знак и «i» заменить на букву «Ы» и некоторые другие). Делается это (в Блокноте ) - по Ctrl-H (или меню Edit > Replace ):

Введите заменяемый и заменяющий текст и нажмите кнопку Replace All .

Обычно бывает необходимо произвести следующие замены:

Сохраняем и закрываем файл.

Spell-check.

Загружаем субтитры в текстовый редактор и производим проверку орфографии. Если есть воз- можность, неплохо также вычитать текст и подправить неточности перевода.

Коррекция в Subtitle Workshop.

Загружаем субтитры в Subtitle Workshop и производим их проверку (Ctrl-I ). Зачастую SubRip накладывает субтитры друг на друга, оставляет слишком длинные строки, лишние пробелы, несколько реже субтитры со слишком короткой длительностью. Subtitle Workshop поможет исправить все эти мелкие дефекты.

Примечание: Чтобы подключить субтитры, как внешние в плеере Media Player Classic, нужно чтобы файл субти- тро назывался так же как фильм. Тогда плеер подгрузит их автоматически.

Включить их можно в меню Navigate > Subtitle Language. Например:

00001.ts - фильм 00001.srt - субтитры

Не нашли нужных субтитров в Сети? Не беда: их можно «вытащить» с диска 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


© 2024, leally.ru - Твой гид в мире компьютера и интернета