Введение
Компьютерная программа-фреймсервер
AviSynth — это программа-фреймсервер для Microsoft Windows, Linux и macOS, изначально разработанная Беном Рудиаком Гулдом, Эдвином ван Эгленом, Клаусом Постом, Ричардом Бергом и Ианом Брэбамом в мае 2000 года, а впоследствии поддержанная и развиваемая сообществом открытого исходного кода, которое активно и по сей день. Это свободное программное обеспечение, распространяемое по лицензии GNU General Public License.
Язык сценариев AviSynth
Язык скриптов — это язык, основанный на потоке данных, но он содержит множество функций, знакомых программистам, включая переменные, различные типы данных, условные операторы и сложные выражения. Язык работает прежде всего с аудио- и видеоклипом как со встроенным типом данных. Клип представляет собой сложную структуру с множеством атрибутов, таких как ширина, высота и длительность. В языке также предусмотрено несколько других, более стандартных типов данных: int, float, bool и string. Они могут использоваться для выполнения вычислений, принятия решений и записи текста, например, субтитров к видео. Скрипт возвращает единственное значение, которое представляет собой аудио и видео, обработанные программой, выполняющей скрипт. Обычно это последняя строка скрипта, но оператор return может быть вставлен в любом месте.
AviSynth 3.0 и AviSynth+
AviSynth 3.0 представлял собой полную переработку AviSynth 2.x и был направлен на устранение ограничений AviSynth 2.x. В него были добавлены улучшения, такие как абстрактная модель цветового пространства, позволяющая поддерживать новые цветовые пространства (включая два с 45-битной глубиной) посредством плагинов, улучшенное управление кэшем для повышения производительности и использование Ruby вместо самописного языка, применяемого в текущих версиях. AviSynth 3.0 планировалось сделать доступным для операционных систем, отличных от Windows, используя GStreamer и расширяя поддержку платформ, таких как Linux, Mac OS X и BSD. Разработка была приостановлена с августа 2007 года. AviSynth+ – это форк официального AviSynth 2.xx, который внедряет давно ожидаемые функции, такие как поддержка 64-битной архитектуры, многопоточность, глубокие цветовые пространства, поддержка современных компиляторов, новые конструкции скриптов (включая новые управляющие конструкции, такие как циклы) и повышенная производительность во многих областях. При этом была сохранена 100% совместимость с сериями AviSynth 2.5/2.6 как для фильтров, так и для хост-приложений. На момент написания (июнь 2023 года) разработка AviSynth+ активно поддерживается.
AviSynth для операционных систем, не использующих Windows
AviSynth 2.xx может использоваться в операционных системах, отличных от Windows, посредством Wine. Для работы со скриптами можно использовать VirtualDub/VirtualDubMod, как и в Windows. Для организации взаимодействия между AviSynth под Wine и, например, FFmpeg, работающим в Linux, можно использовать Avs2YUV. Avs2YUV – это программа командной строки для Windows, запускаемая под Wine, которая рендерит вывод скрипта AviSynth в стандартный поток вывода (stdout), который затем передается в FFmpeg. Avs2YUV также поддерживает запись в именованный канал. Существует Linux-порт AviSynth, называемый AvxSynth.
Программы, совместимые с AviSynth
Название программы Лицензия Комментарии Главная страница Adobe Premiere Pro Проприетарная, коммерческая Версии 6.0 и более поздние (до и включая CS4) имеют доступный плагин импорта AviSynth. Premiere AviSynth import plugin Avanti GUI Проприетарная, бесплатная Avanti GUI — это бесплатный интерфейс для FFmpeg с возможностью вставки AviSynth в качестве препроцессора. Avanti GUI AvsPmod GPL AvsPmod — это редактор сценариев AviSynth со встроенным проигрывателем, подсветкой синтаксиса и автодополнением кода. AvsPmod Cinema Craft Encoder Проприетарная Cinema Craft Encoder — коммерческий MPEG 2 кодер, поддерживающий вход AviSynth. Cinema Craft FFmpeg LGPL2.1+, GPL 2+ FFmpeg, скомпилированный для Windows, может принимать инструкции ввода AviSynth. GOM Player Проприетарная, бесплатная, с поддержкой рекламы может воспроизводить AVS-файлы Media Player Classic GPL Media Player Classic способен загружать и воспроизводить скрипты AviSynth. Требуется 32-битная версия. Media Player Classic Microsoft Expression Encoder Проприетарная, freemium Microsoft Expression Encoder может импортировать и транскодировать AVS-файлы. MPlayer GPL MPlayer может воспроизводить AVS-файлы Nero Multimedia Suite Проприетарная, коммерческая Nero Showtime может воспроизводить AVS-файлы SUPER Проприетарная, бесплатная, с поддержкой рекламы SUPER (Упрощенный универсальный проигрыватель, кодировщик и рендерер) — бесплатная программа от eRightSoft, которая может кодировать наиболее распространенные видеоформаты и имеет полную поддержку AviSynth. SUPER TMPGEnc Shareware/freeware TMPGEnc — бесплатный кодер MPEG 1 и MPEG 2. TMPGEnc Plus и TMPGEnc Express — коммерческие версии TMPGEnc, которые включают расширенную функциональность, а также устраняют 30-дневное ограничение на кодирование MPEG 2, присутствующее в TMPGEnc. Pegasys Inc. Total video converter Проприетарная, trialware Total video converter имеет плагин импорта AviSynth. Total Video Converter VirtualDub GPL VirtualDub — широко используемый универсальный видеоконвертер. VirtualDub VirtualDubMod GPL VirtualDubMod содержит несколько функций, специфичных для AviSynth, таких как явная поддержка скриптов AviSynth, редактор скриптов AviSynth и многое другое. Однако он не обновлялся с 2006 года и содержит множество ошибок. VirtualDubMod Windows Media Player Проприетарная, компонент Windows / бесплатное ПО Windows Media Player способен загружать и воспроизводить скрипты AviSynth, поэтому это хороший выбор для простого воспроизведения и тестирования. Возможно, потребуется внести некоторые изменения в реестр, чтобы он заработал. Windows Media Home
Кроме того, в настоящее время создано несколько программ, которые принимают только скрипты AviSynth в качестве входных данных, тем самым упрощая сами программы, но предоставляя пользователям полную мощность AviSynth для ввода. Существуют также несколько приложений для пакетного кодирования, которые связывают AviSynth с аудио- и видеокодерами и мультиплексами командной строки, чтобы предоставить модульное, настраиваемое приложение для кодирования видео. MeGUI — пример такого приложения. Хотя скрипты AviSynth предназначены для легкого открытия в простых программах редактирования текста, существует несколько редакторов, предназначенных специально для редактирования скриптов AviSynth, таких как AvsPMod.