AviSynth: сложно о простом


Введение

"Ависинт" - это уникальный фреймсервер-редактор видео. Уникальность же его в сочетании функции собственно фреймсервера и очень продвинутых возможностей обработки видео. Фреймсервер (frameserver) - в общем случае это программа обработки видео, способная без создания промежуточного файла напрямую передать результат своей работы в другое приложение для дальнейшей обработки. Характерная особенность данной утилиты - отсутствие графического интерфейса. Хотя эта особенность многих отпугивает, "Ависинт" очень популярен. Синтаксис "Ависинта", по сути, можно назвать простым языком программирования. Но если среди вас, уважаемые читатели, найдутся те, кто редактировал вручную хотя бы файлы Autoexec.bat или Config.sys, проблем в работе с этой утилитой возникнуть не должно.

AviSynth, как и подавляющее большинство плагинов к нему, является бесплатным.

Схема работы с AviSynth выглядит следующим образом: сначала необходимо создать скрипт (текстовый файл с расширением *.avs), содержащий специальные команды. Эти команды могут содержать ссылки на видео- или аудиофайлы, подлежащие обработке, и на фильтры, которые вы хотите к ним применить, а также дополнительные параметры этих фильтров. Затем вы запускаете любую программу для работы с видео и открываете в нем файл скрипта как обычный видеофайл. Тут и начинается работа AviSynth. Он открывает файлы аудио и видео по ссылкам в скрипте, применяет указанные фильтры и посылает результат видеоприложению. Для приложения работа с аудио- и видеоисточниками происходит полностью прозрачно.

Минус такого подхода очевиден - нет простой возможности контролировать результат той или иной операции над видео. В некоторых случаях этот недостаток непреодолим. Например, мне неизвестен ни один нормально работающий фильтр для удаления логотипов (существует, к примеру, фильтр LogoTools, но у него были проблемы с непрозрачными логотипами). При подрезании краев без Dub'а тоже не обойтись. Также неудобно бывает работать с фильтрами, требующими контроля за изменением изображения в реальном времени (во многих фильтрах VirtualDub для этой цели есть полезная кнопка Preview). Еще один принципиальный недостаток - так как "Ависинт" является фреймсервером, он обязательно распаковывает входящее видео и, соответственно, на выходе мы получим его разжатым, в отличие от VirtualDub, в котором есть замечательный режим прямопотокового копирования (Direct Streаm Copy), позволяющий вырезать фрагменты видео без пережатия. Для VirtualDub таких фильтров есть несколько. Но есть и несомненные преимущества. Мне часто приходится обрабатывать множество однотипных файлов и применять к ним одни и те же фильтры. Потратив 5 минут на написание скрипта, в дальнейшем достаточно просто менять имя файла и все! Даже если файлы не однотипные, иногда бывает достаточно просто подправить уже существующий скрипт, что, по моему опыту, быстрее, чем работа через традиционный графический интерфейс. Главный же довод, склонивший меня на сторону "Ависинт", - высокая скорость обработки видео. Ввиду простоты написания фильтров для "Ависинт" появляется больше, чем для Dub'а. И "Ависинт", и "ВитруалДаб" имеют свои сильные и слабые стороны, но ничто не мешает использовать их совместно. Теперь почти всю обработку видео для последующего сжатия в mpeg2 или mpeg4 я произвожу в "Ависинт", а VirtualDUB использую для сжатия в MPEG4 в режиме Fast recompress.

 

Итак, кратко подытожим. При головокружительном богатстве возможностей, которые открывает AviSynth, есть и принципиальная проблема - неинтуитивный интерфейс, необходимость изучения синтаксиса, что делает невозможным применение популярного метода "тыка". Благо, начиная с версии 2.5.6, AviSynth содержит очень подробный русскоязычный мануал. Несмотря на относительную сложность, AviSynth имеет очень богатые возможности и значительно более высокую скорость обработки, чем другие программы обработки видео, что является следствием поддержки работы в том цветовом формате, который наиболее подходит для входного или выходного видео, без лишних преобразований и с высокой скоростью (в отличие от того же VirtualDUB, требующего для внутренней обработки видео только в формате RGB32, что значительно снижает скорость работы). Будучи фреймсервером, AviSynth позволяет объединить вместе любое число видеофайлов либо произвольных частей любых видеофайлов. AviSynth может открыть почти любой тип видео. Также сильным аргументом в пользу "Ависинта" является наличие большого количества очень качественных фильтров видеообработки, как встроенных в AviSynth, так и в виде внешних плагинов (которых существует несколько сотен).

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

Андрей АЧИНОВИЧ,
Mycapture@gmail.com

Версия для печатиВерсия для печати

Номер: 

32 за 2006 год

Рубрика: 

Multimedia
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!