(Продолжение. Начало в №32)
Начало работы
Итак, приступим к реальной работе. Для начала обсудим общий подход.
Основа работы с Avisynth - составление скриптов. Писать скрипты с нуля - занятие не для начинающих, да и необходимость в этом возникает не часто. Мы для этого воспользуемся редактором скриптов. Вначале уясним себе общую структуру скрипта. Ее легко понять из примера:
#Открываем источник с помощью функции AviSource AviSource("E:\File.avi") #Загружаем фильтр обработки видео: loadplugin("C:\Program Files\AviSynth 2.5\plugins\degrainmedian.dll") #задаем параметры обработки для фильтра DeGrainMedian(limitY= 2,limitUV=3,mode=1) #вызываем встроенную в Avisynth функцию изменения размера кадра: BilinearResize(512,384)
При помощи этого простенького скрипта мы обработали свое видео (File.avi) фильтром DeGrainMedian с целью подавления шумов и уменьшения размера кадра до 512x384 с помощью встроенного фильтра BilinearResize. Сохранив этот скрипт как текстовый файл с расширением *.AVS и открыв его в любой программе для работы с видео, мы получим несжатый поток видео, пропущенный через фильтр шумоподавления с разрешением 512х384.
Если пересказать любой скрипт "своими словами", то он независимо от сложности будет содержать несколько основных этапов обработки:
- Открытие источников (это может быть видео или аудио в различных форматах, но в данном случае контейнер AVI).
- Загрузка необходимых фильтров (это могут быть фильтры, написанные специально для "Ависинт" или VirtualDUB).
- Указание желаемых параметров для загруженных фильтров.
Как видите, все достаточно просто! Сложность обычно представляет синтаксис, т.к. у каждого фильтра есть свои команды и параметры, и ошибки недопустимы. Но для большинства фильтров есть подробное описание в справке Avisynth (главное, не забудьте выбрать ее русскоязычный вариант при установке). Если же там его не окажется - как правило, описание идет вместе с самим фильтром. Более того, почти всегда, помимо параметров, есть примеры использования, и вам не придется настраивать все с нуля - для начала вполне достаточно изменить приведенные примеры "под себя" и посмотреть, что получится. Что же касается основных команд и встроенных фильтров самого Avisynth, вы можете воспользоваться одним из редакторов AVS скриптов. Я предпочитаю AVSEdit, так как он имеет понятный интерфейс и довольно удобен для быстрого создания шаблона скрипта. Недостаток его (как и многих других подобных редакторов) в том, что он довольно "тормозной" из-за использования платформы NET. Но некоторая задумчивость раздражает только при запуске программы, а в остальном от этих программ и не требуется фантастическое быстродействие.
Как было сказано в предыдущей статье (№32, 2006 год), при всем богатстве возможностей Avisynth лишен какого бы то ни было графического интерфейса. К счастью, этот недостаток нельзя назвать непреодолимым. Мы помним, что у редактора VirtualDUB очень удобный интерфейс. Вот и воспользуемся им в наших целях. Скажу сразу, что лучше всего использовать VirtualDubMod, нежели просто VirtualDUB. Причина проста - в VirtualDubMod есть встроенный редактор скриптов, который позволит значительно упростить некоторые рутинные операции. Вызывается редактор скриптов (Script Editor) Tools-Script Editor. При первом запуске редактора скриптов нажмите сочетание клавиш "Ctrl+1". Таким образом, вы переключите редактор в режим работы со скриптами Avisynth и разблокируете необходимые нам пункты в меню Edit.
Очень распространенной задачей монтажа является выбирание нужных частей видеоклипа и вырезание ненужных. В AviSynth вырезание производится командой TRIM (начало, конец). Понятное дело, что для выбора нужных фрагментов не обойтись без визуального контроля. Удобна следующая методика: щелчком на маркировочные стрелки выделяем нужную часть клипа в окне просмотра VirtualDubMod (как описано в многочисленных руководствах по VitrualDub), а затем в окне редактора скриптов используем команду меню Edit->Import Trim With Range для вставки выделенного интервала в виде команд TRIM в то место строки, где стоит курсор (это удобно, если нужно отрезать края). Либо наоборот, в окне просмотра VirtualDubMod выделяем и удаляем все ненужные отрезки (клавишей DEL) и затем в окне редактора скриптов используем команду меню Import Frameset as Trims для вставки набора нужных кадров без удаленных отрезков (это удобно, если их много). Далее вы можете продолжить написание скрипта в редакторе VirtualDubMod, благо, в нем предусмотрена подсветка синтаксиса.
Крайне полезной возможностью встроенного редактора DubMod'а является автоматическое формирование обрезки кадра Crop, значения формируются в зависимости от примененной вами обрезки (Cropping) выходного видео в окне VirtualDubMod. Для визуального определения обрезки кадра можно воспользоваться встроенным фильтром VirtualDub null transform. После указания границ обрезки в редакторе скриптов достаточно нажать "Ctrl+Shift-C" либо через меню - Edit- Insert Crop. Из своего опыта могу сказать, что операции TRIM и Crop приходится делать почти всегда при простом (и не очень) монтаже, и их автоматизация здорово облегчает работу. Для начала штатный редактор DubMod'а можно использовать только для облегчения этих двух операций, все остальное (добавление источников, плагинов, настройка параметров и пр.) можно делать в другом редакторе, например, в AVSEdit - это позволит затрачивать на написание большинства скриптов 5-10 минут! Ведь через некоторое время вам уже не придется писать их с нуля, достаточно будет подправить уже имеющийся скрипт.
Итак, если вы прочитали эту статью, и у вас сложилось впечатление, что все это слишком "заморочено" и не стоит тратить драгоценное время, отвечу так. Время, которое вы потратите на обучение, с лихвой окупится в будущем, т.к. возможности AviSynth очень широки, а во многом уникальны, а главное - AviSynth (как и фильтры к нему) очень динамично развивается, а значит, он перспективен, чего не скажешь о многих монструозных коммерческих продуктах.
(Продолжение следует)
Андрей АЧИНОВИЧ,
[email protected]
Ссылки в тему:
- www.avisynth.org.ru - страница русских ресурсов AviSynth. Содержит постоянно обновляемую русскую справку, множество прекрасных фильтров.
- www.avisynth.org.ru/warpenterprises-rus.html - большая коллекция фильтров с русским описанием и прямыми ссылками для скачивания.
- virtualdubmod.sf.net - официальная страница VirtualDubMod.
Горячие темы