Virtual Dub. Настройки и модификации

В мире программ для обработки видео Virtual Dub известен уже давно в основном благодаря своей бесплатности и простоте использования. Базовые навыки приобретаются в течение часа работы. Однако для более эффективного применения нужно обладать также знанием используемых кодеков и фильтров. Итак, что же такое Virtual Dub? Это программа линейного видеомонтажа, или, говоря проще, достаточно мощный инструмент для редактирования и сжатия видео в формате AVI. Но не стоит думать, что Virtual Dub заменит Adobe Premiere. Не заменит никогда, но прекрасно дополнит.

Программ класса Virtual Dub существует достаточно много. Все они различаются уровнем универсальности (поддержка различных форматов и кодеков) и набором базовых функций. Полных аналогов Virtual Dub не существует. Функциональный набор Virtual Dub можно разделить на 3 части:

1. Линейный видео- и аудиоредактор. Ближайшим конкурентом и одновременно дополнением в этой области можно назвать Canopus ProCoder. В отличие от Virtual Dub, этот редактор поддерживает большее число форматов и кодеков, но для него не найдется такого огромного количества фильтров, как для Virtual Dub. Множество программ для конвертации видео (например, для мобильных телефонов) обычно только повторяют некоторые возможности этих программ, упрощая работу. В последнее время с развитием h.264 довольно широкую популярность приобрела программа Nero ReCode с оригинальным и довольно качественным кодеком MPEG-4 Ateme. Интерфейс этой программы достаточно удобен за исключением некоторых мелких моментов. С помощью этой программы удобно сжимать DVD-видео (формат MPEG-2, а значит, и DVD, не поддерживается базовой модификацией Virtual Dub). Программы DVD2AVI, FlaskMPEG и Gordian Knot — наиболее известные аналоги Nero ReCode. Достаточно необычно в этом ряду выглядит VideoLAN Media Player — программа, предназначенная для воспроизведения видео. Однако этот плейер включает функции сохранения и сжатия видео и аудио с применением небольшого числа фильтров.

2. Фреймсервер (Frameserver). Программа работает как обычный видеоредактор. Суть режима в том, что после обработки кадры видео не сохраняются, а передаются на обработку другому приложению. В качестве фреймсервера Virtual Dub используют не так уж часто. Чаще в этой роли используется программа AviSynth. Для нее существует множество собственных фильтров, более качественных, чем фильтры Virtual Dub. Кроме того, можно использовать и фильтры от Virtual Dub. Возможности AviSynth шире, чем у Virtual Dub, однако использовать их можно только посредством написания скриптов — AviSynth лишен интерфейса, и результат его работы можно увидеть только в "приложении-клиенте" — в этом и суть работы фреймсервера.

3. Захват видео. В последних версиях (начиная с 1.6.3) Virtual Dub обновился и сильно улучшился интерфейс захвата видео. Обладателям ТВ- тюнеров и карт захвата на базе Connexant BT848/878 (AverMedia TVPhone/TVPhone 98/Model 203, Fly Video 98, KWorld Expert PVR-TV878, Acorp Y878 и т.д.) эта часть Virtual Dub будет особенно интересна, т.к. в ней наконец-то решена проблема "несовместимости" BT8x8 с драйвером захвата от Microsoft (драйвер позволял захватывать только с разрешением 352х288 в формате PAL, что составляет половину возможностей чипсета). Других приемлемых средств захвата до этого момента, в общем-то, и не существовало, т.к. штатные программы захвата от
производителей ТВ-тюнеров и карт захвата были либо сырыми, либо обманывали (как, например, программа от AverMedia 203, которая захватывала видео с разрешением 720х288 вместо 720х576) либо "специализировались" на определенных устройствах и кодеках. Ближайшие конкуренты Virtual Dub в этой области — iuVCR и BorgTV — программы, специально предназначенные для BT8x8. В возможности VideoLAN Media Player также заложена работа с устройствами захвата и ТВ-тюнерами, однако эта часть программы совсем "сырая" и практически не работает.

Однако тонкости захвата видео с помощью Virtual Dub — тема для отдельной статьи. Рассмотрим некоторые настройки программы Virtual Dub. За основу возьмем версию 1.6.10. Программа поддерживает много форматов — таких, как AVI, MPEG-1, IFF-анимации, скрипты AviSynth. Можно также загружать последовательности картинок. Общий вид рабочего окна Virtual Dub показан на рис. 1. Внизу рабочего окна расположена панель инструментов. Каждая кнопка снабжена подсказкой и дублируется командой в меню Edit. Рядом отображается текущее время, кадр. В панели статуса есть информационная строка, в которой отображается полезная информация. Над панелью инструментов находится ползунок для удобства перехода к произвольному кадру. Две панели просмотра видео предназначены для входного и выходного видео. При применении фильтров можно будет просмотреть изменения. Можно заметить полное отсутствие кнопок управления проектом. Соответствующие команды находятся только в меню, что создает некоторое неудобство. Хотя, с другой стороны, большинство команд можно вызвать сочетанием клавиш.

