Процесс создания Video DVD диска существенно отличается от записи обычного DATA-диска. Для этого сначала подготавливается видеоматериал, выполняется деление его на разделы, создается структура меню. Дополнительно в проект можно добавить субтитры и всяческие украшения, вроде интерактивных меню и кнопок, фоновых рисунков, звуковое сопровождение. После этого требуется создать структуру DVD диска, состоящую из двух каталогов: AUDIO_TS и VIDEO_TS (содержит VOB-файлы, меню, субтитры). Когда проект создан, остается записать его на диск. Основой всех программ для DVD мастеринга в Linux служит утилита dvdauthor
Создать с ее помощью dvdauthor готовый диск вполне реально. Но на проект со сложными разветвленными меню и музыкальным оформлением уйдет много времени. С другой стороны, все графические программы, вроде KmediaFactory, QDVDAuthor и т.д., являются лишь фронт-эндами к нему.
Из подготовленных mpeg-файлов создаем файловую систему DVD:
$ dvdauthor -o dvd/ -t my_video.mpeg
По окончании снова запускаем dvdauthor, но уже для создания TOC (Table of Contents):
$ dvdauthor -o dvd/ -T
INFO: dvdauthor creating table of contents
INFO: Scanning dvd/VIDEO_TS/VTS_01_0.IFO
Вот, в принципе, и все, содержимое DVD у нас теперь есть, осталось создать ISO-образ и записать его на диск:
$ mkisofs -dvd-video -o dvd.iso dvd/
$ growisofs -dvd-compat -Z /dev/dvd=dvd.iso
Файл dvdauthor
Конфигурационный файл, используемый утилитой dvdauthor, является обычным файлом в XML-формате. Основные параметры описаны в «man 1 dvdauthor«. Здесь описывается все: видеофайлы, используемые в проекте, VMGM (Video Manager Menu) меню, кнопки, формат видео (обычный или wide) и прочее. Простейший файл, описывающий подключение одного фильма с двумя главами к проекту, имеет следующий вид.
$ mcedit dvdauthor.xml
<dvdauthor dest=»DVD»>
<vmgm />
<titleset>
<titles>
<pgc>
<vob file=»dvd_movie.mpg» chapters=»0,30:00″/>
</pgc>
</titles>
</titleset>
</dvdauthor>
Параметр vmgm отвечает за основные настройки меню. Для упрощения в этом поле ничего не используется, поэтому мы его сразу же и закрыли, оставив значения по умолчанию. Хотя здесь тоже настроек предостаточно. Так при помощи параметра format можно указать формат ntsc или pal, за соотношение сторон отвечает aspect. А что делать при переходе на widescreen, указывается с помощью одноименного параметра. Значениями могут быть nopanscan, noletterbox или crop. А еще здесь можно задать рисунок, музыкальный или видеофайл, кнопки, команды. Тело проекта с меню и видео описывается параметрами, заключенными в titleset. В проекте должен быть как минимум один titleset. После объявления titleset может следовать секция menus, в которой описано меню. Параметры совпадают с vmgm. В подменю titles собственно и описываются подключенные ресурсы, в терминологии автора pgcgroup. Здесь может быть один видеофайл, до 8 звуковых и 32 файлов рисунков. Для удобства просмотра файлы можно разделять на главы, к которым можно будет быстро перейти, указывая время в формате [[HH:]MM:]SS. В примере я поделил видео на две главы chapters=»0,30:00″. Вторая глава, как видно, будет начинаться с 30 минуты видео. Можно загнать и два мувика одной главой:
<vob file=»video1.mpg» chapters=»0″ />
<vob file=»video2.mpg» />
Дополнительно предусмотрен параметр pause, позволяющий указать время задержки перед воспроизведением следующего файла. В качестве аргумента может выступать цифра, показывающая время в секундах или inf, то есть неопределенная задержка. Команды, которые необходимо выполнить перед или по окончанию воспроизведения, заключаются в конструкции <pre> commands; </pre> и <post> commands; </post>. Список команд приведен в мане. Наиболее популярна «jump TARGET;», она позволяет перейти к выбранному разделу меню или видео. Например:
<vob file=»video1.mpg» />
<post> jump chapter 1; </post>
Просто зациклит воспроизведение видео.
//
Справка на русском языке к DVDauthor: https://yadi.sk/d/MN4LXEqAlFMGng