Как извлечь субтитры из DVD диска. Простой способ извлечения субтитров Теги и форматирование

09.01.2024
Редкие невестки могут похвастаться, что у них ровные и дружеские отношения со свекровью. Обычно случается с точностью до наоборот

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

Субтитры бывают как «открытые» (subtitles), так и «закрытые» (closed captions).
Поскольку и те и другие - разные по сути и технологии вещи, то их и выдергивают из фильмов по разному. Обычные (открытые) субтитры, представляют собой не что иное, как набор картинок, накладываемых на оверлее на основное изображение. И процесс вытаскивания таких субтитров, сводится к банальному OCR-распознаванию отсканированного текста. С Closed Captions такие трюки не пройдут. Они не являются картинками с текстом, а подмешаны в видеопоток. Вообще Closed Captions предназначены для просмотра фильмов идущих по ТВ, глухими людьми. Есть спецпримочки к телевизорам, которые позволяют отображать этот примешанный к видео, сигнал. Если на коробке ДВД диска стоит значок CC

То значит, что на самом диске эти субтитры присутствуют. Посмотреть их можно при помощи Power DVD XP . Closed Captions вытаскиваются особо хитрым способом, о котором будет поведано ниже. Итак по порядку:

«Открытые» субтитры (Subtitles)

Для начала, вам необходимо перенести все вобы фильма на жесткий диск. Вместе с вобами необходимо перенести на жесткий диск и ifo-файл относящийся к этим вобам. Рекомендую воспользоваться для переноса DVDDecrypter-ом . Он сразу при запуске выделит файлы кино и ifo-файл. После этого вам потребуется программа SubRip . Она достаточно бодро выдирает субтитры, да и совершенствуют ее постоянно. Последняя версия, которая попалась в мои цепкие лапы - SubRip v1.17.1. Работает - мое почтение. Практически совсем исчезли глюки связанные с выдиранием субтитров написанных с наклоном (обычно текст невидимого на экране персонажа). Запускаем программу.

При нажатии на эту картинку появляется рабочее меню выбора файлов и установок.


Нажимаем на кнопку Open IFO и указываем IFO файл, перенесенный на жесткий диск вместе с вобами.

Отмечаем файлы, которые хотим обработать. По умолчанию выбраны все файлы (т.е. обработать весь фильм).
- В этом окне выбирается язык субтитров. Информация берется из IFO файла.
- Если вы хотите обработать какой-то отдельный воб или вобы (а IFO файл у вас отсутствует), то здесь можно указать дирректорию, где лежат вобы или указать конкретные вобы.
- Для каждого ДВД составляется матрица знаков и соответствие их буквам и символам. В этом окне можно указать имя файла и сохранив его потом, вернуться и обработать другой языковой поток субтитров.
- Если имеется файл с матрицей знаков для данного ДВД, его можно загрузить, нажав на эту кнопку.
- Определившись с установками и файлами - запускаем процесс.


Для начала программа определится, правильно ли она будет воспринимать картинки. Чем «правильнее», т.е. чем более читабелен текст, тем лучше.

Контрольный текст. Чем читабельнее, тем лучше
- В этом окне можно выбрать варианты отображения субтитров в программе.
- Если, по какой-то причине, текст вас не устраивает как контрольный, нажатием на эту кнопку можно пропустить данную картинку, и перейти к следующей. Выбрав наиболее читабельный текст, давим на ОК.

Здесь отображается рассматриваемый в данный момент знак. Т.е. Программа наткнулась на незнакомый ей знак и показывая вам его, спрашивает, что это за буква или символ.
- В этом окне указывается та буква или символ, про который спрашивает программа.
- Формат субтитров srt, позволяет указывать вариант отображения субтитров. Наклонный, жирный, подчеркнутый. Наклонным текстом выделяются тексты персонажей, которых в данный момент на экране не видно. Т.е. наклонным текстом идут «слова из-за кадра». В данном случае, если вы хотите, чтобы субтитры отображались наклонными-ставьте галочку напротив надписи Italic.
- Проставление галочки позволяет программе «запомнить» вариант написания текущего текста и не изменять написание пока не произойдет отмены(снятие галочки). Т.е. если у меня некоторое количество текста идет наклонным, я ставлю галочку напротив Italic и рядом в окошке. Пока я не сниму галочку напротив Italic - весь вытаскиваемый текст будет идти как наклонный.
- В этом окне отображается распознанный текст с таймигом (указанием времени и длительности показа).
- Индикатор общего прогресса выдирания субтитров. После окончания процесса, можно произвести некоторые телодвижения с полученным текстом.

