AviSynth Filter Collection

AviSynth Filter Collection помогает подобрать и подключить к AVS-скрипту фильтры для деинтерлейсинга, шумоподавления, повышения резкости, изменения размера, работы с цветом, кадрами, аудио и субтитрами, а также диагностические модули для проверки результата перед передачей видеопотока в совместимый редактор или кодировщик.

Коллекция устроена как каталог отдельных плагинов и вспомогательных файлов: у каждой позиции указаны имя, вариант для подходящего поколения AviSynth и вызываемая из скрипта функция. Поэтому рабочий процесс начинается не с выбора профиля экспорта, а с проверки конкретного архива, его DLL или скриптового файла и совместимости с тем хостом, который открывает AVS.

Безопаснее всего брать из коллекции только нужные модули, держать их в отдельной тестовой папке и сначала проверять на коротком AVS-скрипте. Такой подход сразу показывает несовпадение разрядности, неподходящий тип плагина, конфликт имён функций или требование к цветовому формату, не смешивая десятки фильтров в общей папке автозагрузки.

Скачать AviSynth Filter Collection

Оценка 9.7Рекомендуем
  • Конвертация видео
  • Сжатие файлов
  • Просто для новичков
Скачать бесплатно на Windows
Лучшая альтернатива
AviSynth Filter Collection
Оценка 8.5
  • Нет единого интерфейса
  • Нужны AVS-скрипты
  • Версии легко перепутать
Скачать AviSynth Filter Collection
Загрузка начнётся после нажатия

Что находится в AviSynth Filter Collection

Название коллекции легко принять за отдельный видеоредактор, однако её практическая ценность в другом: это большой набор ссылок и архивов с внешними фильтрами AviSynth, где рядом с названием модуля показываются совместимые варианты и имена функций. Каталог помогает найти обработчик под конкретную задачу и понять, какой файл следует подключать к AVS. Само преобразование кадров выполняет AviSynth вместе с выбранными плагинами, а просмотр или запись результата делает программа, которая умеет открыть AVS-поток.

В таблице встречаются готовые DLL, архивы с исходным кодом, документация и несколько вспомогательных утилит. Поэтому одинаковое окончание имени не означает одинаковый способ использования. Архив с пометкой DLL можно рассматривать как кандидат на непосредственное подключение, а пакет только с исходным кодом не превращается в рабочий фильтр простым копированием в папку plugins. Сначала нужно посмотреть содержимое архива и убедиться, что внутри действительно есть двоичный модуль для нужной среды.

Колонка с именами функций особенно важна, потому что имя ZIP и команда в AVS часто не совпадают. Например, пакет может называться по проекту, а внутри предоставлять несколько функций. В обратную сторону тоже встречается неоднозначность: разные DLL способны экспортировать одно и то же имя. В такой ситуации ошибка появляется не на этапе распаковки, а при разборе скрипта или при выборе того экземпляра функции, который был загружен последним.

Верхняя часть каталога AviSynth Filter Collection и схема обозначений файлов

Как читать обозначения файлов в каталоге

В интерфейсе коллекции разделены варианты для AviSynth 2.0x и 2.5. Это не декоративная классификация: между этими поколениями менялся интерфейс плагинов и поддерживаемые цветовые форматы. Если в строке заполнена только одна колонка, наличие одноимённого архива в соседнем поколении нельзя предполагать. Для старого фильтра полезно считать совместимость неизвестной, пока она не подтверждена документацией самого модуля или реальным тестом в изолированной конфигурации.

Схема имени вроде имя_25_dll_дата.zip сообщает две вещи, которые полезнее даты: поколение AviSynth и наличие скомпилированной DLL. Вариант с src обозначает исходный код. Для пользователя, которому нужен готовый фильтр, эти пакеты решают разные задачи. Исходники пригодны для изучения или самостоятельной сборки, но не заменяют бинарный модуль и не должны автоматически попадать в папку автозагрузки.

Дата в имени отражает состояние конкретного файла, а не универсальную совместимость со всеми последующими хостами. Поэтому нельзя выбирать архив лишь по более крупному числу в конце имени. На практике надёжнее сначала определить требуемую функцию, затем выбрать поколение, проверить разрядность DLL и только после этого сравнивать несколько вариантов одного фильтра.

  • Сначала найдите строку по функции, а не по похожему названию архива.
  • Сверьте колонку AviSynth 2.0x или 2.5 с рабочей средой.
  • Отличайте готовый DLL-пакет от архива только с исходным кодом.
  • Не помещайте неизвестные вспомогательные DLL в автозагрузку до теста.
  • Сохраняйте документацию из архива рядом с модулем: параметры у разных фильтров различаются.

Подключение одного фильтра без лишних конфликтов

Для первого запуска удобнее не копировать всю коллекцию в одну директорию. Создайте отдельную папку для проверяемого фильтра, распакуйте туда только его файлы и явно укажите DLL через LoadPlugin. Такой скрипт легче диагностировать: если функция не появилась, причина находится в конкретном модуле, его зависимостях или несовместимости, а не среди десятков автоматически подхваченных файлов.

LoadPlugin("D:\AVS\test\filter.dll")
clip = AviSource("D:\Video\sample.avi")
# здесь вызывается функция, указанная для выбранного фильтра
return clip

Когда модуль проверен, можно решить, оставлять ли явный LoadPlugin или переносить DLL в каталог автозагрузки. Явное подключение длиннее, зато скрипт фиксирует путь и делает набор зависимостей понятным. Автозагрузка удобнее для постоянно используемых фильтров, но при большой коллекции увеличивает вероятность совпадающих имён функций, старых библиотек и неожиданных зависимостей.

Для C-плагинов способ загрузки отличается от обычных C++-модулей в старых конфигурациях. Современный AviSynth+ умеет распознавать разные типы через LoadPlugin, однако старые инструкции могут требовать LoadCPlugin. Если фильтр из коллекции падает сразу при загрузке, полезно проверить не только путь, но и тип плагина: повторять команду из инструкции, написанной для другого поколения, без проверки не стоит.

Строки каталога с вариантами DLL для разных поколений AviSynth

Совместимость: поколение, разрядность и цветовой формат

У старых AviSynth-плагинов совместимость складывается сразу из нескольких условий. Двоичный интерфейс должен подходить хосту, разрядность DLL — процессу, а входной клип — цветовому формату, который понимает фильтр. Ошибка хотя бы в одном пункте может выглядеть одинаково: функция не находится, библиотека не загружается или приложение, открывающее AVS, завершается при создании фильтра.

Разрядность особенно важна в современных 64-битных системах. Наличие 64-битной Windows не превращает старый 32-битный DLL в 64-битный. Если используется 32-битная сборка AviSynth и 32-битный хост, старый 32-битный фильтр может быть уместен; в 64-битном процессе такой файл напрямую не загрузится. Поэтому архитектуру нужно проверять для всей цепочки, включая редактор или кодировщик, который открывает AVS.

Цветовые форматы в коллекции неоднородны. Часть ранних модулей рассчитана на YUY2 или RGB, многие варианты для AviSynth 2.5 поддерживают YV12, а отдельные фильтры имеют ещё более узкие ограничения. Принудительно вставлять многократные ConvertTo... между каждым шагом — плохая стратегия: она усложняет цепочку и может давать лишние преобразования. Лучше сгруппировать операции, работающие в одном формате, и выполнить переход только там, где он действительно нужен.

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

Деинтерлейсинг, поля и обратный телесин

В каталоге собрана заметная группа фильтров для чересстрочного видео и материалов после телесина. Они решают разные задачи, поэтому подмена одного другим по принципу убрать гребёнку часто ухудшает результат. Сначала нужно определить природу кадров: истинное чересстрочное движение, прогрессивная картинка с периодическим телесином, смешанный материал или уже обработанный поток с ошибочным порядком полей.

Decomb package

Decomb предоставляет набор функций для обнаружения и обработки combing-артефактов и для построения схемы inverse telecine. В коллекции рядом с пакетом перечислены Telecide, Decimate, FieldDecimate и IsCombed. Практический смысл такого набора в том, что анализ кадров и удаление лишних кадров можно разделить: сначала восстановить правильные прогрессивные кадры, затем убрать кадры, появившиеся из-за преобразования частоты.

Decomb не следует применять механически к каждому чересстрочному файлу. Если движение действительно записано разными полями, удаление кадров по логике IVTC не восстановит прогрессивный оригинал. Для такой записи нужен деинтерлейсер, а Decomb полезен там, где рисунок кадров соответствует телесину или смешанному материалу и это подтверждается просмотром полей.

ViewFields и UnViewFields

Пара ViewFields/UnViewFields предназначена для работы с полями и их наглядной идентификации. Это диагностический инструмент: он помогает понять, какое поле идёт первым и что происходит с временной последовательностью. Перед сложным деинтерлейсингом полезнее потратить минуту на такую проверку, чем затем исправлять дрожание или обратный порядок полей после длинной цепочки фильтров.

GreedyHMA, TomsMoComp, SmoothDeinterlacer и KernelDeint

GreedyHMA переносит алгоритм Greedy/HM в AviSynth и сочетает сопоставление полей с фильтрацией для деинтерлейсинга. TomsMoComp относится к движенчески компенсированным подходам. SmoothDeinterlacer и KernelDeint дают другие варианты обработки. Выбор между ними должен опираться на тип движения и артефактов, а не на одинаковое слово deinterlace в описании.

Для теста удобно вырезать фрагменты с горизонтальным движением, диагональными линиями, титрами и мелкой фактурой. Эти участки быстрее показывают ошибки поля, ступеньки и потерю вертикальной детализации. Сравнивать фильтры по статичному кадру недостаточно: деинтерлейсер работает со временем, и дефект часто проявляется только при последовательном просмотре.