Команды меню рассмотрим более подробно. В меню File нас интересуют следующие пункты:
. Open/Close video file — открыть и закрыть файл.
. Append AVI segment — добавляет к открытому файлу другой файл. У файлов должны быть одинаковые параметры разрешения видео, кодеков, битрейта. Если файлы имеют одинаковое название и пронумерованы, они могут быть открыты/добавлены автоматически.
. Save as AVI, Save old format AVI, Save segmented AVI — эти опции предназначены для сохранения файла. Отличие их в том, что первая сохраняет файл в формате OpenDML AVI, вторая — в "старом" формате Microsoft AVI (для нас разницы между этими форматами нет), третья — для "кусочного" сохранения. Для чего она предназначена? Если размер AVI-файла превышает 2 Гб, то этот файл может быть не открыт в
некоторых программах редактирования. Эту опцию также очень удобно использовать для разбивки фильмов на части по 700 Мб. Для этого в диалоговом окне достаточно задать ограничение размера файлов 700. Ограничение можно задавать не только по размеру, но и по количеству кадров в каждом файле. Каждое диалоговое окно сохранения файла имеет опцию Don't run this job now; add it to job control so I can run it in batch mode. Она предназначена для запуска текущего задания не в данный момент, а в удобное время, что позволяет сразу
сформировать список из нескольких заданий, а не дожидаться выполнения каждого задания перед формированием и запуском следующего.
. File information — выводит информацию об открытом файле. Опция особенно полезна для выставления значения задержки аудиопотока и для определения отсутствия кодека в системе.
. Load/Save processing settings — загружает или сохраняет настройки фильтров, кодеков, а если отмечена опция Include selection and edit list, то и выделенного фрагмента (или удаленных фрагментов). Все настройки сохраняются в виде скриптов.
. Start frame server — запускает так называемый фреймсервер. Опция предназначена для случая, когда кадры видео обрабатываются в другой программе редактирования. Это позволяет применять определенные фильтры (например, для улучшения качества изображения) в Virtual Dub и передавать кадры видео другому редактору.
. Capture AVI — переводит программу в режим захвата видео.
. Run script — запускает скрипт обработки видео.
. Job control — список заданий. Задания выполняются по порядку. Порядок заданий можно менять. Здесь же можно видеть статус выполнения заданий. Каждое задание в Job control сохраняется в виде скрипта. Посмотреть и отредактировать скрипты заданий можно в файле
virtualdub.jobs.

В меню Video расположены следующие пункты:
. Filters — список фильтров для обработки видео. У Virtual Dub есть определенное количество базовых (внутренних) фильтров. Также
достаточно много фильтров для этой программы есть в Интернет. Все подгружаемые фильтры хранятся в папке Plugins. Загружаются они
автоматически при старте программы. Описание и сравнение хотя бы части существующих на сегодняшний день скриптов — также тема
отдельной статьи.
. Frame rate — частота кадров. В этом окне можно изменять частоту кадров для подгонки видеопотока к аудио. Еще можно изменять частоту кадров, не меняя времени воспроизведения видео (то есть конвертировать частоту кадров).
. Color Depth — глубина цвета (и цветовые пространства). Поначалу лучше оставить здесь все по умолчанию, пока мы не узнаем больше о цветовых пространствах.
. Compression — список кодеков с информацией о каждом кодеке и настройками. Здесь видны только так называемые кодеки с VfW (Video for Windows) интерфейсом. Каждый кодек имеет какие-либо ограничения, связанные с глубиной цвета и цветовым пространством. Поэтому
рассмотрение популярных на сегодня кодеков отложим до рассмотрения цветовых пространств.
. Direct stream copy. Если отмечена эта опция, то видео не будет сжиматься. Оно будет сохраняться в том виде, в каком было открыто. Можно будет только выставить частоту кадров. Эта опция полезна для разбивки и склеивания видеофайлов, а также когда требуется сжать только аудиопоток или подогнать частоту видеопотока к аудио.
. Full processing mode. В этом режиме происходит обработка и сжатие видео.
. Error mode — определяет режим отработки ошибок входного видеопотока. По умолчанию при обнаружении ошибки обработка видео
останавливается. Вторая опция в этом окне позволяет пропускать "ошибочные" кадры и начинать обработку со следующего ключевого кадра. Третья опция включает обработку "ошибочных" кадров. Содержимое этих кадров может быть сильно искажено и вызвать крах программы.

