Не нашли нужных субтитров в Сети? Не беда: их можно «вытащить» с диска 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
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 вытаскиваются особо хитрым способом, о котором будет поведано ниже. Итак по порядку:
Для начала, вам необходимо перенести все вобы фильма на жесткий диск. Вместе с вобами необходимо перенести на жесткий диск и 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 сидюковых версий фильмов.
Сначала задается начало и конец первого куска фильма (время). После чего этот кусок субтитров сохраняется. После этого задается начало и конец второго куска фильма. И сохраняется второй кусок субтитров.
Сохранение субтитров.
- Очистить окно с субтитрами.
Вот, собственно, и все. На выходе получаете субтитры в нужном вам формате. В принципе их еще можно переводить из формата в формат.
Как и в случае с «открытыми» субтитрами, без переписывания ДВД-диска на винчестер-здесь не обойтись. Причем проблема, в данном случае, в том, что переписывать лучше всего одним куском. Т.е. получить у себя на жестком диске 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.
Хотя на безрыбье -
грех жаловаться!
Вот, собственно, и все. Ежели что-то упустил -
сильно не
корите, лучше сами опишите и мне пришлите
(а я выложу) или отпишите что именно пропустил -
постараюсь дополнить. Удачи.
Процессорное решение N2600 линейки ATOM: Intel улучшает продукты для нетбуков начального уровня
Спутниковая карта мира онлайн от Google Обновленные карты яндекс со спутника
Отключение автоисправления и подсказок вводимых слов Как убрать поисковую подсказку в яндексе
Здравствуйте, уважаемые читатели финансового журнала «сайт»! В данном выпуске мы расскажем о рекламе в Интернете - одной из самых динамично развивающихся отраслей рекламы и неотъемлемой частью успешного бизнеса. Если Вы хотите начать свое дело, но не зн
Метод радарной интерферометрии незаменим для своевременного выявления сдвигов земной поверхности над районами подземной добычи полезных ископаемых, картирования деформаций бортов и уступов карьеров, а также для мониторинга природных и техногенных смещений
Отправление и получение писем, посылок, бандеролей составляет часть современной жизни. Ежедневно миллионы человек получают заветные коробочки или конверты. "Почта России" предоставляет множество услуг, одной из которой является отслеживание посылки. Что э
Большинство людей при покупке телевизора меньше всего задумываются, какая именно технология применяется при производстве матрицы. Покупатель приходит в магазин и хочет новый телевизор: идеальный кандидат должен быть «плоский, с большой диагональю, ну и по
While Guacamelee 2 isn’t a split-screen game by definition, it does support local co-op which qualifies it as a couch co-op title. The game allows up to four players to play on the same screen at the same time and experience the entire story together. Fo
Преимущество консольных команд в том, что можно сразу проверить каждый вид прицела в бою с целью понять, подходит вам он или нет. Во время настройки прицела в CS:GO не обойтись без консольных команд. Стандартно в настройках можно выбрать только цвет и сти