Subs.com.ru home
map
contact
twitter

Главная / Справочник / Как извлечь субтитры из DVD-диска? 
 
Как извлечь субтитры из DVD-диска?

В статье описаны способы рипа субтитров с DVD диска.

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

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

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

subrip1

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

subrip2

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

subrip3

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

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

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

subrip5

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

<subrip6

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

SubRip screenshot 7

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

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

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

SubRip9

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

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

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

«Закрытые» субтитры (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 screenshot 1

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

Graphedit screenshot 2

[1] — Список доступных фильтров. Все фильтры, которые нам нужны, находятся в разделе DirectShow Filters
[2] — Для добавления конкретного фильтра, необходимо либо щелкнуть по нему два раза мышью, либо выделив его нажать на кнопку 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 это будет выглядеть так (у меня не ХР-поэтому это мой вариант. А для ХР-расклад смотри ниже)

Показать скриншот

[3] — Output фильтра File Source (Async.) (Vts_02_1.vob на картинке) соединяем с Input фильтра MPEG-2 Splitter
[4] — Video фильтра MPEG-2 Splitter с Video In фильтра декодера вашего ДВД плейера.
В данном случае — Cyberlink Video/SP Decoder
[5] — Video Out c Cyberlink Video/SP Decoder подается на Input 0 фильтра Overlay Mixer
[6] — Closed Caption Out (на самом деле там может стоять и другая надпись. Главное здесь
— символ «~») c Input фильтра Infinite Pin Tee
[7] — Output 1 фильтра Infinite Pin Tee соединяется с XForm In фильтра Line 21 Decoder
[8] — Output 2 (может быть и 3 и 4) фильтра Infinite Pin Tee соединяется с Input фильтра
Dump (причем он будет называться не Dump, а так как вы его назвали при добавлении.
На картинке — matrix1)
[9] — XForm Out фильтра Line 21 Decoder соединяется с Input 2 фильтра Overlay Mixer
[10] — Output фильтра Overlay Mixer подается на Output фильтра Video Renderer
[11] — Сохраняем полученный GRF с любым именем
[12] — Нажимаем на кнопку проигрывания файла. Появляется окно, в котором отображается фильм.
[13] — Если вам нужны таки субтитры — ни в коем разе не закрывайте окно, где показывается кино.
Его можно закрыть только нажав сначала на кнопку стоп. Для Windows XP-расклады выглядят
так (без картинки, поскольку-нет у меня этой операционки, а фильтры некоторые идут только с ней):

[3] — Output фильтра File Source (Async.) (Vts_02_1.vob на картинке) соединяем с Input
фильтра MPEG-2 Demultiplexter
[4] — Video фильтра MPEG-2 Demultiplexter с Video In фильтра декодера вашего ДВД плейера.
В данном случае — Cyberlink Video/SP Decoder
[5] — Video Out c Cyberlink Video/SP Decoder подается на Input 0 фильтра Video Mixing Renderer
[6] — Closed Caption Out (на самом деле там может стоять и другая надпись. Главное здесь
— символ «~») c Input фильтра Infinite Pin Tee
[7] — Output 1 фильтра Infinite Pin Tee соединяется с XForm In фильтра Line 21 Decoder 2
[8] — Output 2 (может быть и 3 и 4) фильтра Infinite Pin Tee соединяется с Input фильтра Dump
(причем он будет называться не Dump, а так как вы его назвали при добавлении. На картинке — matrix1)
[9] — XForm Out фильтра Line 21 Decoder 2 соединяется с Input 2 фильтра Video Mixing Renderer
[10] — В Windows XP этот пункт не нужен
[11] — Сохраняем полученный GRF с любым именем
[12] — Нажимаем на кнопку проигрывания файла. Появляется окно, в котором отображается фильм.
[13] — Если вам нужны таки субтитры — ни в коем разе не закрывайте окно, где показывается кино.
Его можно закрыть только нажав сначала а кнопку стоп. Вся проблема в том, что пока не
проиграется весь фильм полностью — вы субтитров на целое кино не получите.
А фильм проигрывается с обычной скоростью. Т.е. для получения субтитров для
полуторачасового фильма, вам придется ждать эти самые полтора часа. Если же при этом у вас
фильм идет не одним vob-ом, то нужно после прогона первого vob-а, сделать следующее:
Удалить фильтр File Source (Async.) (Vts_02_1.vob на картинке). Просто выделить его и нажать
на клавиатуре клавишу Delete При этом разорвутся связи [3] и [4]. После этого, снова добавить
фильтр File Source (Async.), указав в качестве источника следующий в цепочке vob. Затем
необходимо удалить фильтр Dump (matrix1 на картинке). При этом разорвется связь [8].
А затем добавить его снова, указав в качестве имени файла название оличное от первого названия.
Т.е. если при обработке первого vob-а, у вас было название matrix1, то теперь имеет смысл выбрать
название matrix2. Восстанавливаете связи [3], [4] и [8]. И нажимаете на клавишу проигрывания [12].
Таким же образом получаете субтитры для всех 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.
Хотя на безрыбье — грех жаловаться! Вот, собственно, и все. Ежели что-то упустил — сильно не
корите, лучше сами опишите и мне пришлите (а я выложу) или отпишите что именно пропустил —
постараюсь дополнить. Удачи.

Dron01
dron01@mail.ru
-----------------------------------
Статья взята с сайта Академия Фансаба


----------------------------------------------------------------------------
26/02/2004 | Автор: Dron01 (dron01@mail.ru) | Добавил (а): Antar


Комментарии:
1. janatas     29/01/2008  
Спасибо, наконец-то я свои СС сделала в srt )
2. birubir     14/02/2009  
Спасибо за подробную инструкцию. Давно пользуюсь этой программой, но вот только так и не понял, зачем копировать диск на хард. Я за сегодняшний день отрипповал дисков 5 или 6, и при этом исходник был исключительно в дисководе. :wink: Я ничего не копировал на винт, хотя раньше так и поступал. Может быть кто-нибудь объяснит в чём разницца? :wink:
3. Antar     14/02/2009  
Потому, что при копировании файлов на диск DvdDecrypter'ом, он заодно еще и защиту снимает с двд. Возможно, твои диски не были защищены - тогда без разницы.
4. birubir     18/02/2009  
Ясно. Только меня вот ещё что смущает. :wink: Что здесь, что в самой программе написано, что матрица символов делается своя для каждого DVD. Я так толком и не понял, на хрена делать для каждого диска персональную матрицу, но я, например, сделал одну матрицу для всех дисков. Естественно я исходил исключительно из параметра начертания шрифта. То бишь если начертание шрифта Bold, то матрица для нормального (например Plain или Regular) начертания не подойдёт.

