Forums -> Наши статьи -> Как накладывать субтитры?
| Full Version

VxWorks
Как накладывать субтитры?
VxWorks


Disclaimer (он же отмазка)

1.Данная статья предназначена сугубо для образовательных целей и ни в коей мере не затрагивает чьих-либо авторских прав (кроме моих, естественно).
2. Я не такой уж большой спец в наложении субтитров, так что в этой статье я не смог рассмотреть все вопросы, касающиеся данной темы.
3. Английские субтитры были выбраны потому, что так легче всего учить английскую мову, а также потому что мой Windows не поддерживает русские буквы в программах. И флаг ему в руки.
4. Приношу свою благодарность авторам всех программ, использованных в статье, группе Helloween, снабжавшей меня энергией, жене, которая была вынуждена слушать вопли этой самой группы, и всем, всем, всем!


Для чего написана эта статья?

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


Зачем это надо?

Иногда, вместо перевода на фильм лучше наложить субтитры. Зачем? А хотя бы для того, чтобы слушать оригинальный звук, без вмешательств гундосого переводчика. Или, чтобы лучше выучить язык оригинала.
Субтитры можно взять русские или на любом другом языке, по выбору. Главное этот самый язык понимать.


Где взять субтитры?

Там же, где и многое другое - в интернете. Одним из лучших сайтов с субтитрами, на мой взгляд, является dvd.box.sk. Только перед заходом на него желательно включить блокировку pop-up окон, а то их там едва ли не больше, чем самих субтитров.
Субтитры там присутствуют на огромном количестве языков, включая русский.


Инструментарий

Что нам понадобится для сей нелегкой задачи? Как я уже говорил, я потратил довольно большое время, чтобы подобрать приличную программу для работы с субтитрами.
Требования к ней были -
1. Возможность конверсии форматов
2. Редактирование текста субтитров
3. Изменение времени показа и скорости показа
4. Цена (а точнее, я искал только Freeware).

В итоге, я такую программу нашел. Ей оказалась Subtitle Tools чешского производства. Как выяснилось, все-таки в Чехии умеют делать достойные вещи, кроме Шкод, которые все-таки умудряются не развалиться в момент схода с конвейра (хорошая вещь Фольксвагеновский клей!).
Программа в самом деле очень хороша, не требует инсталляции и не почти не глючит (единственное, что я могу ей поставить в упрек, она плохо работает с Large Fonts, и, из-за этого я не мог посмотреть номер версии, что, впрочем, не столь важно.

Кроме этой программы, нам потребуются Virtual Dub, фильтр для субтитров к нему же, и наш старый знакомый TMPGEnc, вкупе с установленным VFAPI плагином..


Приготовления

Перед тем, как мы начнем терзать несчастное видео и домашних, вынужденных по сто раз слушать один и тот же фрагмент, пока мы пытаемся подогнать звук под субтитры, надо установить фильтр для субтитров в Virtual Dub. Дело это очень трудное и требует по крайней мере двухдневной подготовки, глубокого знания операционной системы и досконального знания кода Virtual Dub.
Стоп, о чем это я? Так, попугать захотелось :)

На самом деле, все просто до безобразия:
1. Открываем архив с фильтром и копируем файл Subtitler.vdf в директорию plugins, которая находится в той же директории, что и сам Virtual Dub.
2. После сего нелегкого труда, запускаем сам Virtual Dub
3. Идем в Video->Filters

user posted image

Нажимаем на Add:

user posted image

Нажимаем на Load, идем в директорию, куда был скопирован Subtitler.vdf и выбираем его.

user posted image

Все, фильтр установлен.<

Теперь надо установить Frame Server. Вообще говоря, это не является обязательной процедурой, просто позволяет существенно сократить время обработки файла и перегонки результата в VCD.
Что Вы говорите? Ах, уже установлен...
Ну, тогда можно сразу перейти к разделу редактирования субтитров. Это немного дальше по тексту.

Для остальных - как установить Frame Server.
Идем в ту же директорию, где находится Virtual Dub. Находим там AuxSetup.exe и запускаем на исполнение:

user posted image

Нажимаем на Install Handler. Программа честно предупреждает, что будет установлено в систему. Всем бы такую честность! Особенно куче всяких Adware программок:

user posted image

Жмем на ОК:

user posted image

Frameserver установлен. Со спокойной душой закрываем AuxSetup.exe. На этом наши приготовления закончены.

VxWorks
Шаманы, бубны и субтитры

А теперь взяли в руки бубен и приготовимся с заклинаниями прыгать около костра, изображая шаманов. Но лучше вместо бубна взять и запустить Subtitle Tool

user posted image

Нажимаем на кнопку Open и загружаем файл с субтитрами:

user posted image

