Просмотр HD-DVD фильмов с внешними субтитрами в программе PowerDVD


Технологии не стоят на месте, на смену DVD приходят новые форматы высокого разрешения — Blu-Ray и HD-DVD.

Цены на «железные» плееры (на момент написания этой статьи) пока высоки, однако вы можете просмотреть любимый фильм в высоком разрешении на своём компьютере при помощи программы PowerDVD.

Программа даёт отличную картинку, но вот беда — в ней не предусмотрено подключение внешних субтитров.

Ввиду особенности формата HD-DVD, есть выход. Дело в том, что в структуре HD-DVD диска есть, так называемый, playlist — .XPL файл, который легко редактируется даже в блокноте. Это даёт нам массу преимуществ — мы можем вырезать рекламные ролики, раздражающие нас надписи «FBI WARNING», затянутые заставки компаний и, конечно же, подключать внешние субтитры!

Итак, у нас на жестком диске имеется резервная копия HD-DVD фильма. Пусть это будет фильм «Serenity»:



Для начала нам необходимо изготовить сами субтитры. Субтитры нужны в хитром формате — Advanced Subtitles (в дальнейшем .xas-файл).

Проще всего их изготовить, сконвертировав имеющиеся субтитры при помощи известной программы Subtitle Workshop. Для этого нам надо скачать обновлённую версию SubtitleApi.dll-файла. Где взять самую свежую версию этого файла можно посмотреть на форуме. Не забудьте скачанный файл положить в SubtitleApi директорию программы. Теперь мы можем запускать программу Subtitle Workshop — переходим к загрузке файла:



Загружаем перевод к фильму «Serenity», который мы хотим преобразовать в .xas файл:



Корректируем тайминг, если это необходимо, проводим аудит перевода (данный шаг можно пропустить):



Теперь нам надо сохранить перевод в другом формате:



Если вы установили обновлённую версию SubtitleApi.dll, то должна появиться возможность выбора формата Advanced Subtitles:



Выбираем этот формат, присвоим нашему переводу имя rus.xas, запишем его и попадаем в форму параметров:



Форма поделена на 4 секции.
  • В первой — свойства шрифта: название, размер (в точках или процентном соотношении), цвет, прозрачность и возможность включить «тень».

    Если вам требуется выводить субтитры шрифтом, отличным от стандартного, например, Comic Sans MS, то файл шрифта comic.ttf необходимо поместить в директорию ADV_OBJ, а также прописать название в настройках вывода субтитров вместо arialbd.ttf.

  • Во второй — расположение шрифта: координаты левого нижнего угла, ширина и высота субтира (в точках или процентном соотношении) и выравнивание.

    Можно смешивать параметры, например, указывая значение ширины в процентах, в то время, как остальное указывается в точках.

  • В третьей — язык и кодировка перевода, в нашем случае это русский.

    Encoding — совпадает с кодировками, принятыми в xml.

  • В последней секции — настройки для склеивания коротких строк в одну (если не диалог) и разбиение полученной строки, если длина результата превышает указанное значение.

    Следует заметить, что PowerDVD в многострочных субтитрах отображает только две первые строки. Поэтому перед конвертированием субтитров неплохо сделать проверку, нет ли в файле многострочных субтитров. Для получения такой информации в Subtitle Workhop, нажмите комбинацию клавиш Ctrl+Shift+I.

В данном случае параметры настроены под 37" HD-Ready LCD панель с разрешением 1360x768, но вы можете легко подстроить расположение субтитров под свой монитор/телевизор.

NB! Функцию «Simulate shadow» полезно включать только тогда, когда при просмотре фильма нет сверху и снизу черных полос. Дело в том, что тень в .xas-файле получается наложением двух шрифтов разного цвета (со смещением), поэтому, при включенной опции перевод будет занимать два раза больше места. Также если показ видео сопровождается «рывками», попробуйте отключить тень — это снизит нагрузку.

Итак, у нас получился файл serenity.xas. Но это ещё не все. Необходимо сделать вспомогательный manifest-файл rus.xmf, который содержит в себе следующую информацию:

<?xml version="1.0" encoding="utf-8"?>
<Application xmlns="http://www.dvdforum.org/2005/HDDVDVideo/Manifest">
 <Region x="0" y="0" width="1920" height="1080" />
 <Markup src="file:///dvddisc/ADV_OBJ/rus.xas" />
 <Resource src="file:///dvddisc/ADV_OBJ/rus.xas" />
</Application>


Данный файл описывает путь к внешнему файлу, в нашем случае это наш перевод rus.xas. Изменять в этом файле ничего не надо — создав его один раз, вы можете использовать его во всех дальнейших «русификациях» фильмов.

Вот теперь мы готовы поключать наши субтитры к HD-DVD. Зайдём в директорию ADV_OBJ, где должен находиться файл PLST000.XPL. Он-то нам и нужен, ибо в нём описана последовательность проигрывания сцен, список аудио и видеодорожек, и так далее.



