Хардсаб, или Вшиваем субтитры в видеофайл


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

Первое, что следует решить, прежде чем приниматься за хардсаб: а оно вам нужно? Чаще всего проблемы, связанные с воспроизведением внешних субтиров, в конечном итоге удается решить, даже если вы смотрите видео не на компьютере, а на «железном» плеере: если он не поддерживает субтитры, попробуйте обновить прошивку — возможно, производитель устройства уже позаботился об этом.

Но всё же иногда возникают случаи, когда без хардсаба не обойтись: когда плеер старый, перепрошивке не подлежит и вообще снят с производства, или вы закачиваете кино на свой «айпод», мобильный телефон или микроволновую печь...

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

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

Что нам понадобится для лабораторной работы:
  1. Видеофильм в формате AVI, MPEG (или VOB) или в любом другом формате, пригодном для пережатия;
  2. Синхронизированные с ним субтитры (о синхронизации читайте здесь);
  3. VirtualDubMod;
  4. VSFilter.


Подготовка

Установите VirtualDubMod.

Распакуйте архив с VSFilter. Не знаю, как будет дальше, но на момент написания этой статьи он поставлялся в виде архива 7z (можно распаковать WinRAR'ом) и содержал две версии VSFilter.dll, в каталогах «Release» и «Release Unicode». Нас интересует версия для Юникода.

Переименуйте файл VSFilter.dll в VSFilter.vdf и перенесите его в каталог «Program Files\VirtualDubMod\plugins\».

Наложение субтитров

Запускаем VirtualDubMod. Выбираем меню File > Open video file...
Открываем видеофайл.
Все сообщения относительно заголовков VBR игнорируем.
В меню «Video» выбираем «Full Processing Mode»:



В окне Video > Compression выбираем кодек DivX:



Нажимаем кнопку «Configure»:



У вас картинка может отличаться от приведенной (потому что в разных версиях DivX элементы управления расположены и называются по-разному). Ваша задача — найти и выставить кодирование в один проход («1-pass» или «Single Pass») и битрейт в районе 900...1300. Чем выше битрейт, тем выше будет качество видео и тем больше размер файла.

Нажмите «OK» и опять «OK».

При необходимости можно также задать параметры кодирования аудио в меню Audio > Stream List и другие параметры. Кстати, существует также и двухпроходное кодирование, которое позволяет при том же битрейте получить качество на порядок выше, чем при однопроходном. Но я специально не буду на этом подробно останавливаться, так как наша статья не об этом, а желающие могут прочитать всё это в дюжине других мест.

Теперь выбираем Video > Filters и (после всех остальных фильтров!) добавляем фильтр «TextSub» (это, собственно, и есть наш переименованный VSFilter.dll):



Дальше нам предлагают выбрать файл субтитров:



Обратите внимание, что этот фильтр поддерживает. Во-первых, уйму разных форматов субтитров, включая SSA/ASS, SMI, и другие. В числе прочих и имеющийся у нас SRT. Во-вторых, большой список различных кодировок, которые, насколько я понимаю, нужны для тех случаев, когда в системе проставлена локаль, отличная от кодировки субтитров. Выберем свою кодировку («RUSSIAN»).

Нажимаем «ОК».

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



Теперь можно произвести кодирование (File > Save as...), чтобы получить видео со вшитыми субтитрами. Ну а дальше вы знаете, что с ним делать — в железный плеер, айпод, микроволновку...

автор: ssgen
Июнь 2007

Обсуждение на форуме (59)