Короче говоря, я опосля риппования субтитров с одного из дисков - сохранил матрицу под названием, например как Matrix_English_Regular под простой шрифт и теперь пихаю её во все диски. Ежели что-то новое, то сохраняю в ней же. Работает - великолепно! Один раз обучил и без всяких копирований на жёсткий диск мне программа забабахала английские субтитры с пяти дисков RUSCICO за час с копейками. :wink: Так что скоро выложу... :wink:
5. Antar     18/02/2009  
Я тоже имею где-то такую "стандартную" матрицу. Но насколько помню (давно не рипал), она не везде подходила. По-моему, это зависело от шрифта...
6. Povarkok     13/05/2011  
Подскажите пожалуйста, при копировании SubRip путает символы, например: н или п распознает как и, ковырялся в настройках, не помогает, мож кто сталкивался с подобной проблемой ?
7. Капитан     13/05/2011  
Подскажите пожалуйста, при копировании SubRip путает символы, например: н или п распознает как и, ковырялся в настройках, не помогает, мож кто сталкивался с подобной проблемой ?
Бывает но редко, чаще путает О и C. Если настройки (Options->Advanced OCR Setup->Sensibility on Character Difference->Ползунок вправо) не помогают, то после распознавания приходится исправлять ошибки вручную в текстовом редакторе (я использую Dsrt ) и дополнительно проверять орфографию (я использую LoskSub).
8. Povarkok     14/05/2011  
Спасибо, таки исправлял вручную. Еще раз спасибо за помощь.
9. desordenado     12/11/2011  
Я не пойму в чём дело, но у меня в английски титрах с португальского DVD практически через букву программа не распознает знаки. Кто-нибудь подскажет?
10. Al.Tche     27/11/2011  
Нужна помощь! Пожалуйста, кто выдирал закрытые сабы, помогите.
Не могу найти фильтр dump. Не отображается он в DirectShow фильтрах.
11. Al.Tche     27/11/2011  
HELP!
Как же всё-таки правильно запускать обе программы: Graphedit и CCParser ?
С Dump разобралась, теперь при попытке преобразовать bin в str в командной строке выдаёт, что parsing не удался, не открывается .bin ??? Как быть? Что делать?
12. Капитан     28/11/2011  
Al.Tche, а VSRip-ом закрытые сабы не пробовали выдирать?
13. Al.Tche     28/11/2011  
Мне их на ура выдрал CCExtractor.
Но всё же интересно разобраться с CCparser.
14. magnumst     23/09/2012  
Обьясните нормально, как запустить CCparser, что делать дальше. Ниче не понять!

Всего: 14, на странице: 14