В меню Audio находятся вот такие пункты:
. Interleaving — чередование. AVI — аббревиатура, которая расшифровывается как чередование видео и аудио. В этом окне определяются
параметры чередования. Если работаете с MPEG-1,2-форматом, то нужно обратить внимание на Audio skew correction окне File information. Значение задержки аудиопотока должно быть таким же, как в окне File information.
. Compression. Эта опция аналогична опции в меню Video. В этом окне присутствует опция Show all formats. Обычно форматы аудио, скрытые этой опцией, несовместимы с форматом открытого аудиопотока. Это означает, что попытка напрямую (без конверсии и сохранения открытого потока в несжатом формате) сжать аудиопоток в новый формат приведет к рассинхронизации видео- и аудиопотока.
. Use advanced filtering. Эта опция, а также опция Filters, появились в новых версиях Virtual Dub для обработки аудио без применения соответствующих редакторов.
. Conversion. Конвертирует аудиопоток. Можно выбрать частоту и качество, а также количество каналов и режим.
. No audio, Source audio, WAV Audio — эти опции определяют источник аудио — соответственно без аудио, аудио из открытого видеофайла, аудио из отдельного файла формата WAV (но может быть сжато любым кодеком).
. Direct stream copy и Full processing mode, Error mode. Опции аналогичны опциям в меню Video.
В остальных меню расположены опции, не влияющие на качество обработки видеофайла, поэтому их рассматривать не будем. Мы рассмотрели настройки базовой модификации Virtual Dub. Помимо нее, существует еще несколько модификаций. Основные модификации таковы:
. Virtual Dub MPEG-2. Отличается от базовой модификации поддержкой MPEG-2- и VOB-файлов.
. Vitual Dub Mod. Отличается от базовой модификации поддержкой MPEG-2-, VOB- и MKV-файлов. Эту модификацию можно также использовать для создания видеофайла, в котором будет несколько потоков аудио разных форматов (MP3, ogg, WAV, AC3, DTS). Сохранить такое видео можно в MKV-файл. Эта модификация полностью заменяет Virtual Dub AC3, предназначавшийся для обработки AC3-аудио.
. Nan Dub. В свое время эта программа выдавала самый качественный результат. Отличается от базовой модификации тем, что использует внутренние кодеки (DivX4 и MPEG4v2) и поддерживает 2 аудиопотока разных форматов (MP3, ogg, AC3, WAV и VBR MP3 — MP3-файл с переменным битрейтом). Сейчас видеочасть этой программы уже устарела, т.к. использует устаревшие кодеки. Новые видеокодеки позволяют превратить любой Virtual Dub в Nan Dub, т.к. в них реализован алгоритм сжатия видео Nan Dub. Алгоритм этот таков: видео сжимается в 2 этапа. На первом этапе видео сжимается с максимальным битрейтом, а затем оценивается качество кадров либо минимальный битрейт, при
котором визуальное качество остается приемлемым. Информация об этом записывается в файл статистики и используется на втором этапе, когда видео сжимается таким образом, чтобы среднее значение битрейта не превысило значения, заданного пользователем Такой метод упрощенно называется кодированием за 2 прохода (2-pass encoding). Некоторые кодеки (например, x264) могут уточнять информацию в файле статистики за второй, третий и т.д. проходы, что еще увеличивает качество, хотя и незначительно.
. Virtual Dub for ASF. Эта модификация существует только в виде версии 1.4. Она позволяет открывать файлы ASF и сохранять их в формате AVI без повторного сжатия.

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

Virtual Dub (1.6.14): сайт (бесплатная, автор Avery Lee)
Virtual Dub Mod (1.5.10.2): сайт (бесплатная, авторы Avery Lee, Fizick)
Virtual Dub MPEG-2 (1.6.14): сайт (бесплатная, авторы Avery Lee, fccHandler)
Nan Dub (2.01): сайт (бесплатная, авторы Avery Lee, NeiroMaster)
Virtual Dub for ASF (1.4c): сайт (бесплатная, автор Avery Lee)
AviSynth (2.5.6a): сайт (бесплатная, автор Ben Rudiak-Gold)
Canopus ProCoder (2.0, Express): сайт (платная, автор Canopus Co.)
Nero ReCode (2.2.6.17): сайт (условно бесплатная — 30 дней, автор Ahead Software AG)
Flask MPEG (0.78.39): сайт (бесплатная, автор Alberto Vigatб) DVD2AVI (1.86): сайт (бесплатная, автор Chia-chen Kuo, домашняя страница недоступна)
GordianKnot (0.35): сайт (бесплатная, авторы lenox, thewef)
VideoLAN Media Player (0.8.5): сайт (бесплатный, автор VideoLAN Team)

Продолжение следует

Maxe Erte the Mad,
maxe.erte@gmail.com,
irc://Maxe_Erte_the_Mad#virtualdub@irc.bynets.org



Компьютерная газета. Статья была опубликована в номере 19 за 2006 год в рубрике софт

©1997-2024 Компьютерная газета