Теперь запишем его в формат SSA (Substation Alfa), там прямо так и написано - для Virtual Dub. Нажимаем на ОК.

user posted image

Не спешим закрывать Subtitle Tool. Он (или она?) нам еще пригодится.

Открываем Virtual Dub и идем в меню File->Open video file..

user posted image

Выбираем нужный файл и кликаем на ОК:

user posted image

Опять идем в Video->Filters:

user posted image

Cписок фильтров пуст. Чтобы не оставлять его в таком печальном положении, нажимаем на Add:

user posted image

Выбираем там subtitler и жмем на ОК

user posted image

Естественно, нам от него теперь так просто не отделаться! Надо лезть в настройки...

VxWorks
Прежде всего, выбираем файл с субтитрами, сгенерированный с помощью Subtitle Tool. Нажимаем на "..."

user posted image

Кликаем на нужный файл и нажимаем на Open

user posted image

Получаем вот такой экран:

user posted image

Можно, кстати, нажать на Show Preview и просмотреть, как будут накладываться титры:

user posted image

Но мне, как законченному снобу, не нравится этот режим. Я предпочитаю смотреть на результат в главном окне Virtual Dub. Хотя бы потому, что там показывается время. Поэтому нажимаем на ОК

user posted image

Вернувшись в главное окно Virtual Dub, естественно не терпится приступить к обработке файла. Вполне нормальное желание!
А как насчет посмотреть, совпадает ли звук с субтитрами? Ведь и фильм и субтитры делал, скорее всего, неизвестный дядя (или тетя - я не шовинист). А ну как не совпадет?.
Нажимаем на клавишу Play (третью слева, с буквочкой O снизу, чтобы видеть результат)

user posted image

Ну ничего себе! Говорить - говорят. А субтитров нет. Непорядок!
Что делать-то будем?
А вот что. Засекаем время, когда начинаю говорить (заодно неплохо было бы понять, что именно, говорят - так намного легче подгонять). В нашем случае - говорить начинают в 00:14:782 (14 секунд с копейками). И открываем Subtitle Tool

user posted image

Оказывается, эта фраза будет произнесена только в 11 минут и сколько-то там секунд. Непорядок!
Видимо, у нас весь файл сдвинут по времени. На самом деле, чтобы придти к такому выводу, желательно просмотреть еще несколько кадров из середины и конца фильма и засечь там время тоже. Это поможет решить - постоянная задержка или прогрессирующая.
В этой статье описывается случай с постоянной задержкой. Правится она довольно легко - время в фильме вычитается из времени в субтитрах. Нажимаем на закладку Time Shift.
Выбираем направление сдвига (назад/вперед) - в нашем случае - назад (Backwards) и пишем вычисленное время в графу Seconds. Undo не обнаружено, но всегда для этой цели можно использовать клавишу, обратную предыдущей по действию (в нашем случае - Forewards)
Если вычисления сделаны правильно, то получим время, близкое к желаемому (особой точности - до тысячной доли секунды - не требуется, все-таки не звук под движение губ подгоняем).

Когда решим, что время выставлено правильно, записываем файл с тем же именем, что было ему дано при первой конверсии. Это сильно ускорит процесс подгонки субтитров.

user posted image

Не закрывая Subtitle Tool... А почему, собственно, не закрывая?
А потому что, эта программа не умеет читать SSA субтитры. Она их только пишет. И, если программа закрыта, а надо чуть-чуть подправить время (или еще что-нибудь), то надо будет опять начинать сначала - с исходного файла.
Так вот, не закрывая Subtitle Tool, возвращаемся к Virtual Dub. Отматываем изображение на пару секунд назад и смотрим субтитры. Если имя файла не изменилось, то Virtual Dub покажет измененный файл с субтитрами.
Вот и получилось!
Гасим костер, закидываем бубен на полку и стираем боевую раскраску с лица...

user posted image
VxWorks
Последний бой...

Все, что нам осталось сделать - это записать полученный фильм в MPEG1 для последующей записи в VCD.
Идем в File->Start frame server:

user posted image

Выбираем идентификатор Frame server'a, а потом задаем имя файла (например, test.vdr):

user posted image

Что такое? Почему это Frameserver installed - None?
А дело в том, что он не установлен и надо это было сделать, когда я про него писал (немного выше). Но еще не поздно!

user posted image

Так что устанавливаем Frame server и получаем такую вот картинку:

user posted image

Запускаем TMPGEnc, настраиваем его для конверсии, как описано здесь. Только вместо файла выбираем не исходный AVI, а тот, что был задан frame server (test.vdr). Чтобы его открыть, выбираем All files и тогда его можно будет найти.

user posted image

Теперь записываем получившийся файл на CD (как описано здесь или здесь и, с чувством выполненного долга отправляемся смотреть фильм.


Приятного просмотра!