- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF107:Kino
Материал из Linuxformat.
- Новая серия! Linux в основе домашней киностудии: от захвата с камеры до мастеринга DVD
Содержание |
Kino: К захвату готовы
Video |
---|
|
- ЧАСТЬ 1 Если друзья отказываются смотреть видеозапись вашего отпуска на Багамах, то это либо из-за черной зависти, либо из-за вашего неумения обработать фильм. С первым ничего не поделаешь, а что касается второго – Алексей Маслий к вашим услугам.
Около года назад я приобрел MiniDV-камеру. Естественно, сразу же встал вопрос: как обрабатывать отснятое видео на компьютере и делать из него диски DVD Video? Вариант с простым переписыванием материала с камеры на видеокассеты или DVD я отбросил сразу: поглядев парочку таких фильмов (а они, пожалуй, есть в коллекции у каждого из нас), неизбежно приходишь к выводу, что видео, которое потом предполагается смотреть (а не держать на полке), надо обрабатывать хотя в минимальном объеме.
Разумеется, в комплекте с камерой поставлялся диск с какимто ПО, предназначенным как раз для этих целей – но, естественно, работающим только под Windows и Mac OS (поэтому он до сих пор и лежит в коробке нераспечатанным). Я же, немного поразмышляв, решил реализовать весь цикл обработки в Linux, тем более, что к тому моменту у меня уже был некоторый опыт (собственно, я знал две вещи: первое – это можно сделать, и второе – какие инструменты для этого требуются). На протяжении следующих нескольких уроков мы поговорим о захвате видео- и аудиопотоков с цифровой камеры, монтаже видеофильма и наложении эффектов (заставки, плавные переходы между сюжетами, титры), кодировании результата в формате MPEG-2 и, наконец, создании DVD-Video с меню, фоновой музыкой и заставками.
Пользуясь случаем, хочу сказать мастерам монтажного стола, что я не занимаюсь профессиональной видеосъемкой, поэтому, если вы ждете увидеть пошаговое HOWTO по созданию собственного блокбастера, рекомендую поискать его в другом месте. Зато для приведения репортажей со скромных и не очень скромных домашних торжеств и офисных праздников в божеский вид этих рецептов вполне хватит. Ну что, приступим?
Подбираем оборудование
Стандартным интерфейсом для DV-камер является IEEE1394, также известный как FireWire. Некоторые модели, включая и мою собственную, оборудуются также портом USB 2.0, но из-за сравнительно низкой пропускной способности данной шины, максимум, что вы сможете получить при таком подключении – это видео VHS-качества, т.е. 320х200 при 30 кадрах в секунду либо 640х480 – при 15. Камера же реально снимает с разрешением стандарта PAL/NTSC (720х576/720х480) при 25 или 30 кадрах в секунду. PCI-адаптер для IEEE1394 в комплекте с кабелем обойдутся вам рублей в 200, так что, даже если на вашем компьютере нет порта FireWire, не стоит экономить на спичках.
Вторым крайне важным показателем является объем винчестера. Поскольку по интерфейсу IEEE1394 передается сырое несжатое видео (то есть каждый кадр в отдельности) плюс звук в формате WAV, то дискового пространства требуется довольно много: 12–14 ГБ на час записи. Дальнейшая обработка и подготовка DVD-диска потребует еще около 10 ГБ (мы вернемся к этому вопросу на последующих уроках). Ну и конечно, диск должен бы ь настолько быстрым насколько это возможно для вашего ПК.
Третий фактор – мощность процессора. Вообще говоря, она играет заметную роль лишь на одном этапе, а именно – кодировании в MPEG-2, но разница может быть весьма значительной.
Чтобы не быть голословным, приведу пример. Я попытался смонтировать один и тот же фильм на двух разных компьютерах: AMD Athlon XP 2500+ / 1 ГБ ОЗУ (DDR PC3200 Dual Chanel) / 80-ГБ HDD ATA100 7200rpm и AMD Athlon64 4000+ / 1 ГБ ОЗУ (DDR2 PC5300 Dual Chanel) / 120-ГБ HDD SATA II 7200rpm. Результаты – 4 часа 52 минуты на первой системе и 2 часа 48 минут на второй – говорят сами за себя. Различие становится еще более существенным (не по величине, а по сути), если вы ограничены в машинном времени (например, разделяете домашний компьютер со своими родными).
Производительность дисковой подсистемы особенно критична при захвате видео с камеры. Если скорости только-только хватает на выполнение данной задачи, во время работы к компьютеру лучше не прикасаться. Подумайте также об останове прочих процессов в системе: часть материала может быть загублена, если какомунибудь beagled внезапно придет в голову светлая мысль срочно проиндексировать ваши файлы.
Открытый инструментарий
На данном фронте особого разнообразия не наблюдается (что, вообще говоря, нетипично для Open Source). Безусловным фаворитом является редактор для нелинейного видеомонтажа Kino (http://www.kinodv.org), базирующийся, несмотря на заглавную K в имени, на GTK+. Кроме захвата видео с камеры, в Kino также производится видеомонтаж, наложение эффектов (заставки, титры, переходы) и кодирование видео- и аудиопотоков (с помощью сторонних программ-помощников).
Для создания DVD-дисков (DVD-мастеринга) приложений уже значительно больше. Лично я предпочитаю QDVDAuthor (http://qdvdauthor.sourceforge.net) – по сути, оболочку к консольной программе DVDAuthor. QDVDAuthor позволяет визуально создавать меню (с заставками, анимацией, переходами, фоновой музыкой и т.д.), а затем преобразует все это к формату, необходимому для записи DVD-Video, и генерирует XML-файл с инструкциями для DVDAuthor. В качестве альтернативы можно посмотреть DVDStyler (http://www.dvdstyler.de), который также является оболочкой к DVDAuthor и входит в состав LiveCD Dyne:bolic (LXF106).
Для подготовки заставок я буду использовать графический редактор GIMP (http://www.gimp.org), для обработки звука (если таковая потребуется) – Audacity (http://audacity.sourceforge.net), а для разных вспомогательных целей – Avidemux (http://www.avidemux.org), видеоредактор, который, помимо прочего, может заменить Kino в области кодирования видео/аудио.
На самом деле и Kino, и QDVDAuthor, и даже Avidemux полагаются в своей работе на ряд консольных приложений, таких как mjpegtools, lavc, mencoder и др. За исключением данного случая, я не буду упоминать о них, поскольку внутренняя механика обычно бывает хорошо скрыта от глаз пользователя (по крайней мере до тех пор, пока не вылезет в виде зависимостей и не стукнет больно).
На протяжении всей серии уроков я буду использовать дистрибутив ALT Linux Desktop 4.0.1. Как и всегда, этот факт не будет иметь решающего значения – вы сможете следовать приведенным рекомендациям в любом современном дистрибутиве общего назначения. Разумеется, названия пунктов меню и расположение программ могут слегка отличаться, но общая суть от этого не пострадает.
Приступим к делу
Рис. 1 а) Все в порядке; б) Если вы видите это, значит, ваша камера не отвечает... в) ...а если это – значит, не загружены драйвера IEEE1394.
В первую очередь, убедитесь, что с оборудованием все в порядке и не требуется никаких дополнительных действий (это справедливо в подавляющем большинстве случаев, если вы не модифицировали аппаратную часть, т.е. не устанавливали дополнительных устройств и, в особенности, интерфейсных плат IEEE1394 после инсталляции дистрибутива). При необходимости, воспользуйтесь стандартными конфигураторами, чтобы обнаружить и настроить новое оборудование. Для проверки подключите камеру к порту IEEE1394 и включите ее в режиме воспроизведения (Play). Запустите Kino (как правило, он обозначен в меню приложений как Мультимедиа > Медиа(Видео) редактор). В меню программы выберите пункт Правка > Настройка и найдите вкладку IEEE1394 в появившемся диалоге. На ней присутствует всего один пункт: Устройство AV/С (правда, в более старых версиях программы число элементов на данной вкладке может быть существенно большим). Если все хорошо, то здесь будет отображаться название вашей камеры (рис. 1а), если же нет, то его не будет и/или появится предупреждающее сообщение. Так, на рис. 1б изображена ситуация, когда от камеры нет отклика, а на рис. 1в – сбой, вызванный отсутствием в системе драйверов для IEEE1394. В первом случае необходимо проверить соединение интерфейсного кабеля с камерой и компьютером и убедиться, что устройство включено и находится в режиме воспроизведения. Во втором необходимо подгрузить соответствующие модули ядра. Эта процедура производится от имени суперпользователя. Откройте терминал и выполните в нем команду:
su - modprobe raw1394 modprobe dv1394
Если не было получено сообщений об ошибках, значит, загрузка прошла удачно, но на всякий случай проверьте это, введя команду lsmod | grep 1394. Вы получите список загруженных модулей ядра, имеющих отношение к подсистеме FireWire:
raw1394 32048 0 dv1394 23312 0 ohci1394 38088 1 dv1394 ieee1394 369784 4 raw1394,dv1394,sbp2,ohci1394
Драйвера FireWire входят в стандартную поставку ядра Linux и должны быть доступны в вашем дистрибутиве (возможно, хотя и маловероятно – в виде отдельного пакета). Если же вы собирали ядро вручную, убедитесь, что вы не забыли установить группы параметров CONFIG_FIREWIRE_* и CONFIG_IEEE1394_* в m.
Теперь присоедините камеру к компьютеру и включите ее в режиме воспроизведения. Набрав cat /var/log/messages | grep 1394, вы увидите сообщения вида:
Apr 2 14:34:35 helavista kernel: ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[10] MMIO=[df002000-df0027ff] Max Packet=[2048] IR/IT contexts=[4/8] Apr 2 14:38:05 helavista kernel: ieee1394: raw1394: /dev/raw1394 device initialized
Далее, запустите Kino и перейдите в диалог настроек, как было рассказано выше. На вкладке IEEE1394 должно появиться название подключенной камеры, как на рис. 1а.
Следует заметить, что большинство современных дистрибутивов подгружают модули ядра при обнаружении нового устройства автоматически, так что в первую очередь попробуйте подключить видеокамеру в режиме воспроизведения и посмотреть настройки Kino.
И последнее – если включить камеру не в режиме воспроизведения, а режиме записи (съемки; иногда он также обозначается как CAMERA), то настройка тоже пройдет удачно, а вот захват работать не будет.
Подготовим рабочее место
Скажу пару слов об интерфейсе Kino. Главное окно программы (рис. 2) состоит из традиционных элементов: меню, панель инструментов, статусная строка и рабочая область. Последняя разделена на четыре части. В вертикальном столбце слева отображается раскладка видеофрагментов с подробной информацией о них в порядке воспроизведения. В правой части рабочей области вертикально располагаются вкладки рабочих режимов: Редактор, Захват, Шкала времени, Срезка, Эффекты, Экспорт. По умолчанию активирован первый режим, Редактор, а переключаться между ними можно также с помощью основного меню (пункт Вид) или функциональными клавишами F2-F7. Все самое интересное происходит в центральной части, а ее содержимое зависит от выбранного режима работы. В первых четырех случаях здесь находится окно просмотра видео, под которым располагаются стандартные элементы управления (пауза, воспроизведение, перемотка и т.д.), регулятор громкости и временная шкала, видом которой можно управлять из специального выпадающего меню.
Перед тем, как приступить к работе с Kino, рекомендую вам внести свои предпочтения в настройки по умолчанию: тогда они будут автоматически действовать на все новые проекты. Конечно, в каждом конкретном случае их можно переопределить, но если вы вдруг забудете это сделать, а такое иногда случается, то домашний каталог захламляться не будет. Диалог настроек, как мы уже знаем, доступен через меню Правка > Настройка. Помимо уже известной нам (и сейчас не особенно нужной) третьей по счету вкладки IEEE1394, там присутствует еще шесть: Общее, Захват, Экран, Звук, Jog/Shuttle, Прочее. Проделайте следующее:
- Общее Здесь необходимо выбрать формат видео по умолчанию (PAL или NTSC), частоту дискретизации звука и соотношение сторон (4:3 или 16:9).
- Захват Тут следует указать полный путь к файлу, в который будет сохраняться сырой видеопоток. По умолчанию, это captureХХХ.dv в вашем домашнем каталоге, что, на мой взгляд, неудобно. Далее, выберите тип файла (я оставляю RawDV) и параметры записи. Авторазбивка на файлы означает, что для каждого сюжета (или отрезка записи длиннее 2 ГБ) будет создаваться новый файл.
- Экран управляет выводом видеопотока на ваш монитор. Подберите здесь параметры на свой вкус, но на слабых машинах и с видеокартами без аппаратного ускорения я бы рекомендовал активировать Reduced Xvideo и Терять кадры при необходимости и отключить Просмотр во время захвата. Оптимальный для вашего компьютера набор опций составляется путем проб и ошибок.
- Прочее Здесь доступны дополнительные настройки программы, из которых нам сейчас будет интересен Каталог проекта по умолчанию (название, полагаю, говорит само за себя).
Теперь, когда наш инструментарий в сборе и настроен как надо, можно приступать к делу.
Захват видеопотока
Запустите Kino и выберите вкладку Захват. В этом режиме к стандартному виду над кнопками управления просмотром добавляются еще четыре и строка с именем файла для сохранения (рис. 3). Дополнительные кнопки будут активны только в том случае, если камера подключена к компьютеру и работает в режиме воспроизведения.
Проследите, чтобы кнопка AV/C была нажата – это позволит управлять камерой с компьютера. Далее, при помощи кнопок перемотки найдите начало сюжета, который необходимо загрузить. Для навигации по носителю (в случае MiniDV – кассете) удобно пользоваться кнопками Перейти к началу предыдущего/следующего сюжета. Для более точного позиционирования имеются инструменты покадрового сдвига.
Перед началом захвата не забудьте указать имя файла и каталог для сохранения видеоданных. Также желательно выбрать формат индикатора положения в видеопотоке. По умолчанию, показывается порядковый номер кадра, но гораздо удобнее выбрать режим Счетчик, как на рис. 3; в этом случае индикатор примет вид часы:минуты:секунды.доли секунды.
Для начала захвата необходимо нажать кнопку Захват (с большой красной точкой). Камера автоматически начнет воспроизведение, которое будет записываться в файлы с указанным названием, с прибавлением номера и расширения dv. Если в указанном каталоге уже есть файлы видеоданных Kino, нумерация будет начата с первого свободного слота.
Остановить захват можно кнопкой Стоп. Оставшиеся два органа управления позволяют записать стоп-кадр и отключить вывод звука на внешнюю акустическую систему (естественно, аудиопоток продолжает сохраняться).
По завершении процесса загрузки материала не забудьте выключить видеокамеру или отожмите кнопку AV/C. В противном случае любые перемещения по загруженному на компьютер видеоряду заставят камеру искать в видеопотоке соответствующее местоположение, что особенно вредно для MiniDV-устройств c их кассетами.
Вот и вся процедура захвата отснятого материала с цифровой видеокамеры – как видите, это несложно. Ну, а про обработку полученного ролика мы поговорим в следующий раз – пока что положите его на полку. LXF