Полученные субтитры в формате srt.
- В процессе обработки английских субтитров, программа может ошибиться и перепутать буквы I (и) и l (эл), и символы ’ и ". Для корректировки этого и служит данная опция. Нажав, получим окно, в котором отметим нужные опции для корректировки и нажимаем Correct.

Для подгонки субтитров под определенное время или для корректировки их длительности.


Time Offset/Start Match - Можно указать, сколько времени надо прибавить или отнять (Minus) от временного интервала каждого субтитра.
Time Stretch/Spee Adjust - Можно указать, на сколько минут надо изменить длительность субтитров. После определения - нажимайте Correct Time.

Программа на выходе может выдать достаточно большое количество форматов субтитров. При нажатии на эту кнопку можно конвертировать полученные субтитры в нужный вам формат. Для каждого формата существует ряд своих настроек.

Программа позволяет разделить субтитры на несколько кусков. Очень удобно для производства 2-3 сидюковых версий фильмов.

Сначала задается начало и конец первого куска фильма (время). После чего этот кусок субтитров сохраняется. После этого задается начало и конец второго куска фильма. И сохраняется второй кусок субтитров.

Сохранение субтитров.
- Очистить окно с субтитрами. Вот, собственно, и все. На выходе получаете субтитры в нужном вам формате. В принципе их еще можно переводить из формата в формат.

«Закрытые» субтитры (Closed Captions)

Как и в случае с «открытыми» субтитрами, без переписывания ДВД-диска на винчестер-здесь не обойтись. Причем проблема, в данном случае, в том, что переписывать лучше всего одним куском. Т.е. получить у себя на жестком диске vob файл, 5-7 гигабайт размером (для операционных систем Windows NT, 2000, XP) . Это делается для упрощения добывания данных, поскольку программы и технология не подразумевают возможность автоматического перехода на следующий в цепочке vob, при выдергивании субтитров. Либо вам придется каждый раз заново указывать программе новый воб, а потом полученные файлы с субтитрами склеивать в один (операционки Windows 95, 98). За данность пока приму наличие одного целого vob-а. Если у вас все-таки цепочка, то проделываете тоже самое, что и с единым, а потом что делать - я опишу. Итак вам понадобится программа Graphedit и CCParser . (Кстати все программы цинично скачиваются по адресу doom9.org). Перед запуском Graphedit-a не забудьте зарегистрировать все фильтры. Для этого можно запустить register.bat, который идет вместе с graphedit-ом. Также неообходимо наличие установленного DirectX, версии не ниже 7.0.

Запускаем Graphedit . Нажимаем Ctrl+F или выбирам пункт меню Graph-Insert Filters

Список доступных фильтров. Все фильтры, которые нам нужны, находятся в разделе DirectShow Filters
- Для добавления конкретного фильтра, необходимо либо щелкнуть по нему два раза мышью, либо выделив его нажать на кнопку Insert Filter . Есть небольшая разница в составе фильтров и способе их соединения. Зависит от операционной системы. Т.е. для системы Windows XP это будет один вариант, а для остальных систем - другой. Фильтры, которые потребуются (т.е. их надо добавить): File Source (Async.) - при добавлении, вас спросят имя файла-укажите на свой vob.
MPEG-2 Splitter (для Windows XP - MPEG-2 Demultiplexter )
Cyberlink Video/SP Decoder - если вы пользуетесь Power DVD ; или InterVideo Video Decoder - если вы пользуетесь WinDVD; или какой-нибудь другой (посмотрите в разделе WDM Stream Decompressor-в самом конце Direct Show фильтров)
Infinite Pin Tee Filter
Line 21 Decoder (для Windows XP - Line 21 Decoder 2 )
Overlay Mixer (для Windows XP его вообще не надо добавлять)
Dump - при добавлении, вас спросят имя файла - укажите любое имя с расширением.bin.
Video Renderer (для Windows XP - Video Mixing Renderer ) Теперь эти фильтры необходимо соединить в цепочку вполне определенным образом. Соединяются фильтры достаточно просто. Мышкой щелкаете на выход фильтра и тянете стрелку ко входу следующего фильтра, не отпуская клавишу. Для систем отличных от Windows XP это будет выглядеть так (у меня не ХР-поэтому это мой вариант. А для ХР-расклад смотри ниже)

Output фильтра File Source (Async.) (Vts_02_1.vob на картинке) соединяем с Input фильтра MPEG-2 Splitter
- Video фильтра MPEG-2 Splitter с Video In фильтра декодера вашего ДВД плейера.
В данном случае - Cyberlink Video/SP Decoder
- Video Out c Cyberlink Video/SP Decoder Overlay Mixer
Infinite Pin Tee
- Output 1 фильтра Infinite Pin Tee Line 21 Decoder
Infinite Pin Tee соединяется с Input фильтра
Dump (причем он будет называться не Dump, а так как вы его назвали при добавлении.
На картинке - matrix1)
- XForm Out фильтра Line 21 Decoder соединяется с Input 2 фильтра Overlay Mixer
- Output фильтра Overlay Mixer подается на Output фильтра Video Renderer

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

