Источник: | http://rad.xtalk.msk.su/dv-dvd/index.html |
Автор: | RaD |
Введение
Эта статья представляет собой сжатое описание процесса обработки видеоматериала на операционной системе ALTLinux.
Вся информация, изложенная в статье, является моим мнением и не может рассматриваться как истина, не подлежащая сомнению.
В качестве исходного материала рассматривается DV плёнка, в качестве результирующего - DVD диск.
Для успешной работы необходимо использовать последние версии упомянутого в статье программного обеспечения.
Подготовка DV материала
Съёмка
Если оператор уважает труд человека, который будет производить монтаж отснятого, или не желает слышать нелестные отзывы в свой адрес, то он будет производить съёмку правильно. Тому, как снимать правильно, было посвящено немало статей в специализированных журналах, например, в журнале "Режиссёр".
Я делаю так: снимаю неподвижные эпизоды по 10 секунд. Слово "неподвижные" означает, что в момент съёмки никаких действий с камерой не производится. Производить съёмку желательно со штатива. Дергать камерой не надо, играть с "зумом" тоже. Всё равно ничего хорошего из этого потом не получится. Но если вы работаете на MTV, то не прислушивайтесь к моим советам.
Настройка Kino
Перед работой с программой Kino, её необходимо правильно настроить.
Общая настройка
Через меню "Edit" > "Preferences" переходим к настройкам:
* Вкладка "Defaults" - Настраиваем параметры цветности, звука и формата изображения:
* Вкладка "Capture" - Настраиваем параметры захвата отснятого материала, каталог для полученного материала и его формат: * Вкладка "IEEE 1394" - Настраиваем параметры взаимодействия с IEEE 1394, указываем устройства, через которые будет производиться импорт и экспорт видеоматериала: * Вкладка "Display" - Настраиваем отображение материала программой. Я выбрал низкое качество декодирования для ускорения работы своей системы. На качество получаемого материала это никак не влияет: * Вкладка "Audio" - Настраиваем параметры работы со звуком, указываем, что желаем его слышать и через какое устройство: * Вкладка "Jog/Shuttle" - Настраиваем параметры дополнительного оборудования (можно заказать у авторов программы): * Вкладка "Other" - Настраиваем остальные параметры, сохранение проекта с относительными именами файлов, двойное кодирование изображения:Поддержка субтитров
Я сделал перевод статьи Dan Dennedy, в которой он рассказывает о скрытых возможностях Kino. Рекомендую сначала ознакомиться с ней, а затем в файле ~/.gnome2/kino найти строчку:
и изменить её следующим образом:
Теперь требуется заново запустить Kino.
Сброс материала на компьютер
Теперь пришло время сбросить отснятый материал на компьютер. Для этого необходимо иметь не очень старый компьютер, оборудованный интерфейсом IEEE 1394 и имеющий вместительный жёсткий диск. Час DV материала занимает не больше 15 GB. Я использую для работы с видео достаточно древний компьютер: Intel Celeron 900 / 256 MB RAM / 140 GB HDD / PCI IEEE 1394 Interface / ALTLinux 2.4 Master
Для сброса материала используется программа Kino. Мне нравится работать с GUI, консоль оставим для других задач. Но если что-то вам мешает использовать графический интерфейс на данном этапе, то обратитесь к программе dvgrab.
Подключаем DV камеру к компьютеру. Я специально пропускаю момент настройки интерфейса IEEE 1394, это неоднократно и подробно описано в Google. К тому же на ALTLinux эта плата определяется автоматически. А вот список модулей следует привести:
video1394 12180 0 (unused)
ohci1394 23912 0 [video1394]
raw1394 17652 0
ieee1394 42852 0 [video1394 ohci1394 raw1394]
Захват материала производят следующим образом. На вкладке "Capture" программы Kino указывается каталог и имя файла для размещения захваченного материала. Видеокамера включается в режиме "player" и запускается воспроизведение. В окне просмотра должно появиться изображение с камеры. Затем следует нажать на кнопку "Capture" и дождаться захвата материала. После захвата необходимо нажать на кнопку "Stop" и выключить видеокамеру.
Структура проекта
По мере рассмотрения материала, мы достигнем структуры, показанной и прокомментированной ниже:
movie01.avi
movie02.avi
menu - каталог с материалом для DVD меню
background.png - фоновое изображение
button-hl.png - маска для кнопок в режиме highlight
button-sl.png - маска для кнопок в режиме select
dvdauthor.xml - управляющий файл для сборки DVD структуры
gimp-menu.xcf - проект Gimp с изображениями
menu.xml - управляющий файл для создания DVD меню
prepare.sh - скрипт сборки DVD структуры
silence.mp2 - файл с тишиной
mpeg - каталог с материалом для записи на DVD диск
ready.mpeg - исходный материал
dvd.mpeg - материал с импортированными субтитрами
project.smil - файл проекта Kino
subtitle.sub - комментарии в виде субтитров
subtitle.xml - управляющий файл для размещения комментариев в MPEG
timecode.sub - информация о дате/времени в виде субтитров
timecode.xml - управляющий файл для размещения комментариев в MPEG
Монтаж материала
Приступаем к монтажу. Безжалостно режем всё ненужное, это около 50% материала, бывает больше. Как только процесс вычищения закончен и вы уверены, что больше никаких изменений в материал вноситься не будет, выполняем экспортирование материала в формате DV на тот же диск.
Это промежуточное экспортирование необходимо для сохранения дискового пространства. Мы оставляем только полезный материал. После экспортирования оригинальный материал можно удалить.
Подготовка к экспорту в DVD MPEG
Создаём новый проект Kino. Импортируем в него материал, экспортированный на предыдущем шаге, и сохраняем проект под именем project.smil.
Комментарии к сценам
Теперь приступаем к набиванию комментариев к сценам. Одной сцене может быть присвоен только один комментарий. Если требуется несколько комментариев, просто разбейте одну сцену на нужное количество сцен и прокомментируйте каждую по отдельности. Если комментарий не будет вмещаться в одну строку, то при его внедрении в MPEG поток комментария будет разделён на две или более строк. Комментарий имеет формат:
Нормальная длительность комментария составляет 4 секунды, т.е. 100 кадров. На рисунке, приведённом ниже, показан пример готового проекта:
Не забываем периодически сохранять файл проекта, ведь именно в него производится сохранение информации о комментариях.
Получение субтитров с комментариями
Сохраняем файл проекта и экспортируем из него комментарии с помощью команды:
Исходный код скрипта smil2sub.sh приведён ниже:
#!/bin/bash
while read line
do
echo $line | grep "subtitle=\"*\"" >/dev/null 2>&1 && \
echo $line | \
sed 's/.*w3m -dump -T text/html
done
Получение субтитров с временным кодом
Первый поток субтитров будет содержать информацию о дате/времени съёмки. Для получения этой информации из материала необходимо установить программу dv2sub. Закройте Kino.
Перейдите в каталог с проектом и запустите Kino командой:
В результате этого во вкладке "Export" > "DV Pipe" появятся новые элементы выпадающего списка. Укажите любое имя файла в поле "File:", всё равно файл субтитров будет создан в каталоге запуска Kino, т.е. в каталоге проекта, и будет иметь имя dv2sub.sub.
Переименовываем файл dv2sub.sub в timecode.sub.
Экспорт MPEG
Переходим на вкладку "Export" > "DV Pipe", указываем имя файла, компрессор (Tool: FFMPEG Dual Pass DVD-Video) и профайл (Standard VOB), как показано на рисунке. Затем нажимаем на кнопку "Export" и долго медитируем. Процесс кодирования MPEG файла (с расширением .vob) занимает достаточно много времени, по крайней мере, на моём компьютере.
Импортирование субтитров в MPEG
Импортирование субтитров производится с помощью утилиты spumux. Можно импортировать до 32-х независимых потоков с субтитрами. Я ограничиваюсь пока двумя.
В каталоге ~/.spumux/ должен быть файл arial.ttf.
Для импортирования комментариев используется управляющий файл subtitle.xml:
fontsize="28.0" font="arial.ttf"
horizontal-alignment="left" vertical-alignment="bottom"
left-margin="60" right-margin="60" top-margin="20" bottom-margin="30"
subtitle-fps="25" movie-fps="25" movie-width="720" movie-height="574"
/>
Для импортирования информации о дате/времени используется управляющий файл timecode.xml:
fontsize="28.0" font="arial.ttf"
horizontal-alignment="left" vertical-alignment="bottom"
left-margin="60" right-margin="60" top-margin="20" bottom-margin="30"
subtitle-fps="25" movie-fps="25" movie-width="720" movie-height="574"
/>
Для упрощения импорта субтитров я использую следующий скрипт:
#!/bin/bash
cat mpeg/ready.vob | spumux -s 1 -P timecode.xml | spumux -s 2 -P subtitle.xml > mpeg/dvd.mpeg
, который вызывается из главного каталога проекта.
Создание меню
На данный момент, создание меню для DVD - это нудная ручная работа. Но такой подход позволяет сделать то, чего невозможно добиться, используя программы - генераторы меню.
Меню представляет собой MPEG видео, в которое внедрён поток кнопок в виде субтитров. Кнопками являются особо определённые области на экране, при выделении или нажатии на которые происходит активизация одного из слоёв субтитров. Это обеспечивает подсветку соответствующей кнопки. При нажатии на кнопку может произойти выполнение команды, переход к другому меню или переход к видео. Все вопросы по созданию меню и использованию команд поможет снять команда:
Создание фонового изображения
Открываем GIMP и создаём новое изображение 720x576 (75x80 DPI) RGB. Вставляем в слой картинку для меню, пишем надписи, создаём кнопочки и так далее. Периодически сохраняем проект в формате XCF.
Слева и справа надо сделать направляющие, отступающие от краёв на 60 пикселей. Это граница для текстового оформления. Текст названия эпизодов набирается 24 шрифтом.
Обратите внимание на то, что картинки, текст и прочие элементы разделены по слоям. Это позволяет свободно перемещать объекты относительно друг друга:
Создание изображений с кнопками
Когда работа с картинками завершена, надо добавить два слоя: Highlight (этот слой работает, когда кнопка меню выбирается пользователем) и Select (этот слой работает, когда кнопка меню была нажата пользователем).
Выбираем слой Highlight. Выбираем для него цвет переднего фона, например, #3516F1. Выбираем кисть, шаблон кисти - неразмытый кружок в 5 пикселей. Выбираем инструмент "Выделятор" и выделяем все кнопки, пользуясь клавишей Shift. Рисуем кромку с помощью "Правка" > "Обвести выделенное", в появившемся окне указываем, что надо "Использовать один из инструментов", а в качестве инструмента выбираем "Кисть". Получается слой с рамками для всех кнопок. То же самое выполняем для слоя Select, только цвет указываем #F1BB16. Сохраняем эти два слоя в отдельные картинки. Отдельно открываем эти файлики и преобразуем в 4-х цветное индексированное изображение. Сохраняем в формате PNG.
Создание MPEG файла с меню
Создаём управляющий файл, который описывает параметры кнопок (имя и координаты), а также указывает на файлы, содержащие маски кнопок для разных режимов.
highlight="menu/button-hl.png"
select="menu/button-sl.png"
>
Приведённые ниже команды собирают DVD меню из подготовленных нами компонентов, в соответствии с описанным выше файлом menu.xml:
# Преобразовываем картинку в видео
convert menus/background.png ppm:- | \
ppmtoy4m -n50 -F25:1 -A59:54 -I p -r | \
mpeg2enc -n p -f8 -b5000 -a2 -o background.m2v
# Объединяем видео и аудио для меню
mplex -f 8 -o menu-temp.mpeg background.m2v menu/silence.mp2
# Прописываем поток субтитров (кнопок) для меню
spumux menu/menu.xml <> menu.mpeg
Авторизация DVD
Для авторизации диска необходимо подготовить файл dvdauthor.xml следующего содержания:
В данном примере у нас отсутствует главное меню. Мы используем сразу подменю, которое содержит пять управляющих зон-кнопок. Следует отметить, что наименования кнопок в данном файле совпадают с наименованиями кнопок, использованными при создании DVD меню (см. файл menu.xml).
Подразделы нашего диска определены параметром chapters тэга vob. Навигация производится именно по указанным подразделам (см. определение кнопок).
Авторизация диска выполняется с помощью команды:
Краткие советы
Поправьте скрипты экспорта Kino, чтобы звук преобразовывался в AC3 формат в любом случае. Это позволит избежать проблем с фирменными DVD-плеерами. Китайские плееры играют всё что угодно и не могут рассматриваться как оборудование для тестирования созданного диска.
Субтитры намертво внедряются в MPEG файл. Если у вас в DVD проект входят несколько MPEG файлов, то о субтитрах вам точно не надо беспокоиться.
При указании следующего chapter в dvdauthor.xml округляйте значение секунд вперёд.
Комментарии
Заинтересованные в изменении содержимого данной статьи могут высылать свои мнения на radz at yandex dot ru
Комментариев нет:
Отправить комментарий