Открываем этот файл (тем же блокнотом) и видим, что по сути он состоит из тегов <TITLE ...>, в которых указаны такие параметры как длительность сцены, режим изображения, id сцены, комментарии и тому подобное. Наша задача найти главную сцену, т.е. сам фильм. Отличить от других сцен довольно легко, например по id="MainMovie" или, зная длительность фильма по продолжительности titleDuration="01:58:54:22", или по списку эпизодов, которые обозначены тегами <Chapter displayName= ...>.

В нашем случае главная сцена у нас описывается вот так:

<Title titleNumber="2" alternativeSDDisplayMode="letterbox" titleDuration="01:58:54:22" id="MainMovie" displayName="MainMovie" onEnd="returnToMM">
<PrimaryAudioVideoClip titleTimeBegin="00:00:00:00" titleTimeEnd="01:09:09:35" src="file:///dvddisc/HVDVD_TS/FEATURE_1.MAP" dataSource="Disc">
 <Video track="1" mediaAttr="1"/>
 <Audio track="1" streamNumber="1" mediaAttr="1" description="English 5.1"/>
 <Audio track="2" streamNumber="2" mediaAttr="1" description="Espanol 5.1"/>
 <Audio track="3" streamNumber="3" mediaAttr="1" description="Francais 5.1"/>
 <Audio track="4" streamNumber="4" mediaAttr="1" description="Director's Commentary 2.0"/>
 <Subtitle track="1" streamNumber="1" mediaAttr="1" description="English SDH"/>
 <Subtitle track="2" streamNumber="2" mediaAttr="1" description="Espanol"/>
 <Subtitle track="3" streamNumber="3" mediaAttr="1" description="Francais"/>
...


Пришло время подключать наши субтитры. Для этого ищем в нашей главе тег <TrackNavigationList>:

   <Chapter displayName="Do We Have an Order?" titleTimeBegin="01:45:49:52" />
   <Chapter displayName="It's Not Over" titleTimeBegin="01:47:30:35" />
   <Chapter displayName="End Titles" titleTimeBegin="01:53:14:47" />
 </ChapterList>
 <TrackNavigationList>
   <AudioTrack track="1" langcode="en:01" selectable="true"/>
   <AudioTrack track="2" langcode="es:01" selectable="true"/>
   <AudioTrack track="3" langcode="fr:01" selectable="true"/>
   <AudioTrack track="4" langcode="en:01" selectable="true"/>
   <SubtitleTrack track="1" langcode="en:01" selectable="true"/>
   <SubtitleTrack track="2" langcode="es:01" selectable="true"/>
   <SubtitleTrack track="3" langcode="fr:01" selectable="true"/>
 </TrackNavigationList>
</Title>
...


Обращаем внимание на длительность главы равную titleDuration="01:58:54:22", а также на то, что в главе четыре аудиодорожки и три субтитра.
Теперь вставляем перед тегом <TrackNavigationList> вот такую конструкцию (выделено красным):

   <Chapter displayName="Do We Have an Order?" titleTimeBegin="01:45:49:52" />
   <Chapter displayName="It's Not Over" titleTimeBegin="01:47:30:35" />
   <Chapter displayName="End Titles" titleTimeBegin="01:53:14:47" />
 </ChapterList>
 <AdvancedSubtitleSegment src="file:///dvddisc/ADV_OBJ/rus.xmf" titleTimeBegin="00:00:00:00" titleTimeEnd="01:58:54:22" sync="hard">
 <Subtitle track="4">
 <ApplicationResource src="file:///dvddisc/ADV_OBJ/rus.xmf" loadingBegin="00:00:00:00" priority="1" multiplexed="false" />
 <ApplicationResource src="file:///dvddisc/ADV_OBJ/rus.xas" loadingBegin="00:00:00:00" priority="1" multiplexed="false" />
 </AdvancedSubtitleSegment>

   <TrackNavigationList>
   <AudioTrack track="1" langcode="en:01" selectable="true"/>
   <AudioTrack track="2" langcode="es:01" selectable="true"/>
   <AudioTrack track="3" langcode="fr:01" selectable="true"/>
   <AudioTrack track="4" langcode="en:01" selectable="true"/>
   <SubtitleTrack track="1" langcode="en:01" selectable="true"/>
   <SubtitleTrack track="2" langcode="es:01" selectable="true"/>
   <SubtitleTrack track="3" langcode="fr:01" selectable="true"/>
   <SubtitleTrack track="4" langcode="ru:01" selectable="true"/>
...


И заносим в titleTimeEnd длительность главы, в нашем случае она равна "01:58:54:22". Кроме того, наш перевод в виде внешнего субтитра получает номер 4 (так как три субтитра уже есть на диске).

Вот и всё. Сохраняем изменённый файл VPLST000.XPL и переносим наши файлы rus.xas и rus.xmf в директорию ADV_OBJ. Запускаем PowerDVD, загружаем фильм, выбираем наш перевод последовательным нажатием кнопки U и наслаждаемся видео высокого качества. :)


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