Обзор Virtual Dub 1.7

29 сентября вышла стабильная — как написано на сайте virtualdub.org — версия Virtual Dub ветки 1.7. Что нового в сравнении с предыдущими версиями, сейчас попытаемся выяснить, взяв актуальные на сегодня версии 1.7.6 и 1.6.19.

Как у любого программного обеспечения, у Virtual Dub есть не только достоинства, но и недостатки. Выход новой версии предполагает, что хотя бы часть из них (недостатков) исчезнет, и не добавится новых. Главным отличием версии 1.7 от предыдущих является то, что "сборкой" программы теперь занимается MS Visual C++ 8 вместо ранее использовавшегося MS Visual C++ 6. Разница между этими компиляторами, как ни странно, есть — они реализуют разные версии С++ (Standart и Managed соответственно). Код, пригодный для шестой версии, не всегда пригоден для восьмой. В связи с этим требуется переработка кода, иногда существенная. Собственно, поэтому и новая версия. Что означает использование актуальной на сегодня версии компилятора? В теории это означает более стабильную работу на современных операционных системах, коими являются Windows XP и Windows Vista. Как и прежде, Virtual Dub не имеет никаких средств установки. Чтобы начать работу с программой, достаточно распаковать архив в любую папку и запустить исполняемый файл. Запускаем... Никаких внешних отличий от версий ветки 1.6 не видно. Программа запускается в режиме видеоредактора. Для перевода в другой режим нужно воспользоваться соответствующими пунктами в меню File. Новых кнопок и информационных панелей не появилось. Менюшки, даже "подкрепленные" сочетаниями клавиш, не являются примером удобного интерфейса. Мне не нравится хранить в собственной памяти настройки приложения. Думаю, и вам тоже.

С точки зрения пользователя Virtual Dub представляет собой три не связанных между собой компонента: видеоредактор, средство захвата видео, сервер сценариев. Кто-то возразит, что средство захвата должно являться частью видеоредактора. Соглашусь, но в таком случае интерфейс должен быть оформлен соответствующим образом. Что ж, я ожидал увидеть если не три отдельных приложения, то хотя бы отдельное меню переключателей режимов. А пока что переключатели режимов оформлены в виде отдельной группы меню File.

Видеоредактор

Virtual Dub новых версий "научился" открывать файлы формата Adobe Stripfilm, анимации GIF. Если формат IFF раньше понимался только в виде анимаций, то сейчас — и в виде последовательности картинок. Список форматов, в которые умеет экспортировать Virtual Dub, дополнился все теми же Adobe Stripfilm и Animated GIF. Весьма полезные нововведения, однако гораздо более полезным могла бы оказаться полная поддержка (импорт и экспорт) уже существующих видеоформатов — таких, как MPEG-1, MPEG-2, MP4, 3GP. К сожалению, без кардинальной переделки всего видеоредактора мы этой поддержки не дождемся. Связано это отчасти и с тем, что Virtual Dub работает только с VfW-кодерами. Технология VfW (Video for Windows) появилась во времена Windows 3.11. С появлением DirectShow (для обработки) эта технология фактически устарела и с тех пор являлась только надстройкой DirectShow. Смешно, но Virtual Dub и в новой версии остался верным давно устаревшей технологии. В такой ситуации использовать Virtual Dub в качестве кодировщика видео могут позволить себе только его давние приверженцы. Фактически приемлемыми вариантами остались лишь устаревшие MPEG-4 ASP кодеры (XviD, DivX) и кодер VP. Современные MPEG-4 AVC (или H.264) кодеры в большинстве своем работают из командной строки (или уже привязаны к какому-то конкретному ПО), с интерфейсом VfW связываться не хотят, да и формат AVI не очень уважают, предпочитая MP4. Один из самых известных на сегодня H.264 кодеров x264 компиляции x264.nl имел интерфейс VfW. Интерфейс накладывал определенные ограничения на использование кодера (неполное использование возможностей, ошибки в выходном потоке, более медленная работа), поэтому впоследствии от него отказались. Сейчас подобный интерфейс разрабатывается другими энтузиастами. Дождемся ли когда-нибудь в Virtual Dub поддержки кодеров с интерфейсом DirectShow, неизвестно, но очень бы хотелось. Если почитать историю развития VfW, то можно заметить, что ее впоследствии заменили две технологии: DirectShow (для обработки) и WDM (для захвата). Как видим, в части захвата Virtual Dub уже давно научился работать с WDM- драйверами устройств. Так что надежда на подобный "переворот" в видеоредакторе есть.