Output фильтра File Source (Async.) (Vts_02_1.vob на картинке) соединяем с Input
фильтра MPEG-2 Demultiplexter
- Video фильтра MPEG-2 Demultiplexter с Video In фильтра декодера вашего ДВД плейера.
В данном случае - Cyberlink Video/SP Decoder
- Video Out c Cyberlink Video/SP Decoder подается на Input 0 фильтра Video Mixing Renderer
- Closed Caption Out (на самом деле там может стоять и другая надпись. Главное здесь
- символ «~») c Input фильтра Infinite Pin Tee
- Output 1 фильтра Infinite Pin Tee соединяется с XForm In фильтра Line 21 Decoder 2
- Output 2 (может быть и 3 и 4) фильтра Infinite Pin Tee соединяется с Input фильтра Dump
(причем он будет называться не Dump, а так как вы его назвали при добавлении. На картинке - matrix1)
- XForm Out фильтра Line 21 Decoder 2 соединяется с Input 2 фильтра Video Mixing Renderer
- В Windows XP этот пункт не нужен
- Сохраняем полученный GRF с любым именем
- Нажимаем на кнопку проигрывания файла. Появляется окно, в котором отображается фильм.
- Если вам нужны таки субтитры - ни в коем разе не закрывайте окно, где показывается кино.
Его можно закрыть только нажав сначала а кнопку стоп. Вся проблема в том, что пока не
проиграется весь фильм полностью - вы субтитров на целое кино не получите.
А фильм проигрывается с обычной скоростью. Т.е. для получения субтитров для
полуторачасового фильма, вам придется ждать эти самые полтора часа. Если же при этом у вас
фильм идет не одним vob-ом, то нужно после прогона первого vob-а, сделать следующее:
Удалить фильтр File Source (Async.) (Vts_02_1.vob на картинке). Просто выделить его и нажать
на клавиатуре клавишу Delete При этом разорвутся связи и . После этого, снова добавить
фильтр File Source (Async.) , указав в качестве источника следующий в цепочке vob. Затем
необходимо удалить фильтр Dump (matrix1 на картинке). При этом разорвется связь .
А затем добавить его снова, указав в качестве имени файла название оличное от первого названия.
Т.е. если при обработке первого vob-а, у вас было название matrix1, то теперь имеет смысл выбрать
название matrix2. Восстанавливаете связи , и . И нажимаете на клавишу проигрывания .
Таким же образом получаете субтитры для всех vob-ов в цепочке, поочередно. В принципе, можно
сохранить проект под именем CC.grf и пользовать его на следующих фильмах. Но перед сохранением
необходимо удалить фильтры File Source (Async.) и Dump , поскольку Graphedit глючит при попытке
открыть проект с битыми ссылками. Я так мыслю, вы же не будете хранить вечно свои vob-ы и bin-ы
на жестком диске? В общем сохраняете ил не сохраняте-ваше дело. Движемся дальше. Закрываете
Graphedit. Теперь необходимо склеить все полученные bin-ы, в один файл. Делается это простой
командой Dos - copy. Строчка будет выглядеть примерно так:

copy matrix1.bin+matrix2.bin+matrix3.bin+matrix4.bin matrix.bin

В результате я получил файл matrix.bin, содержащий субтитры от всего фильма. Следующий клиент в
нашей клинике - программа CCParser . Работает под Dos-ом. Занимается конвертированием
bin-субтитров в srt-субтитры. На самом деле умеет, понятное дело, гораздо больше, но нас волнует
пока только этот аспект ее умений. Dos команда для меня выглядит так:
ccparser.exe matrix.bin matrix.srt /3
Ключ /3
означает, что при необходимости субтитры будут печататься в три строки. Ключ, ясен пень, -
параметр необязательный. На выходе получаете субтитры в популярном формате SubRip. Как и что
с ними можно делать - описано в первой части этой страницы. Кстати у меня, почему-то,
получились субтитры состоящие только из заглавных букв. Видимо специфика closed captions.
Хотя на безрыбье - грех жаловаться! Вот, собственно, и все. Ежели что-то упустил - сильно не
корите, лучше сами опишите и мне пришлите (а я выложу) или отпишите что именно пропустил -
постараюсь дополнить. Удачи.

Последние материалы сайта