Добавление своих субтитров для DVD
Почти все пиратские диски (кроме некоторых полных копий с R5) к сожалению не содержат русских субтитров, а мне иногда так хочется посмотреть фильм на языке оригинала, с оригинальной ничем не испорченной звуковой дорожкой, помогая себе русскими субтитрами (язык то все равно плохо знаю :) ). Да иногда и английские субтитры не помешали бы... При том что сами субтитры найти в интернете - не проблема.
В данной статье я расскажу пару способов которыми я добавляю свои субтитры для DVD.
Почти все пиратские диски (кроме некоторых полных копий с R5) к сожалению не содержат русских субтитров, а мне иногда так хочется посмотреть фильм на языке оригинала, с оригинальной ничем не испорченной звуковой дорожкой, помогая себе русскими субтитрами (язык то все равно плохо знаю :) ). Да иногда и английские субтитры не помешали бы... При том что сами субтитры найти в интернете - не проблема.
Учится смотреть мне кажется надо так:
1. Сначала смотрим фильмы на русском языке с включенными английскими субтитрами (предполагаются именно
английские - это для меня предочтительней - поскольку фильмы почти все на английском :) )
2. Потом тренируемся смотреть фильмы на английском, с русскими субтитрами.
3. Затем на английском, с английскими же субтитрами (разговорную речь распознать тяжелее чем текст)
4. Ну и в результате надо стремится смотреть фильм на языке оригинала не отвлекаясь ни на какие субтитры :)
В данной статье я расскажу пару способов которыми я добавляю свои субтитры для DVD.
Для начала нам необходимы собственно сами субтитры.
Очень большой сайт с субтитрами на различных языках - divxsubtitles.net (на нем нужно зарегистрироватся)
И еще один сервер (здесь в основном русские субтитры) - subtitles.ee
Для работы с субтитрами понадобится программа Subtitle Workshop
У обоих способов есть один общий момент - для работы необходимо сначала разложить имеющийся dvd-фильм на потоки:
отдельно видео, отдельно аудио, и субтитры.
Разложить можно с помощью программы vobedit - открываем первый файл из тех vts*.vob которые содержат собственно сам фильм.
Самый простой признак по которому его можно определить - эта серия vts_nn_X.vob имеет самый большой размер
Выбираем файл vts_nn_1.vob - именно с этого контейнера как правило начинается фильм. vts_nn_0.vob содержит (или не содержит :) ) меню, иногда дополнения оформленные в виде меню - фильмографии любят так делать.
После открытия нажимаем Demux - ставим галочки чтоб обработал всю эту серию и жмем OK.
Программа спросит куда сохранить аудио-файл - указываем каталог, туда будут сохранены и видео, и аудио, и потоки с субтитрами.
Итак - первый способ с помощью программы IfoEdit и DVDSupTools
Необходимо подготовить файл с субтитрами в формате MicroDVD (расширение .sub). Вам нужно знать в каком формате ваш видеофильм
PAL или NTSC - это нужно при кодировании субтитров и для выравнивания их по времени. Подробно я на этом пока
останавливатся не буду, считаем что у вас есть подготовленный .sub файл и вы знаете в каком формате
ваш фильм PAL или NTSC.
Вот такую палитру из четырех используемых цветов нам надо узнать. Сделать это можно если у нас есть субтитры
с DVD над которым мы работаем.
Выбираем VTS_PGCITI, и в раскрывающемся списке выделяем VTS_PGS_X с фильмом (его можно определить по
времени, видите надпись Playback time, или по большому количеству чаптеров - Number of cells). Выбираем в меню
Tools -> Save Celltimes to file, и сохраняем список глав в текстовый файл.
Затем для удобства закрываем самый верхний раскрывающийся список (с ifo-файлом - чтобы видет все звуковые
дорожки и субтитры оригинального диска) и запускаем еще один экземпляр IfoEdit, выбираем в меню
DVD Author -> Author new DVD
Теперь указываем все необходимые видео, аудио, файлы с субтитрами, и файл со списком глав
(помните делали Save Celltime to file ? ), и сразу же выставляем выставляем язык у субтитров и аудио (не зря же мы
открыли второй экземпляр IfoEdit, например файл VTS_01_0.22.sup соответсвует в оригинальном DVD субтитрам
с ID=0x22 Suomi)
Ну вот собственно и все, указываем каталог где будет собиратся новый DVD и нажимаем Ok.
Когда DVD соберется, закройте на всякий случай оба экземпляра IfoEdit и снова запустите его. Теперь откройте
оригинальный ifo и выберите VTS_PGC_X с фильмом. Затем откройте ifo с фильмом из нового, собранного вами DVD (тут вариантов
нет :), открывать нужно будет VTS_01_0.IFO). Теперь выбрав VTS_PGC_X с фильмом из оригинального DVD выберите в меню
Copy Colors from this PGC. Затем выбрав VTS_PGC_X нового DVD выберите в меню Paste Colors into this PGC
Затем сохраните изменения в ifo-файлах - тем самым мы восстановили палитру с оригинального DVD, для правильного
отображения субтитров
Теперь настроим DVDSupTools
В состав входят три утилиты:
DVDSupEncode.exe - подготавливает нужный нам бинарный .sup файл из субтитров в тесктовом формате .sub,
DVDSupHTML.exe - генерирет html файл, (при указании опции -bitmap будут сгенерированы и файлы - изображения субтитров) из готового бинарного sup файла
DVDSupDecode.exe - то же что и DVDSupHTML.exe но в текстовом формате.
При генерации sup файла нам необходимо еще знать палитру.
Небольшое отступление в теорию: субтитры в DVD - это по сути обычные битмапы, где на информацию о цвете
выделено 2 бита. Таким образом субтитры могут отобразить 4 разных цвета. Кроме того каждый набор VTS
(Video Title Set) содержит информацию о палитре из 16 цветов.
Причем каждый из этих цветов кодируется тремя байтами
Такого запаса цветов вполне хватает даже для реализации системы караоке (первый цвет - граница,
для удобочитаемости, второй - собственно сам текст, третий - караоке при закрашивании и четверты на запас :) )
DVDSupDecode.exe VTS_02_0.20.sup
Результатом работы будет файл VTS_02_0.20.txt, в нем мы видим такие строчки
Palette=3210
Alpha=FFF0
Эти значения и занесем в DVDSupEncode.ini
Небольшое отступление об установке и настройке DVDSupTools. Эта программа идет как обычный архив, без инсталятора,
с помощью, состоящей из одного лишь readme.txt (в который я например заглянул лишь потом, прежде чем выяснил,
не без помощи filemon'а и regmon'a :),
что эта программа свои настройки читает из файла, который лежит в довольно нестандартном месте :) ).
Во-первых вы должны знать что эта программа читает настройки из файла DVDSupEncode.ini который должен лежать
Х:\Documents and Settings\
И во-вторых, для корректной обработке русских субтитров параметр FontCharSet должен быть равным 204, а сам
текстовый файл с русскими субтитрами должен быть в кодировке Windows CP-1251.
Вот так выглядит мой .ini файл.
[Default]
FrameW=720
FrameH=576
FrameRate=25
Delay=0
ShowBitmap=0
OnTop=0
Contour=1
Indent=40
DynamicSize=0
Palette=3210
Alpha=FFF0
FontName=Arial
FontCharSet=204
FontSize=23
FontStyle=REGULAR
[NTSC]
FrameW=720
FrameH=480
FrameRate=29.97
Delay=0
ShowBitmap=0
OnTop=0
Contour=2
Indent=40
DynamicSize=0
Palette=3210
Alpha=FFF0
FontName=Arial
FontCharSet=204
FontSize=23
FontStyle=REGULAR
У меня фильм был в формате PAL поэтому строчка для генерации была такой
DVDSupEncode.exe -p:Default Minority_report_RUS_2002.sub
получили в результате Minority_report_RUS_2002.sup
Теперь запускаем IfoEdit и открываем в нем ifo файл для нашего фильма (открываем именно тот ifo в котором
находится управляющая информация о фильме)
Второй способ - с помощью DVD Maestro