IT, SmartDecimate и MultiDecimate

IT относится к inverse telecine, а SmartDecimate и MultiDecimate работают с выбором кадров. Такие инструменты полезны после корректного анализа каденса, но опасны как универсальная оптимизация частоты. Если удалять кадры без подтверждённой закономерности, движение станет неравномерным. Перед применением следует проверить несколько сцен и убедиться, что повторяющиеся кадры действительно являются следствием преобразования, а не частью монтажа или анимации.

Раздел AviSynth Filter Collection с Decomb, DGBob, DNR2 и фильтрами движения

Шумоподавление и очистка изображения

Шумовые фильтры в коллекции охватывают временную, пространственную и комбинированную обработку. Главная ошибка при работе с ними — считать сильнее синонимом лучше. Временной фильтр может оставлять шлейф за движущимся объектом, пространственный — стирать мелкую текстуру, а агрессивная обработка цветности — делать цветовые границы мягче. Поэтому фильтр выбирают под конкретный дефект и проверяют на движении.

TemporalCleaner

TemporalCleaner описывается как быстрый временной шумоподавитель, ориентированный также на повышение сжимаемости. Он сравнивает информацию между кадрами, поэтому особенно уместен в относительно стабильных областях. На сценах с быстрым движением стоит следить за остаточными следами: если шум исчезает ценой размазывания движения, настройки или сам алгоритм для этого материала выбраны неудачно.

GrapeSmoother

GrapeSmoother принимает небольшие изменения цвета между кадрами скорее за шум и осторожно тянет значение к предыдущему кадру; при большем изменении растёт вероятность, что это реальное движение. Такая логика хорошо показывает, почему временное шумоподавление нельзя оценивать по одному стоп-кадру. Критичный тест — медленно движущийся объект на почти однотонном фоне: именно там баланс между очисткой и сохранением движения заметен лучше всего.

DNR2 и Chroma Noise Reducer

DNR2 относится к динамическому шумоподавлению. Для цветового шума в экосистеме AviSynth также применялись фильтры, которые воздействуют преимущественно на хрома-компоненты и стараются сохранить яркостную детализацию. Если дефект выглядит как цветные пятна, не стоит начинать с сильного размытия всей картинки: обработка цветности отдельно обычно меньше затрагивает мелкие контуры яркости.

Convolution3D, STMedianFilter и VagueDenoiser

Convolution3D сочетает пространственную и временную обработку, STMedianFilter использует медианную логику, а VagueDenoiser относится к другой группе подавления шума. Эти названия не являются пресетами одной системы: у каждого фильтра свой набор параметров и допустимых форматов. При переносе параметров из чужого скрипта надо сверять именно документацию выбранного DLL, иначе одинаковые числа могут означать совершенно разные величины.

Undot, RemoveDirt, Descratch и Despot

Undot предназначен для очень лёгкой очистки точечных шумов и часто полезен как малое вмешательство. RemoveDirt, Descratch и Despot ориентированы на более заметные дефекты, включая грязь, царапины и отдельные всплески. Для архивной записи разумнее начать с самого узкого инструмента, который устраняет наблюдаемый дефект, и лишь затем добавлять более сложный фильтр. Так проще понять, какой этап действительно улучшает кадр.

При реставрации аналогового захвата важен порядок: сначала следует разобраться с полями и геометрией кадра, затем оценить устойчивые дефекты, а после — шум. Если сильный временной фильтр поставить до диагностики полей, он может частично скрыть гребёнку и одновременно создать новые шлейфы. В результате следующему этапу придётся исправлять уже смесь исходной проблемы и побочных эффектов.

Каталог фильтров AviSynth с GrapeSmoother, GreedyHMA, GuavaComb и ImageSequence

Резкость, смягчение и изменение размера

Фильтры резкости работают с границами, поэтому их легко переоценить по маленькому превью. Повышенный локальный контраст может казаться более детальным, хотя новых деталей не появилось. Проверять стоит на контрастных линиях, волосах, мелком тексте и участках с шумом: хороший результат подчёркивает полезную структуру без ярких ореолов и без усиления случайных точек.

WarpSharp и XSharpen

WarpSharp в составе соответствующего пакета деформирует область около границ так, чтобы линии выглядели более чёткими, а XSharpen реализует другой вариант повышения резкости. Эти фильтры отличаются от простого глобального усиления высоких частот. На анимации и графике эффект может быть заметным, но на естественном видео чрезмерная обработка способна изменить форму тонких деталей. Поэтому величину воздействия надо подбирать на полном кадре и на движении.

Unfilter

Unfilter позволяет смягчать или повышать резкость и полезен как сравнительно прямой инструмент. Его место в цепочке зависит от того, что было сделано раньше. После сильного шумоподавления резкость может вернуть визуальную ясность, но не восстановит стёртую текстуру. До шумоподавления она, наоборот, способна сделать шум более заметным и усложнить следующему фильтру различение структуры и помех.

SimpleResize

SimpleResize предоставляет функции изменения размера, включая варианты для чересстрочного материала. Сам факт наличия InterlacedResize не отменяет необходимости правильно описать структуру полей. Если размер меняется как у прогрессивного кадра при сохранении чересстрочной разметки, вертикальные отношения между полями могут нарушиться. Для такого материала сначала определяют, будет ли он оставаться чересстрочным после масштабирования, и выбирают соответствующую функцию.

FrameDbl

FrameDbl заявлен как движенчески компенсированный удвоитель кадров. Его нельзя путать с обычным дублированием: задача состоит в построении дополнительных кадров по движению. На сложных перекрытиях и резких сменах сцены интерполяция способна давать ошибки, поэтому обязательны тесты на панорамах, мелких движущихся объектах и монтажных склейках. Если артефакт возникает только в отдельных местах, это свойство метода, а не непременно ошибка кодировщика.

Цвет, яркость и специальные визуальные операции

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

Adjust и PseudoColor

Adjust предоставляет функцию AdjustY для работы с яркостной составляющей. PseudoColor создаёт псевдоцветное представление, полезное там, где требуется визуализировать диапазоны или получить специальный эффект. Использовать PseudoColor как обычную цветокоррекцию не следует: назначение отличается от изменения баланса, насыщенности или контраста в привычном смысле.

ChromaShift и коррекция регистрации цветности

ChromaShift применяется, когда цветовая информация пространственно не совпадает с яркостной. Типичный признак — цветная кайма, смещённая относительно контрастной границы. Здесь полезно сначала проверить, что смещение устойчиво на разных участках кадра. Если величина и направление постоянно меняются, простого глобального сдвига цветности будет недостаточно.

Spray, Scanlines, Zoom и переходы

Spray переносит пиксели из близлежащей области и разбрасывает их по заданной зоне; это специализированный эффект, а не универсальная реставрация. Scanlines создаёт эффект строк. Zoom предназначен для панорамирования, масштабирования и поворота. TransAll и Transition дают наборы переходов. Эти модули подтверждают, что коллекция шире чистого шумоподавления, однако они не образуют монтажный интерфейс: параметры и последовательность всё равно задаются в AVS.

Для переходов особенно важна длительность клипов и точка, где функция применяется. Если ожидать таймлайн с ручками начала и конца, логика AviSynth покажется непривычной. Здесь положение эффекта определяется операциями над клипами и аргументами функции. Ошибка в расчёте кадров проявится как слишком ранний или поздний переход, а исправляется правкой скрипта, а не перетаскиванием маркера мышью.

Строки каталога с MaskTools, MergeClips, MPASource и связанными модулями

Работа с кадрами, полями и составными клипами

Коллекция содержит инструменты, которые вмешиваются в структуру последовательности кадров, а не только меняют пиксели. MergeClips объединяет клипы по своей логике, SmartDecimate и MultiDecimate выбирают кадры, ViewFields помогает анализировать поля, а переходные плагины строят связи между отрезками. Такие операции требуют особенно аккуратной проверки длины, частоты кадров и синхронизации звука.

Если фильтр уменьшает число кадров, итоговая частота или длительность не должны оставаться по привычке без проверки. В AviSynth длина клипа и временная шкала связаны с тем, что возвращает цепочка фильтров. После decimate-операции нужно открыть результат в просмотрщике, проверить движение и сопоставить конец клипа со звуком. Ошибка в одном раннем шаге затем воспринимается как проблема аудиосинхронизации на экспорте.

Для составных клипов полезно явно присваивать промежуточные результаты переменным. Это не обязательное требование коллекции, но удобный способ сделать скрипт диагностируемым: видно, какой отрезок обработан каким фильтром и где произошло изменение частоты или размера. Чем больше модулей подключено, тем ценнее такие границы между этапами.

a = AviSource("D:\Video\part_a.avi")
b = AviSource("D:\Video\part_b.avi")
# обработайте a и b отдельно, затем объединяйте только совместимые клипы
return a

Импорт изображений, RAW, MPEG и аудио

Не все позиции в коллекции являются фильтрами улучшения изображения. Часть расширяет способы получения данных. ImageSequence открывает последовательности изображений, RawSource — необработанные видеоданные при известных параметрах, MPASource декодирует MPEG-аудио, а в служебной части каталога присутствуют инструменты, связанные с MPEG-2 и подготовкой субтитров. Именно поэтому перед установкой важно понимать тип модуля: источник клипа подключается не так, как denoise-фильтр.

ImageSequence

