AviSynth

AviSynth — свободно распространяемая программа с открытым кодом, предназначенная для обработки видеоматериалов, в частности линейного и нелинейного монтажа.

Работает как фрэймсервер, имеющий систему сценариев, редактирование которых позволяет осуществлять нелинейное редактирование любого уровня сложности с высоким уровнем воспроизводимости результатов.

Удобство его в том, что он является для системы фактически виртуальным кодеком, который «декодирует» свои скрипты в видеоданные, то есть не требует какой-то отдельной поддержки или интегрирования. Главный минус — невозможна обработка потоков без их сжатия-разжатия, что умеет, скажем, VirtualDub, то есть невозможен lossless-монтаж иначе, чем через использование lossless-кодеков (также известный как нарезка-склейка сжатого потока по ближайшим ключевым кадрам).

Использование с другими программами

Благодаря множеству различных плагинов AviSynth позволяет значительно расширить возможности монтажных программ. Например, при помощи плагина Quicktime Import Filter для AviSynth можно импортировать нужный нам файл Apple Quick Time в любую программу, которая поддерживает импорт файлов AviSynth. При этом абсолютно не важно, поддерживает нужная нам программа формат Apple Quick Time или не поддерживает.

Разработчики-энтузиасты часто выпускают плагины, которые позволяют импортировать скрипты AviSynth в различные монтажные программы, которые скрипты AviSynth не поддерживают изначально. Примером может служить Adobe Premiere Pro.

Также может использоваться с VirtualDub, входит в состав Gordian Knot.

Фреймсервер AviSynth является как бы посредником между физическими медиафайлами на жёстком диске и монтажной программой. Это позволяет упростить конечный монтаж за счёт предварительно монтажа посредством AviSynth. Из-за описанного выше недостатка «Дуб» и «Синт» обычно работают в паре, великолепно дополняя друг друга.

Программирование AviSynth

AviSynth программируется при помощи скриптовых файлов (*.avs), содержащих команды AviSynth, например, для объединения двух DV файлов «1.avi» и «2.avi» в один:

AVISource("1.avi")++AVISource("2.avi")

К фильму «1.avi» фреймсервер AVISynth добавит фильм «2.avi» и передаст полученные кадры в монтажную программу.

Другим примером использования AviSynth может служить перевод снятого на киноплёнку фильма (24 кадра в секунду) в видеоформат (25 кадров в секунду).