Что касается так называемых CLI-кодеров (то есть тех, которые запускаются и конфигурируются непосредственно из командной строки), то внедрять поддержку такого варианта кодирования в Virtual Dub не нужно, ведь такие решения уже существуют. В остальном видеоредактор остался прежним, если не считать мелких косметических изменений. Аудиодорожки с переменным битрейтом (VBR, ABR) Virtual Dub до сих пор декодирует неправильно и требует, чтобы они были либо закодированы с постоянным битрейтом (CBR), либо сохранены в несжатом виде в формате WAV. Количественные и качественные изменения в программе не настолько велики, чтобы претендовать на гордую надпись "1.7".

Захват видео

Утилита для захвата видео, в которую превращается Virtual Dub при выборе пункта меню File -> Capture AVI, серьезно выросла за время развития ветки 1.6. Я бы даже сказал, изменилась до неузнаваемости. Появилась поддержка DirectShow (а точнее, WDM-драйверов) для устройств захвата, появились новые опции под общим названием Timing для синхронизации потоков. Более мелким нововведением была возможность эмулировать захват видео из файлов. Но, опять же, программу подводит ее спартанский интерфейс. Очень хочется хотя бы часть часто используемых опций увидеть, скажем, рядом с информационной панелью (конечно же, с возможностью их менять). Для приложения захвата видео необходим планировщик. Вместо этого у Virtual Dub были и остаются только опции останова захвата. Очень неприятно, но приходится мириться, довольствоваться тем, что есть. Опция Timing теперь включает два новых пункта, а оценить их полезность предстоит пользователям. Выбор пунктов и раньше вызывал у пользователей неоднозначные эмоции (добиться желаемого результата можно, но нужно экспериментировать). До сих пор в меню Video можно найти пункт BT8x8 tweaker, который доступен при наличии библиотек от DScaler. Не знаю, по каким причинам, но Virtual Dub не позволяет производить тонкую настройку более актуальных на сегодня решений от Philips и того же Conexant. Для меня это не оказалось серьезной проблемой. Исходя из того, что интерфейс Virtual Dub не приспособлен для удобной настройки опций захвата, я поступаю очень просто: после запуска Virtual Dub запускаю штатную программу от своего ТВ- тюнера (Behold M6 Extra). Таким образом, Virtual Dub служит средством захвата и вывода изображения. Управляет ТВ-тюнером его штатная программа. Однако такой фокус можно проделать не с каждым устройством захвата.

Актуальными на сегодня стали ТВ-тюнеры с поддержкой аппаратного сжатия. К сожалению, использовать это преимущество в Virtual Dub нельзя. Для поддержки аппаратного кодера в программу нужно добавить как минимум поддержку формата MPEG-2. Будет она или нет, неизвестно. Да и сомневаюсь, что в Virtual Dub она востребована, а нуждам обывателя вполне удовлетворяет штатная программа или Windows Media Center. Пожалуй, самым заметным и значительным нововведением является возможность захвата с экрана монитора с произвольной частотой кадров и разрешением. Сразу оговорюсь, что для захвата оверлейных изображений этот режим мало пригоден — для этих целей лучше всего использовать старый проверенный вариант под названием Fraps. Virtual Dub, напротив, предназначен для захвата изображений, которые не может захватывать Fraps. И для этих целей программа вполне удобна. Настройки "драйвера" можно найти в меню Video/Source. При наличии видеоускорителя рекомендую включить опцию Use OpenGL hardware acceleration. При этом настоятельно рекомендую не включать опцию Remove unchanged frames, поскольку полученный в этом случае видеопоток может быть нечитаемым. Настройки размеров кадра можно задать в меню Video/Set custom format. При этом цветовое пространство должно быть обязательно RGB32.

Выводы

Просто и однозначно: если вас устраивала та версия Virtual Dub, которой вы пользовались (неважно, будь это хоть 1.6.10), не имеет смысла пробовать новую. Если же текущая версия у вас безбожно глючит, пробуйте любую самую свежую версию. Если же вы только собираетесь работать с Virtual Dub, то обязательно выбирайте стабильную версию (то есть 1.7.5 и выше). Наконец, если вы собираетесь работать с видео, не используйте Virtual Dub в качестве видеоредактора. Лучше потратьте силы на освоение AviSynth и, например, MeGUI. Претензии к удобству в работе с программой есть. Но, с другой стороны, никто ж ведь не мешает взять исходный код программы и адаптировать его под себя. В теории это делается очень просто, но в реальной жизни потребуется не только знание C++ и специализированных библиотечных функций, но и умение разбираться в чужом коде. В общем, модифицировать исходный код — это скорее роскошь, чем реальная возможность. Поэтому пользуемся тем, что есть, и ждем перемен к лучшему.

Maxe Erte the Mad, maxe.erte@gmail.com


Компьютерная газета. Статья была опубликована в номере 01 за 2008 год в рубрике soft

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