ImageSequence предназначен для последовательностей изображений. Это полезно для рендеров, сканированных кадров и покадровой графики, когда каждый кадр хранится отдельным файлом. Критичны шаблон имён, существование всех кадров и ожидаемая глубина/формат изображения. Пропуск номера в последовательности может восприниматься не как пустой кадр, а как ошибка чтения, поэтому набор файлов лучше проверить заранее.

RawSource

RawSource нужен для сырого видеопотока, где контейнер не сообщает программе размер кадра, раскладку компонентов и другие параметры. Это мощный, но требовательный способ импорта: если ширина, высота или формат пикселей указаны неверно, изображение будет искажено или вообще не прочитается. Здесь нельзя полагаться на автоопределение, характерное для обычных контейнеров.

MPASource и AC3Source

MPASource предназначен для MP1/MP2/MP3-аудио. В каталоге также присутствует AC3Source. Они нужны, когда аудиодорожку требуется получить отдельной функцией и затем соединить с видео в AVS. При таком сценарии отдельно проверяют частоту дискретизации, число каналов и фактическую длительность. Если дорожка уже имеет задержку относительно видео, простой импорт не исправит её автоматически.

MPEG-2 через связку индексатора и декодера

В служебной части коллекции перечислялись комплекты DVD2AVI/MPEG2DEC и последующие варианты DGIndex/DGDecode. Их принцип отличается от прямого чтения обычного AVI: сначала создаётся индекс, затем декодер открывает видеопоток по этому индексу. Нельзя смешивать индекс одного несовместимого варианта с другим декодером только потому, что расширение файла совпадает. При странной длительности или ошибке открытия первым делом проверяют именно соответствие пары.

Каталог AviSynth Filter Collection с RawSource, Reform и ShowPixelValues

Субтитры и текст поверх изображения

Для субтитров в каталоге выделен TextSub, связанный с VSFilter. Его задача — отрисовать субтитры поверх кадров, а не сохранить отдельную дорожку внутри контейнера. Это принципиальное различие: после применения TextSub текст становится частью видеокадра и дальнейший кодировщик получает уже изображение с надписями.

Если субтитры не видны, проверять нужно не экспорт, а загрузку плагина, путь к файлу, поддерживаемый формат и расположение TextSub в цепочке. Если после него стоит операция кадрирования, надпись тоже может быть обрезана; если перед ним меняется размер, масштаб текста будет определяться уже новым кадром. Поэтому позиция функции влияет на итог так же, как её собственные параметры.

Служебный SubRip в каталоге упоминается как способ получить субтитры в форме, пригодной для TextSub. Это отдельная задача от рендеринга. Коллекция связывает такие инструменты в один рабочий контекст, но не превращает распознавание, редактирование и прожиг субтитров в одну кнопку. Каждый этап нужно проверять отдельно.

Диагностика: увидеть поля, пиксели и качество

Для сложной фильтрации особенно полезны модули, которые ничего не улучшают, а показывают состояние сигнала. ShowPixelValues выводит значения пикселей, Videoscope предоставляет визуальные средства контроля и функции сравнения, SSIM и VQMCalc относятся к измерению качества, Grid добавляет ориентиры. Они помогают заменить субъективное кажется лучше на проверяемые признаки.

ShowPixelValues

ShowPixelValues удобен, когда нужно проверить диапазон яркости или конкретное значение на границе. Например, после цепочки цветовых преобразований можно убедиться, что предполагаемый чёрный действительно находится там, где ожидалось. Такой контроль полезнее случайного скриншота, потому что показывает числовое значение, а не результат отображения монитором и плеером.

Videoscope

Videoscope и связанные функции помогают оценивать различия между кадрами и отображать диагностическую информацию. Это уместно при настройке шумоподавления, резкости и цветовой коррекции: можно видеть не только итоговый кадр, но и то, что фильтр изменил. Если разница содержит много контуров важных объектов, обработка, вероятно, задевает полезную структуру.

SSIM и VQMCalc

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

Метрика не заменяет визуальную оценку. Фильтр может улучшить числовое сходство с эталоном, но сделать движение субъективно неприятным, или наоборот. Правильная роль диагностических модулей коллекции — помочь найти проблемный участок и подтвердить изменение, а окончательное решение принимать по реальной задаче: реставрации, подготовке к кодированию или техническому анализу.

Часть каталога с SimpleResize, SmartDecimate, SmoothDeinterlacer и SSIM

Чего у коллекции нет: общий таймлайн, единая очередь и кнопка экспорта

У AviSynth Filter Collection нет общего таймлайна, где клипы раскладываются по дорожкам. Обрезка, объединение и последовательность обработки задаются функциями AviSynth и конкретных плагинов. Это важно учитывать при сравнении с видеоредакторами: коллекция расширяет язык фильтрации, а не заменяет монтажную среду с визуальными дорожками.

Отдельного общего окна настроек тоже нет. Параметры определены каждым фильтром отдельно и записываются в вызове функции. Один модуль может принимать порог, другой — радиус, третий — режим полей. Поэтому нельзя составить универсальную таблицу качество от 1 до 10 для всей коллекции. Документацию нужно читать на уровне конкретного DLL или AVSI.

Сама коллекция не кодирует готовый файл и не управляет очередью заданий. AVS-поток открывает программа, умеющая работать с AviSynth, и уже она отвечает за контейнер, кодек и сохранение. Если нужен пакетный процесс, его строят вокруг скриптов и внешнего кодировщика. Наличие в архиве вспомогательных программ не создаёт единого менеджера очереди для всех фильтров.

Универсального переключателя GPU также нет. Отдельные сторонние модули могут иметь собственные ускоренные реализации, но это свойство конкретного плагина. Нельзя включить аппаратное ускорение один раз для всей коллекции. При оценке производительности надо смотреть документацию и сборку выбранного фильтра, а затем измерять скорость на своём материале.

Практический сценарий: очистка аналогового захвата

Для VHS или другого аналогового захвата сначала определите структуру полей и стабильность кадра. ViewFields помогает проверить порядок полей, GuavaComb и AntiBlink относятся к характерным эфирным или аналоговым помехам, Ghostbuster предназначен для устойчивого призрака со смещённой копией изображения, а Descratch и RemoveDirt — для отдельных дефектов. Набор подбирается по наблюдаемой проблеме, а не добавляется целиком.

После исправления структурных дефектов можно переходить к шумоподавлению. Сравните лёгкий Undot с временным TemporalCleaner или более сложным фильтром. Короткий тестовый фрагмент должен включать статичный фон, движение лица или рук, мелкую фактуру и тёмный участок. Это выявляет как остаточный шум, так и потерю деталей или шлейфы.

Повышение резкости оставляют ближе к концу, после того как шум перестал мешать. WarpSharp, XSharpen или Unfilter применяют умеренно и проверяют ореолы. Если предстоит изменение размера, полезно сравнить порядок резкость → resize и resize → резкость на реальном материале: разные задачи требуют разного порядка, а универсальной последовательности для всех фильтров нет.

Практический сценарий: DVD с телесином

Для материала с телесином задача начинается не с деинтерлейсинга, а с подтверждения каденса. Decomb предоставляет Telecide и Decimate, а ViewFields помогает посмотреть структуру полей. Если последовательность соответствует телесину, цель — восстановить прогрессивные кадры и убрать дублирование, а не смешивать поля в новый прогрессивный кадр на каждом шаге.

После IVTC проверьте движение на нескольких сценах и только затем добавляйте шумоподавление или изменение размера. Если кадрирование или resize выполнить до анализа полей без учёта структуры, диагностировать оставшиеся combing-артефакты станет сложнее. При проблеме с синхронизацией звука сначала сравните длину клипа до и после decimate-этапа.

Для MPEG-2 можно использовать подход с индексированием и декодером, перечисленным среди служебных средств коллекции. Ключевое правило — индекс и декодер должны соответствовать друг другу. Если старый проект хранит только D2V, а исходный поток был переиндексирован другой версией, лучше создать индекс заново из исходного видео, чем пытаться угадывать совместимость.

Фильтры TextSub, TomsMoComp, TransAll и VagueDenoiser в каталоге

Практический сценарий: последовательность изображений и графика

ImageSequence полезен для анимации, покадрового рендера и сканированных кадров. Перед подключением проверьте, что нумерация непрерывна и все изображения имеют одинаковые размеры. Если разные кадры отличаются форматом или глубиной, лучше привести их к согласованному виду заранее, чем искать ошибку в середине длинной последовательности.

Для графики часто требуется изменение размера и аккуратная резкость. SimpleResize и WarpSharp решают разные задачи: первый меняет геометрию кадра, второй воздействует на границы. Не следует использовать WarpSharp как замену resize. Сначала определите конечное разрешение, затем оцените, нужна ли дополнительная обработка контуров уже на этом размере.

Если итог должен содержать титры или субтитры, решите, на каком размере их рендерить. TextSub после уменьшения кадра работает с конечным разрешением; до уменьшения надпись тоже будет масштабирована вместе с изображением. Оба подхода могут быть корректны, но дают разный вид тонких линий и обводки. Проверка на финальном размере обязательна.

Практический сценарий: сравнение двух цепочек обработки

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

Videoscope, SSIM, VQMCalc и ShowPixelValues помогают измерить отдельные свойства, но удобен и визуальный монтаж до/после через функции AviSynth. Смотрите не только на шум, но и на текстуру кожи, мелкие линии, зерно, края движущихся предметов и тёмные области. Хороший фильтр убирает именно целевой дефект и минимально меняет то, что вы хотите сохранить.

При оценке скорости запускайте одинаковый участок несколько раз после прогрева кэша и не сравнивайте фильтры в разных хостах. Некоторые модули сильнее зависят от предыдущих кадров, другие — от размера кадра или цветового формата. Измерение на одном коротком статичном отрезке может дать неверное представление о полном видео.

Ошибка: функция не найдена

Сообщение о неизвестной функции обычно означает, что нужный плагин не загрузился или экспортирует другое имя. Первым делом сверяйте колонку Function Names в каталоге с тем, что написано в AVS. Не угадывайте имя по названию ZIP: Decomb, например, предоставляет несколько функций, а пакет может называться иначе, чем вызываемая команда.

Второй шаг — временно заменить автозагрузку явным LoadPlugin для конкретной DLL. Если ошибка меняется на сообщение о загрузке библиотеки, вы приблизились к причине: теперь проверяйте разрядность и зависимости. Если DLL загружается, но функция всё равно отсутствует, возможно, выбран другой вариант плагина или нужная функция находится в скриптовом файле, который требуется импортировать.

Третий шаг — убрать одноимённые старые DLL из папок автозагрузки. В AviSynth возможны конфликты имён, а загруженный позже модуль способен перехватить вызов. В современной документации предусмотрены способы различать функции по имени DLL, но для старой коллекции проще сначала добиться работы в пустой тестовой папке, а уже затем возвращать остальные фильтры по одному.

Ошибка: DLL не загружается

Если LoadPlugin завершается ошибкой до вызова функции, проверяйте сам файл. Убедитесь, что это действительно DLL, а не архив с исходным кодом или вспомогательная библиотека. Затем сопоставьте разрядность с процессом, который открывает AVS. Наконец, проверьте, не требует ли модуль соседних runtime-библиотек или других DLL, указанных в его документации.

Копирование неизвестных зависимостей в системные каталоги — плохой первый шаг. У старых фильтров рядом могут лежать библиотеки с общими именами, и замена системного файла способна сломать другое ПО. Безопаснее держать тестовую конфигурацию изолированной и следовать инструкции именно выбранного плагина. Если документ требует системный компонент, полезно убедиться в его происхождении и архитектуре.

Если DLL относится к AviSynth 2.0x, а хост использует более новый интерфейс, прямое подключение может быть невозможно. В старых схемах применялись совместимые загрузчики вроде LoadPluginEx для части таких фильтров, но это не универсальный мост. Если есть нативный вариант для 2.5/2.6 или современный аналог, он обычно проще и стабильнее.

Диагностические и служебные фильтры в нижней части каталога

Ошибка: фильтр требует другой цветовой формат

Сообщение о неподдерживаемом pixel type означает, что DLL загрузилась, но не принимает текущий формат кадра. Каталог и документация отдельных модулей часто указывают YUY2, YV12 или RGB. Решение — не случайно перебирать ConvertTo..., а понять формат входа, формат требуемого фильтра и формат следующего этапа.

Если весь блок фильтров умеет работать в YV12, лучше оставить клип в YV12 и выполнить одно преобразование только перед модулем, которому нужен YUY2 или RGB. Возврат обратно после каждого фильтра увеличивает число преобразований и делает отладку сложнее. Особенно внимательно относитесь к цветности при чересстрочном видео: преобразования должны учитывать структуру материала.

После смены цветового формата повторно проверяйте диапазон яркости и цветовые границы. ShowPixelValues и Videoscope помогают увидеть неожиданные изменения. Если задача состоит только в том, чтобы заставить старый фильтр загрузиться, а преобразования заметно портят сигнал, разумнее поискать эквивалент с нативной поддержкой нужного формата.

Ошибка: после фильтра появились шлейфы или двоение

Шлейфы чаще всего связаны с временной обработкой, неверным порядком полей или слишком агрессивным сглаживанием. Отключите все фильтры после подозрительного этапа и просмотрите последовательность кадров вокруг движения. Если дефект появляется сразу после TemporalCleaner, GrapeSmoother или другого временного фильтра, уменьшайте воздействие или меняйте алгоритм.

Если двоение следует ритму полей, вернитесь к ViewFields и проверке field order. Неверно интерпретированный чересстрочный материал может выглядеть приемлемо на статике и ломаться только в движении. Деинтерлейсер не исправляет ошибочную временную последовательность автоматически, если исходные поля переданы ему не в том порядке.

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

Ошибка: звук уходит от изображения

Коллекция содержит аудиомодули, но большая часть видеофильтров работает с кадрами. Рассинхронизация часто появляется не из-за MPASource или AC3Source, а после операций, меняющих число кадров или временную структуру. Decimate, удвоение кадров и неверно заданная частота могут изменить соответствие времени, даже если аудиодорожка сама по себе декодируется правильно.

Сначала сравните длительность видеоклипа до и после операции. Затем проверьте, не добавлялся ли звук к версии клипа с другой длиной. Если аудио импортируется отдельно, убедитесь в одинаковой точке старта и отсутствии известной задержки. Исправлять постоянную задержку и постепенно растущий дрейф нужно по-разному: второй обычно указывает на проблему временной базы.

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

Конфликты автозагрузки и одинаковых имён

Большой архив фильтров провоцирует желание распаковать всё в plugins, но это один из самых частых источников нестабильности. В папке могут оказаться разные поколения одного модуля, C-плагины со специальным способом загрузки, AVSI с зависимостями и вспомогательные DLL, которые вообще не должны регистрироваться как фильтры. Чем меньше набор автозагрузки, тем легче поддерживать его предсказуемость.

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

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

Зависимости: как понять, чего не хватает

Некоторые фильтры представляют собой один DLL, другие опираются на runtime-библиотеки, дополнительные плагины или скриптовые функции. Коллекция не унифицирует эти зависимости. Поэтому отсутствие функции внутри уже загруженного AVSI часто означает, что сам скрипт запустился, но одна из его внутренних команд не определена.

Читайте ошибку до конца: имя отсутствующей функции обычно указывает на следующий недостающий компонент. Не стоит решать это случайным скачиванием пакета кодеков. Ищите документацию именно к фильтру, сопоставляйте имя функции с DLL или AVSI и добавляйте минимально необходимый компонент той же архитектуры. После каждого шага повторяйте короткий тест.

Если зависимость устарела и не имеет подходящей сборки, у цепочки появляется технический предел. Иногда проще заменить верхнеуровневый фильтр на другой, чем тянуть несколько несовместимых библиотек ради одной функции. Это особенно важно для проектов, которые нужно переносить на другой компьютер: чем меньше неочевидных зависимостей, тем воспроизводимее AVS.

Порядок фильтров: почему он меняет результат

AviSynth обрабатывает клип в том порядке, который записан в скрипте, поэтому перестановка двух фильтров может дать совершенно другой кадр. Деинтерлейсинг влияет на временную структуру, resize — на геометрию, denoise — на текстуру, sharpen — на локальный контраст. Порядок нужно выбирать по причинно-следственной связи, а не по расположению модулей в каталоге.

Например, сильная резкость перед шумоподавлением увеличивает контраст шума, а сильное размытие перед анализом полей может скрыть гребёнку. Масштабирование до устранения смещения цветности способно изменить величину дефекта в пикселях. Удаление кадров до корректного IVTC может разрушить каденс. Эти ошибки не исправляются настройкой кодека на последнем шаге, потому что проблема уже находится в кадрах, которые получает кодировщик.

Удобный метод — сохранять несколько коротких версий скрипта с включением этапов по одному. После каждого значимого фильтра делайте контрольный просмотр. Если результат ухудшился, причина известна сразу. Такой подход занимает меньше времени, чем отлаживать цепочку из десяти модулей, где каждый потенциально меняет формат, частоту или детали изображения.

Служебная часть AviSynth Filter Collection с дополнительными утилитами

Как собрать минимальный набор под один проект

Начните со списка дефектов, а не со списка доступных фильтров. Для каждого наблюдаемого дефекта выберите один основной кандидат и, при необходимости, один альтернативный. Например: порядок полей — ViewFields; телесин — Decomb; точечный шум — Undot; временной шум — TemporalCleaner; resize — SimpleResize; субтитры — TextSub. Этого достаточно, чтобы получить управляемую первую версию скрипта.

Следующим шагом зафиксируйте файлы, которые реально используются: DLL, AVSI, документацию и необходимые зависимости. Всё остальное из скачанного архива оставьте вне рабочей папки. Такая структура уменьшает риск случайной автозагрузки и позволяет позднее воспроизвести проект, даже если общая коллекция на компьютере изменилась.

После проверки проекта запишите рядом с AVS сведения о разрядности и специальных требованиях каждого модуля. Не нужно превращать это в большой журнал: достаточно имени файла и причины, по которой он нужен. Если через несколько месяцев возникнет ошибка function not found, будет понятно, какой компонент искать, а не придётся заново распаковывать весь архив.

Каталог фильтров: что выбирать по задаче

Ниже перечислены функции, которые действительно представлены в AviSynth Filter Collection или в её сопутствующем наборе. Это не означает, что все они нужны одновременно. Список полезен как карта: сначала сопоставьте дефект с назначением, затем проверьте конкретную сборку и документацию.

2DCleanYUY2

2DCleanYUY2 — очистка YUY2. Подходит для старых цепочек, где материал уже находится в yuy2; перед применением важно не делать лишний переход в этот формат только ради одного фильтра. Главное ограничение: узкая привязка к формату делает его не лучшим первым выбором для цепочки, которая целиком работает в другом представлении. Проверяйте 2DCleanYUY2 на участке с мелкой фактурой и движением: если вместе с шумом исчезают устойчивые детали, ослабьте обработку или выберите менее агрессивный очиститель.

AC3Source

AC3Source — получение AC3-аудио. Используется как отдельная функция чтения звука, когда дорожку нужно подать в avs и затем соединить с видео. Главное ограничение: не исправляет задержку или рассинхронизацию сам по себе; временное соответствие проверяется отдельно. Для AC3Source сначала проверьте, что звук читается полностью, число каналов определяется ожидаемо, а начало аудио совпадает с видео на коротком контрольном фрагменте.

AddGrain

AddGrain — добавление управляемого зерна или шумового рисунка. Может пригодиться для тестов, визуального эффекта или компенсации слишком гладкой картинки после обработки. Главное ограничение: это генератор шума, а не denoise; применять его для очистки изображения бессмысленно. AddGrain оценивайте уже после основных операций очистки и изменения размера: добавленный шум должен решать конкретную задачу и не маскировать дефекты предыдущих этапов.

AntiBlink

AntiBlink — уменьшение мерцания и радужных эффектов около резких яркостных переходов. Полезен на захватах, где надписи и тонкие контрастные детали заметно мерцают. Главное ограничение: сначала надо убедиться, что проблема действительно похожа на shimmer, а не вызвана неверным деинтерлейсингом. AntiBlink проверяйте на последовательности кадров с реальным мерцанием, а не по одному стоп-кадру; одновременно следите, не начинает ли фильтр сглаживать нормальные изменения яркости.

Convolution3D

Convolution3D — пространственно-временное сглаживание. Подходит для шумного видео, когда одиночного пространственного фильтра недостаточно и допустим анализ соседних кадров. Главное ограничение: слишком сильная обработка способна смазывать движение, поэтому тестировать нужно на последовательности, а не на одном кадре. Convolution3D тестируйте на движущихся объектах и статичном фоне одновременно: удачная настройка подавляет шум, но не оставляет заметных временных хвостов за движением.

DctFilter

DctFilter — подавление высокочастотных компонентов с помощью DCT. Полезен ближе к концу цепочки, когда цель — уменьшить мелкий высокочастотный шум и повысить сжимаемость. Главное ограничение: для некоторых вариантов действуют требования к кратности размеров кадра; геометрию нужно проверить до вызова. Перед DctFilter убедитесь, что геометрия кадра соответствует требованиям выбранной сборки, а после него сравните мелкую текстуру и контуры с исходником при одинаковом масштабе.

Decomb

Decomb — обнаружение combing и построение inverse telecine. Лучше всего подходит материалу с телесином или смешанным каденсом, где нужны telecide и decimate. Главное ограничение: не является универсальной заменой деинтерлейсеру для истинного чересстрочного движения. Decomb имеет смысл проверять на нескольких типах движения и сменах каденса; если источник действительно чересстрочный, одной схемой IVTC проблему корректно не решить.

DNR2

DNR2 — динамическое шумоподавление. Используется, когда требуется более выраженная очистка, чем одиночное удаление точек. Главное ограничение: результат сильно зависит от характера движения и шума; агрессивные настройки способны съесть фактуру. DNR2 настраивайте по самому шумному и самому подвижному участкам: это помогает заметить момент, когда очистка уже начинает стирать фактуру или оставлять следы движения.

FrameDbl

FrameDbl — движенчески компенсированное увеличение числа кадров. Подходит для экспериментов с более высокой временной частотой, где обычное дублирование кадров не решает задачу. Главное ограничение: интерполяция может ошибаться на перекрытиях, быстрых движениях и сменах сцены. FrameDbl оценивайте только в движении: особое внимание уделяйте пересечениям объектов, тонким линиям и резким монтажным склейкам, где интерполяция ошибается заметнее всего.

Ghostbuster

Ghostbuster — компенсация постоянного горизонтально смещённого призрачного изображения. Полезен для аналоговых записей с устойчивой копией контура. Главное ограничение: если смещение или сила призрака меняются по кадру, один глобальный параметр не устранит весь дефект. Ghostbuster проверяйте на разных сценах с тем же смещённым призраком; если положение или интенсивность копии меняются, одна постоянная коррекция не будет стабильной.

GrapeSmoother

GrapeSmoother — временное сглаживание с учётом величины изменения цвета. Подходит для стационарного шума, где небольшие межкадровые различия вероятнее являются помехой. Главное ограничение: на медленном движении нужно внимательно следить за шлейфами и запаздыванием деталей. GrapeSmoother проверяйте на медленном движении и панорамах, где временное сглаживание легче всего выдаёт себя шлейфами или задержкой мелких деталей.

GreedyHMA

GreedyHMA — сопоставление полей и деинтерлейсинг. Используется для чересстрочного материала, когда нужен алгоритм семейства greedy/hm. Главное ограничение: результат зависит от правильного понимания порядка полей и не исправляет ошибочную разметку сам. Перед GreedyHMA подтвердите порядок полей на движущейся сцене; неверный field order нельзя компенсировать настройкой самого деинтерлейсера.

После группы деинтерлейсеров проверьте AVS в программе, которая умеет читать frameserver-поток, и пролистайте движение кадр за кадром. Если гребёнка или неверный порядок уже видны здесь, параметры будущего кодека их не исправят; возвращайтесь к выбору полей и алгоритма.

Grid

Grid — нанесение сетки для контроля геометрии. Удобен при проверке кадрирования, позиционирования и других пространственных операций. Главное ограничение: это диагностическая накладка; перед финальным выводом её нужно убрать. Grid используйте только как контрольную накладку: после проверки размеров, положения и кадрирования удалите его из финальной ветки, чтобы сетка не попала в кодирование.

GuavaComb

GuavaComb — борьба с dot crawl, rainbow и shimmer в неподвижных областях. Полезен для характерных композитных и аналоговых артефактов. Главное ограничение: не предназначен для общего шумоподавления и может быть лишним на чистом цифровом материале. GuavaComb проверяйте на участках, где действительно видны dot crawl, rainbow или shimmer; на чистом цифровом материале отсутствие таких дефектов делает фильтр ненужным.

ImageSequence

ImageSequence — импорт последовательности изображений. Подходит для покадровых рендеров, сканов и графики с предсказуемой нумерацией файлов. Главное ограничение: пропуски номеров, разные размеры или неподходящий формат отдельных кадров вызывают проблемы чтения. Для ImageSequence заранее проверьте непрерывность нумерации, одинаковые размеры кадров и читаемость каждого типа изображения, иначе ошибка одного файла остановит последовательность.

IBob

IBob — боб-деинтерлейсинг с интерполяцией. Может использоваться, когда нужно превратить поля в последовательность прогрессивных кадров. Главное ограничение: перед применением необходимо проверить порядок полей и итоговую частоту кадров. IBob проверяйте по направлению движения между соседними выходными кадрами: перепутанный порядок полей сразу проявляется неверной временной последовательностью.

IT

IT — inverse telecine. Предназначен для восстановления прогрессивной структуры из материала с соответствующим телесином. Главное ограничение: на обычном чересстрочном видео выбор IVTC вместо деинтерлейсинга приводит к неправильному движению. IT применяйте только после подтверждения телесина; если материал представляет собой обычную чересстрочную съёмку, нужен деинтерлейсинг, а не восстановление плёночного каденса.

KernelDeint

KernelDeint — деинтерлейсинг. Подходит как альтернативный алгоритм для материалов, где важно сравнить поведение на диагоналях и движении. Главное ограничение: его нельзя оценивать по одному стоп-кадру, поскольку основная задача связана с временной последовательностью. KernelDeint сравнивайте с альтернативами на диагоналях, титрах и быстрых движениях, причём смотреть нужно последовательность кадров, а не только статичный результат.

MaskTools

MaskTools — построение и обработка масок. Нужен как строительный набор для более сложных скриптов, где действие фильтра ограничивается определёнными областями. Главное ограничение: сам по себе не определяет, что считать дефектом; корректную маску и дальнейшую операцию задаёт скрипт. MaskTools проверяйте по самой маске отдельно: до основной обработки полезно убедиться, что белые и чёрные области действительно выделяют нужные участки без неожиданных границ.

MergeClips

MergeClips — комбинирование клипов. Полезен в составных схемах, где требуется объединить обработанные варианты. Главное ограничение: входы должны быть согласованы по критичным свойствам; несовпадение размеров или времени нужно устранить заранее. Перед MergeClips согласуйте размеры, цветовой формат и временную структуру входов; различия между клипами лучше исправить до объединения, а не после него.

MipSmooth

MipSmooth — сглаживание. Подходит как один из вариантов пространственной очистки и смягчения. Главное ограничение: на мелкой текстуре необходимо проверять потерю деталей, особенно после предыдущего denoise. MipSmooth оценивайте на волосах, текстурах ткани и других мелких деталях: именно там быстрее всего видно, что сглаживание стало сильнее, чем требует исходный шум.

MPASource

MPASource — декодирование MP1/MP2/MP3-аудио. Используется, когда mpeg-аудио нужно получить отдельно внутри avs. Главное ограничение: не заменяет проверку частоты дискретизации, числа каналов и временного смещения относительно видео. Для MPASource отдельно проверьте длительность, частоту дискретизации, число каналов и синхронность начала; эти свойства важнее самого факта успешного открытия аудио.

MultiDecimate

MultiDecimate — выбор и удаление кадров. Полезен в задачах, где схема повторов известна и подтверждена анализом. Главное ограничение: неправильная decimate-логика создаёт рывки и меняет временную структуру клипа. MultiDecimate проверяйте на длинном отрезке с разными типами движения: лишнее удаление кадра может быть незаметно локально, но проявится рывком в последовательности.

Noise Generators

Noise Generators — добавление равномерного или гауссова шума. Пригодны для тестирования фильтров и специальных эффектов. Главное ограничение: они намеренно ухудшают чистоту сигнала и не являются инструментами удаления шума. Noise Generators держите в отдельной тестовой ветке скрипта и отключайте перед обычным выводом, если искусственный шум не является намеренной частью результата.

NoMoSmooth

NoMoSmooth — сглаживание с сохранением движения. Подходит для сравнительного теста temporal/spatial denoise на шумном материале. Главное ограничение: поведение на движении нужно проверять на нескольких сценах, потому что один статичный участок скрывает побочные эффекты. NoMoSmooth сравнивайте на статике и на медленном движении; удачная очистка не должна превращать движущуюся мелкую текстуру в размазанный или запаздывающий след.

После группы фильтров импорта и сглаживания откройте промежуточный AVS отдельно от задания кодирования. Корректное чтение кадров на этом уровне отделяет ошибку фильтра от проблемы, которая возникает позже при передаче потока, настройке кодека или контейнера.

PeachSmoother

PeachSmoother — сглаживание шума. Может использоваться как альтернативный denoise-фильтр в старых yuy2-цепочках. Главное ограничение: как и другие сглаживатели, при чрезмерном воздействии снижает фактуру и требует сравнения до/после. PeachSmoother проверяйте на границах объектов и участках с повторяющейся фактурой, чтобы отличить полезное сглаживание от потери устойчивых деталей.

PseudoColor

PseudoColor — псевдоокраска. Подходит для технической визуализации диапазонов или намеренного эффекта. Главное ограничение: не является обычной коррекцией баланса белого, насыщенности или контраста. PseudoColor используйте как диагностическую визуализацию и проверяйте, какую именно величину кодирует цвет; такую картинку нельзя автоматически считать корректированной финальной версией.

RawSource

RawSource — чтение необработанного видеопотока. Нужен, когда контейнер отсутствует и параметры кадра известны заранее. Главное ограничение: ошибка в ширине, высоте или расположении компонент делает картинку неверной; автоопределение здесь не спасает. Для RawSource заранее задайте и проверьте свойства сырого потока, поскольку без корректной интерпретации размеров и формата байты могут читаться, но изображение будет неверным.

Reform

Reform — геометрическое преобразование. Используется для специальных операций с формой изображения, когда функции фильтра соответствуют задаче. Главное ограничение: перед применением необходимо сверить документацию конкретного архива, потому что название не раскрывает параметры. Reform проверяйте на прямых линиях и известных геометрических ориентирах: деформация должна исправлять нужную форму, а не создавать новую перспективную ошибку.

RemoveDirt

RemoveDirt — удаление отдельных загрязнений и дефектов. Подходит для реставрации кадров с локальными всплесками или грязью. Главное ограничение: сложное движение и реальные мелкие детали могут быть ошибочно приняты за дефект, поэтому нужен контроль на динамике. RemoveDirt оценивайте на участках с реальными одиночными дефектами и на чистых соседних кадрах, чтобы фильтр не начал принимать нормальную мелкую фактуру за грязь.

Scanlines

Scanlines — создание эффекта строк. Подходит для намеренного стилизованного оформления. Главное ограничение: не исправляет настоящие проблемы чересстрочности и не должен использоваться как деинтерлейсер. Scanlines добавляйте только как осознанный стилистический эффект и проверяйте при целевом размере просмотра; после масштабирования характер линий может заметно измениться.

ShowPixelValues

ShowPixelValues — вывод числовых значений пикселей. Удобен для проверки уровней и результата цветовых преобразований. Главное ограничение: это инструмент диагностики; его оверлей не оставляют в финальном видео. ShowPixelValues нужен для диагностики: после измерений уберите подписи из финальной ветки и не оценивайте цвет по кадру, поверх которого осталась служебная разметка.

SimpleResize

SimpleResize — изменение размера, включая специальные варианты для interlaced-потока. Подходит для контролируемого масштабирования в avs без перехода в внешний редактор. Главное ограничение: для чересстрочного видео требуется правильный вариант функции и понимание структуры полей. SimpleResize проверяйте на тонких диагоналях, тексте и повторяющихся узорах; именно эти участки лучше показывают характер интерполяции и возможный алиасинг.

SmartDecimate

SmartDecimate — удаление повторяющихся кадров по анализу. Полезен там, где повторы действительно относятся к структуре материала. Главное ограничение: ошибка в критерии приводит к потере уникальных кадров и неравномерному движению. SmartDecimate тестируйте на эпизоде с движением и сменами сцены, чтобы убедиться, что удаляются именно повторы, а не уникальные кадры, необходимые для плавности.

SmoothDeinterlacer

SmoothDeinterlacer — сглаживающий деинтерлейсинг. Подходит как один из вариантов преобразования чересстрочного видео в прогрессивное. Главное ограничение: может уменьшать вертикальную детализацию; сравнивать надо на движении и тонких линиях. SmoothDeinterlacer оценивайте при правильном порядке полей и на нескольких движущихся сценах; по статике невозможно понять, сохранилась ли корректная временная последовательность.

SmoothHiQ

SmoothHiQ — сглаживание. Используется для очистки, когда нужен другой характер смягчения, чем у temporal-фильтров. Главное ограничение: после него обязательно проверить мелкие текстуры, чтобы не принять потерю деталей за отсутствие шума. SmoothHiQ проверяйте на областях с тонкой фактурой и на границах контрастных объектов, чтобы очистка не превращалась в общее размытие изображения.

SmoothUV

SmoothUV — сглаживание цветностных компонентов. Подходит, когда заметнее всего шумит цвет, а яркостные детали хочется сохранить. Главное ограничение: не устраняет дефекты яркости и потому не заменяет полноценную обработку смешанного шума. SmoothUV сравнивайте прежде всего по цветному шуму и границам насыщенных объектов; яркостные дефекты этим фильтром не устраняются и требуют другой операции.

Spray

Spray — перенос и случайное распределение соседних пикселей. Используется для специальных маскированных эффектов и локальной подмены текстуры. Главное ограничение: случайный характер операции делает её неподходящей для точной реконструкции деталей. Spray применяйте к копии или маскированной ветке и оценивайте несколько кадров подряд: случайная перестановка пикселей не подходит для точного восстановления исходной детали.

После операций с цветом, масками и геометрией сравните несколько контрольных кадров непосредственно из AVS. Так легче понять, в какой точке цепочки появляется нежелательное изменение, не смешивая его с масштабированием плеера или параметрами финального энкодера.

SSIM

SSIM — оценка структурного сходства. Полезен для численного сравнения двух синхронизированных вариантов обработки. Главное ограничение: результат бессмысленен при смещении кадров, разном размере или неодинаковой временной структуре. Перед SSIM выровняйте сравниваемые клипы по кадрам, размеру и геометрии; иначе число будет отражать несоответствие входов, а не качество выбранной обработки.

STMedianFilter

STMedianFilter — пространственно-временная медианная фильтрация. Подходит для удаления импульсных и межкадровых помех при аккуратных настройках. Главное ограничение: слишком широкое окно способно менять движение и мелкие структуры. STMedianFilter настраивайте по шумному статичному участку и сцене с движением, чтобы медианная обработка не начала заменять полезные временные изменения соседними значениями.

TemporalCleaner

TemporalCleaner — быстрое временное шумоподавление. Полезен для стационарного шума и подготовки материала к эффективному кодированию. Главное ограничение: при сильном воздействии на движущихся объектах возможны шлейфы. TemporalCleaner проверяйте на панорамах и движущихся контурах: если за объектами появляется заметный след, временное усреднение уже слишком сильное для этого материала.

TextSub

TextSub — отрисовка субтитров поверх кадров. Подходит для прожига текста в видеоряд перед кодированием. Главное ограничение: не создаёт отдельную переключаемую дорожку субтитров; после фильтра текст становится частью изображения. TextSub проверяйте на характерных строках, диакритике и границах кадра; после прожига текст становится частью изображения и не может быть отключён как отдельная дорожка.

TomsMoComp

TomsMoComp — движенчески компенсированный деинтерлейсинг. Подходит для сравнения с другими алгоритмами на сложном движении. Главное ограничение: на ошибочном field order даже хороший алгоритм даст неверную временную последовательность. TomsMoComp запускайте только после проверки field order и сравнивайте результат на движении; неправильная последовательность полей даст ошибку независимо от качества алгоритма.

TransAll

TransAll — набор переходов. Удобен для скриптовых переходов между подготовленными клипами. Главное ограничение: не предоставляет визуальный таймлайн; длительность и положение эффекта задаются в AVS. TransAll проверяйте на коротких составных клипах, точно задавая участки перехода в скрипте; визуального таймлайна для перетаскивания границ здесь нет.

Transition

Transition — переход между клипами. Подходит для точечно заданного скриптового эффекта. Главное ограничение: для точного монтажа требуется заранее рассчитать участки и длину, поскольку мышью границы не двигаются. Transition сначала отладьте на коротких отрезках с известной длиной, поскольку положение и продолжительность перехода определяются скриптом, а не маркерами на таймлайне.

UnComb

UnComb — устранение combing-артефактов. Может использоваться на материале с заметной гребёнкой после диагностики её причины. Главное ограничение: если причина — неверный порядок полей или телесин, простой decomb-фильтр может маскировать проблему, а не решать её. UnComb применяйте после выяснения причины гребёнки: если проблема связана с field order или телесином, корректная временная обработка важнее простого сглаживания combing.

Undot

Undot — лёгкое удаление точечных шумов. Полезен как первый мягкий этап очистки, когда не хочется затрагивать текстуру сильным denoise. Главное ограничение: не рассчитан на крупные пятна, царапины или выраженный временной шум. Undot оценивайте на чистых и шумных областях рядом: мягкая обработка должна убирать мелкие точки, не превращая тонкую естественную фактуру в ровное пятно.

Unfilter

Unfilter — смягчение или повышение резкости. Удобен для небольших корректировок локального контраста. Главное ограничение: не восстанавливает детали, уже потерянные сильным шумоподавлением, и способен усилить оставшийся шум. Unfilter проверяйте после шумоподавления, а не вместо него: повышение локальной резкости способно вернуть заметность остаточного шума и ореолов вокруг контрастных границ.

VagueDenoiser

VagueDenoiser — шумоподавление. Подходит как альтернативный алгоритм для сравнения с temporal и median-фильтрами. Главное ограничение: качество зависит от типа шума; универсальных настроек для любого видео нет. VagueDenoiser сравнивайте с исходником на нескольких типах сцен, поскольку один и тот же уровень воздействия по-разному ведёт себя на шуме, текстуре и движении.

Videoscope

Videoscope — визуальный контроль и анализ отличий. Полезен при настройке фильтров и проверке того, какие области изменились. Главное ограничение: диагностическую разметку надо отделять от финального видеопотока. Videoscope оставляйте в диагностической ветке и удаляйте перед финальным выводом; задача фильтра — показать свойства сигнала, а не изменить изображение для просмотра.

Перед переходом к метрикам и диагностическим фильтрам убедитесь, что сам AVS воспроизводится без пропусков и с ожидаемой длительностью. Если нарушение уже присутствует в скрипте, сначала исправьте источник, порядок фильтров или совместимость DLL, а не настройки экспорта.

ViewFields/UnViewFields

ViewFields/UnViewFields — просмотр и восстановление представления полей. Незаменимы для диагностики порядка полей перед деинтерлейсингом и ivtc. Главное ограничение: это не готовый улучшатель картинки; их ценность именно в правильной постановке диагноза. ViewFields/UnViewFields используйте для проверки структуры полей до основной обработки, а после диагностики возвращайте клип к корректному представлению для следующих фильтров.

VQMCalc

VQMCalc — расчёт показателя качества. Может использоваться вместе с визуальной проверкой для сравнения вариантов. Главное ограничение: требует корректно синхронизированных клипов и не заменяет оценку движения глазами. Перед VQMCalc синхронизируйте клипы и приведите их к одинаковой геометрии; метрика не может отделить качество фильтра от простого сдвига, ресайза или пропуска кадра.

WarpSharp Package

WarpSharp Package — обработка контуров и набор связанных функций. Полезен для подчёркивания линий и как база для старых скриптов, использующих функции пакета. Главное ограничение: слишком сильная деформация границ меняет форму деталей и особенно заметна на естественном видео. WarpSharp проверяйте на естественных контурах и мелкой геометрии: слишком сильное воздействие легко превращает подчёркивание линий в заметное изменение формы объектов.

Xlogo

Xlogo — удаление логотипов. Подходит для локальной обработки постоянного логотипа при корректной маске и настройках. Главное ограничение: внутренние преобразования и сложный фон могут ухудшать качество области; результат проверяют на разных сценах. Xlogo тестируйте на нескольких сценах под одной маской, особенно на сложном движущемся фоне: качество восстановления области может существенно меняться от кадра к кадру.

XStatImport

XStatImport — импорт статистических данных для скриптовой обработки. Полезен в специализированных сценариях, где значения подготовлены внешним этапом. Главное ограничение: это не обычный фильтр улучшения и без соответствующего рабочего процесса почти не нужен. XStatImport имеет смысл проверять вместе с процессом, который создаёт ожидаемые статистические данные; без согласованного формата входа импортированные значения бесполезны.

Zoom

Zoom — панорамирование, масштабирование и поворот. Подходит для программируемого движения кадра и геометрических эффектов. Главное ограничение: не заменяет ключевые кадры визуального редактора; траектория задаётся параметрами скрипта. Zoom проверяйте по границам кадра, мелкому тексту и тонким линиям, поскольку увеличение само по себе не восстанавливает отсутствующие детали и может усиливать артефакты интерполяции.

Как проверять результат без полного перекодирования

Главное преимущество AVS-процесса для настройки фильтров — возможность просматривать результат до окончательной записи. Откройте скрипт в совместимом просмотрщике или редакторе, переходите к заранее выбранным контрольным кадрам и сравнивайте несколько версий. Полный экспорт нужен только после того, как цепочка стабильно работает на разных сценах.

Контрольный набор сцен лучше подготовить заранее: начало и конец файла, быстрый панорамный кадр, лицо крупным планом, тёмная сцена, мелкий текст, высококонтрастная диагональ и смена сцены. Для interlaced-материала добавьте участок с выраженным движением. Такой набор быстрее выявляет ошибки большинства фильтров, чем случайный просмотр первых десяти секунд.

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

Производительность и использование памяти

Коллекция объединяет фильтры с очень разной вычислительной сложностью. Лёгкий Undot и движенчески компенсированный алгоритм нельзя сравнивать по одному названию фильтр. Временные и motion-compensated операции обычно требуют больше соседних кадров и вычислений, а простая диагностика или коррекция одного компонента может быть значительно дешевле.

Скорость лучше измерять в одном хосте, на одном фрагменте и в одинаковом цветовом формате. Если для одного теста вставлена дополнительная конверсия YV12→RGB, вы измеряете не только фильтр. То же относится к resize: обработка 1920×1080 и 720×576 даёт разную нагрузку, поэтому fps из чужого скрипта мало говорит о вашей конфигурации.

Большая папка автозагрузки сама по себе не делает каждый кадр медленнее, но усложняет запуск и поиск конфликтов. Для воспроизводимой производительности полезнее иметь минимальный набор DLL и явную цепочку. Если скорость неожиданно падает после добавления нового модуля, отключите его и сравните тот же участок, прежде чем менять параметры кодировщика.

Когда AviSynth Filter Collection подходит лучше всего

  • Когда нужен конкретный классический AviSynth-фильтр и важно увидеть варианты для разных поколений AviSynth.
  • Когда старый AVS-проект ссылается на функцию, а имя DLL неизвестно или отличается от имени команды.
  • Когда требуется сравнить несколько подходов к деинтерлейсингу, шумоподавлению, resize или диагностике без перехода в другой язык обработки.
  • Когда восстанавливается воспроизводимость старой цепочки и нужно понять, какие отдельные плагины в ней использовались.
  • Когда пользователь готов тестировать DLL по одной и контролировать архитектуру, цветовой формат и зависимости.

Когда лучше выбрать другой набор

Если нужен современный единый набор зависимостей для одного конкретного фильтра, специализированный пакет этого фильтра часто проще. Например, сложные современные скрипты могут иметь перечень проверенных зависимостей и готовые 32/64-битные варианты. Общая коллекция шире, но не гарантирует согласованность всех компонентов между собой.

Если нужен визуальный монтаж с таймлайном, титрами, переходами и экспортом из одного окна, фильтровая коллекция — неподходящий класс инструмента. Она сильна там, где обработка описывается AVS и должна быть точно воспроизводимой. Для ручного монтажа удобнее редактор, а AviSynth оставить как этап подготовки кадров.

Если задача решается встроенной функцией AviSynth+ без внешнего DLL, лишний плагин обычно не нужен. Некоторые операции, которые когда-то распространялись отдельно, позднее получили встроенные аналоги. В современном скрипте стоит сначала проверить документацию AviSynth+, а коллекцию использовать там, где требуется именно внешняя функция или совместимость со старым проектом.

Как проверить архив из коллекции до установки

Сначала откройте ZIP как обычный архив и посмотрите структуру каталогов. Рабочий пакет может содержать DLL, AVSI или AVS, текстовую документацию, примеры и исходный код. Наличие нескольких типов файлов не означает, что все их нужно копировать в plugins. Для первого теста достаточно выделить собственно плагин и те зависимости, которые прямо указаны в документации. Примеры лучше держать рядом, но не помещать в автозагрузку: старые AVS-файлы могут выполняться иначе, чем ожидается в современной конфигурации.

Проверьте, не лежат ли рядом несколько сборок одного DLL. Имена вроде x86, x64, 2.5, 2.6 или отдельные каталоги обычно обозначают разные бинарные варианты. Выбирайте только тот, который соответствует процессу AviSynth. Нельзя одновременно копировать 32- и 64-битную DLL с одинаковым именем в одну папку и рассчитывать, что система сама выберет нужную. Если архитектура не подписана, лучше определить её отдельной утилитой анализа PE или оставить файл вне рабочей конфигурации до проверки.

Не путайте runtime-библиотеку с AviSynth-плагином. В архиве может находиться DLL, которую основной модуль загружает как зависимость, но которая сама не экспортирует функции AviSynth. Если поместить такую библиотеку в автозагрузку, диагностическое сообщение станет только запутаннее. Сначала найдите файл, который документация называет плагином, подключите его явно и смотрите, какой компонент требует загрузчик.

После распаковки полезно сохранить исходный ZIP неизменным и работать с копией его содержимого. Тогда всегда можно вернуться к первоначальной структуре и сравнить, не был ли файл случайно заменён. Для коллекции с множеством одноимённых библиотек это особенно важно: случайно перезаписанная DLL способна менять поведение старого проекта без каких-либо правок AVS.

Как переносить старый AVS-скрипт на современную среду

Перенос лучше начинать с минимальной версии скрипта, которая только открывает входной материал. После того как чтение работает, возвращайте внешние фильтры по одному в исходном порядке. Если сразу копировать весь старый plugins-каталог, невозможно понять, какой компонент не совместим. Метод последовательного восстановления длиннее только на первый взгляд: он быстро отделяет проблемы декодера, плагина, цветового формата и самого AVS-синтаксиса.

Для каждого внешнего вызова выпишите имя функции и найдите соответствующий модуль. Каталог помогает там, где функция известна, а имя ZIP забыто. Затем проверьте, не стала ли эта операция встроенной в используемом AviSynth+. Если встроенный эквивалент документирован и даёт требуемое поведение, внешнюю старую DLL можно не переносить. Это уменьшает число бинарных зависимостей и упрощает дальнейшую поддержку проекта.

Если старый фильтр принимает только YUY2, а новая цепочка естественно работает в другом формате, не добавляйте конверсии автоматически. Сначала оцените, насколько именно этот модуль необходим. Иногда один устаревший этап вынуждает сделать два преобразования цвета и сводит на нет удобство переноса. Современный аналог с поддержкой текущего формата может сохранить больше информации и одновременно убрать зависимость от старого ABI.

После каждого восстановленного этапа сравнивайте не только отсутствие ошибки, но и фактический кадр. Плагин может загрузиться, но вернуть другой результат из-за изменившегося значения по умолчанию в альтернативной сборке или из-за другой цветовой матрицы на входе. Для важного проекта лучше явно задавать критичные параметры, которые документированы выбранным фильтром, вместо расчёта на неявные значения.

Особое внимание уделяйте операциям, меняющим число кадров. Если старый сценарий использовал decimate, bob или интерполяцию, временная структура должна совпасть до подключения звука и субтитров. Сначала добейтесь одинаковой длительности и движения, потом проверяйте аудио. Иначе ошибка в одном фильтре будет выглядеть как рассинхронизация на другом этапе.

Как отличить сбой фильтра от проблемы программы, открывающей AVS

Один и тот же AVS можно открыть разными совместимыми программами, и их процессы могут иметь разную разрядность или набор доступных декодеров. Если скрипт работает в одном просмотрщике и падает в кодировщике, это важный признак: сам текст AVS, вероятно, корректен, а различие находится в окружении хоста. Сравните архитектуру процессов, пути автозагрузки и то, какая библиотека AviSynth фактически используется каждым приложением.

Если ошибка появляется в любом хосте на одной и той же строке LoadPlugin, проблема ближе к DLL или её зависимостям. Если LoadPlugin проходит, а сбой возникает только при первом запросе кадра, фильтр мог загрузиться, но не принять параметры клипа. Тогда проверяйте формат пикселей, размеры, наличие аудио и состояние полей. Разделение загрузка библиотеки и создание кадра заметно сокращает поиск причины.

Для проверки можно временно заменить реальный клип простым тестовым видеопотоком AviSynth с известным размером и форматом, если конкретный фильтр это допускает. Если модуль стабильно работает на тестовом клипе, но падает на исходном материале, причина вероятнее связана с входными параметрами. Если же он не запускается даже на минимальном примере, возвращайтесь к бинарной совместимости и зависимостям.

Не интерпретируйте зависание кодировщика как доказательство ошибки экспорта. Временной фильтр способен запросить много соседних кадров, а тяжёлая цепочка — резко снизить скорость первого кадра. Сначала откройте AVS в просмотрщике и дождитесь нескольких кадров. Если после прогрева скорость становится стабильной, это вопрос производительности; если процесс завершается или выдаёт исключение, это уже функциональная ошибка.

Обрезка, склейка и кадрирование рядом с фильтрами коллекции

Базовые операции Trim, Crop и splice относятся к самому AviSynth, а не к AviSynth Filter Collection. Это различие полезно сохранять в скрипте: коллекция добавляет внешние модули, а монтажные границы можно задавать встроенными функциями. Так проще обновлять плагины, не связывая элементарную обрезку с конкретной DLL.

Кадрирование перед фильтром уменьшает объём данных и иногда ускоряет работу, но может изменить геометрические предположения алгоритма. DctFilter, resize-модули и некоторые блоковые фильтры имеют требования к размерам или кратности. Поэтому после Crop проверяйте ширину и высоту до вызова такого плагина. Если функция требует кратность, лучше рассчитать Crop заранее, чем получать ошибку глубоко в цепочке.

Склейка обработанных частей корректна только тогда, когда их свойства совместимы. Если один отрезок после фильтра имеет другую частоту кадров, размер или цветовой формат, простое объединение может не сработать или заставит добавить лишние преобразования. Удобнее приводить каждый сегмент к общей форме перед splice, а специфические фильтры применять внутри отдельных ветвей.

Переходы из TransAll или Transition не заменяют обычную склейку. Это эффект между двумя подготовленными участками, для которого нужно заранее определить длительность и момент. Если требуется просто соединить две части без эффекта, встроенная операция AviSynth понятнее и создаёт меньше зависимостей. Внешний модуль стоит добавлять только ради функции, которой действительно нет в базовой цепочке.

Контрольный чек-лист перед длинным кодированием

  • AVS открывается в совместимом просмотрщике без предупреждений и исключений.
  • Каждый внешний фильтр подключается из известной папки и имеет понятную роль в цепочке.
  • Архитектура DLL совпадает с архитектурой процесса, который будет кодировать видео.
  • Цветовой формат меняется только там, где это требуется фильтру или конечному хосту.
  • Порядок полей проверен до деинтерлейсинга, IVTC и операций над частотой кадров.
  • После decimate или интерполяции движение просмотрено на нескольких сложных сценах.
  • После denoise сохранены важные текстуры, а за движущимися объектами нет заметных шлейфов.
  • После sharpen нет выраженных светлых или тёмных ореолов на контрастных границах.
  • Размер кадра соответствует требованиям блоковых и resize-фильтров.
  • Субтитры находятся внутри финального кадра и читаются после всех геометрических операций.
  • Аудио совпадает с изображением в начале, середине и конце тестового отрезка.
  • Диагностические оверлеи вроде Grid или ShowPixelValues отключены перед сохранением.
  • Короткий тест кодируется тем же хостом и кодеком, которые будут использоваться для полного файла.

Если все эти проверки проходят, оставшаяся работа сводится к производительности и настройкам конечного кодировщика. Если хотя бы один пункт не выполнен, длинный экспорт лучше отложить: AviSynth выдаёт кадры по запросу, поэтому ошибка, возникающая на редкой сцене или только после смены каденса, может обнаружиться далеко в процессе. Короткие целевые тесты экономят время и делают причину ошибки воспроизводимой.

Сравнение AviSynth Filter Collection с аналогами

ПрограммаЛучше подходит дляГлавное ограничение
AviSynth Filter CollectionПоиска и подбора большого числа классических внешних фильтров AviSynth по функциям и совместимым вариантамСборки и зависимости неоднородны, поэтому плагины приходится проверять по одному
AviSynth Wiki External FiltersПоиска документации и страниц отдельных внешних фильтров с более структурированным описаниемЭто индекс и справка, а не единый согласованный пакет DLL
AMVApp AviSynth Plugin PackГотового набора фильтров и скриптов для типовых задач AMV-постобработкиНабор ориентирован на собственный рабочий процесс и может конфликтовать с уже установленными плагинами
Scintilla AVISynth Postprocessing FiltersПодбора постобработки с практическими пояснениями по denoise, резкости и анимационному материалуПодборка выборочная и ориентирована прежде всего на постобработку, а не на весь спектр расширений
StaxRip Tools / AviSynth ScriptsПолучения согласованного набора более современных AviSynth-скриптов и зависимостей внутри готового процесса кодированияСостав определяется потребностями StaxRip и не является архивом всех классических фильтров

Практический выбор зависит от задачи. AviSynth Filter Collection полезнее всего, когда нужно найти конкретный классический модуль или разобраться со старым AVS-скриптом. AviSynth Wiki удобнее как справочник по отдельным фильтрам. AMVApp и подборка Scintilla подходят, когда нужен уже отобранный набор под постобработку. Инструментарий StaxRip разумнее для современного процесса, где важны согласованные зависимости и готовая оболочка вокруг кодирования. Переносить весь набор из одного решения в другое без проверки не стоит: одинаковое назначение не означает бинарную совместимость.

Итоговая схема работы

  1. Определите конкретный дефект или функцию, которая нужна в AVS.
  2. Найдите в каталоге фильтр и точное имя вызываемой функции.
  3. Выберите вариант, соответствующий поколению AviSynth, и отличите DLL-пакет от исходного кода.
  4. Проверьте разрядность DLL и процесса, который открывает AVS.
  5. Подключите один модуль явным LoadPlugin или подходящим способом для его типа.
  6. Проверьте требуемый цветовой формат и избегайте лишних конверсий.
  7. Откройте короткий тестовый скрипт и оцените движение, детали и диагностические показатели.
  8. Добавляйте зависимости и следующие фильтры по одному, фиксируя рабочую конфигурацию.
  9. Только после стабильного просмотра передавайте AVS в редактор или кодировщик для окончательного сохранения.

При таком подходе AviSynth Filter Collection остаётся полезной именно как коллекция специализированных инструментов, а не превращается в хаотичную папку DLL. Сила набора — в разнообразии функций: от полей и IVTC до denoise, resize, субтитров, аудио и диагностики. Его ограничение то же самое: каждый модуль имеет собственную совместимость и параметры. Чем точнее вы выбираете фильтр под наблюдаемую задачу, тем меньше времени уходит на конфликты и тем легче повторить результат в следующем проекте.