Avisynth что это за программа

Содержание

Содержание

О: AviSynth (от AVI SYNTHesizer, то есть СИНТезатор) это фрейм-сервер (кадр-сервер, податчик кадров).
Замечательное описание дано на домашней странице Lukes:

«AviSynth это очень полезная утилита, созданная Ben Rudiak-Gould. Она обеспечивает много возможностей для объединения и фильтрации видео. Что делает AviSynth уникальным, так это факт, что он не является самостоятельной программой, которая производит выходные файлы. Вместо того, AviSynth действует как «посредник» между Вашими видео и видео-приложениями.

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

Существует пять главных причин, почему вы захотели бы использовать AviSynth:

О: AviSynth (до версии 1.0b) разрабатывался Ben Rudiak-Gould, смотри зеркало его домашней страницы. В настояще время он разрабатывается Sh0dan, IanB, d’Oursse (AviSynth v3), Bidoche (AviSynth v3) и другими.

Свежие и старые версии (последняя стабильная 2.5.7) могут быть найдены на sourceforge.

Какие главные ошибки в этих версиях?

Текущие ошибки могут быть найдены на странице проекта AviSynth. Исправленные ошибки могут быть найдены в перечне изменений.

О: Документация по фильтрам AviSynth может быть найдена на сайте http://www.avisynth.org/, и также в частности на странице corefilters. Вы должны прочитать эти документы перед отправкой сообщений в существующий форум (но можно спрашивать, если Вы имеете трудности с их пониманием). Сейчас базовая документация (и русская тоже!) входит в дистрибутив AviSynth.

Начиная с версии v2.06 AviSynth приходит с авто-инсталлятором. Также будьте уверены, что вы не имеете других версий AviSynth где-либо на вашем жестком диске, так как есть шанс, что будет зарегистрирована одна из этих версий. Удалите если необходимо. Для удаления Avisynth идите к «Программы», «AviSynth 2.5» и выберите «Uninstall AviSynth».

Откройте текстовый редактор, например Блокнот. Добавьте следующую строку

и сохраните как файл с расширением «avs». Сохраните например как version.avs (удостоверьтесь, что расширение есть «avs» а не например «.avs.txt»). (Этот файл сейчас поставляется с Avisynth в подкаталоге Examples). Откройте файл в приложении, которое может читать AVI-файлы, например Windows медиа-проигрывателе WMP 6.4. Номер версии будет отображен.

Используя текстовый редактор, который Вы предпочитаете, например Блокнот. Смотри также ответ. Хотя AviSynth не нуждается в них, существуют несколько GUI (графических интерфейсов пользователя) которые могут помочь в написании AVS файлов. Вы можете прочитать описание каждого из них там.

Где угодно на Вашем жестком диске.

Как объяснено в здесь, это не так. Однако возможность использовать v1.0x/v2.0x плагины в v2.5x/2.6x существует, смотри ниже.

В пакете warpsharp_2003_1103.cab Вы найдете плагин называемый «LoadPluginEx.dll». (При использовании более старой версии LoadPluginEx.dll, нельзя было помещать этот плагин в Ваш каталог плагинов. Требовалось поместить его в отдельную папку, иначе VirtualdubMod и WMP6.4 будут аварийно завершаться на выходе.) Это позволит Вам использование плагинов v2.0x в версии v2.5x. Пример скрипта (использующий v2.0x плагин Dust от Steady):

Если вы хотите автоматизировать этот процесс, посмотрите LoadOldPlugins.

Эта проблема может быть вызвана некоторыми плагинами в вашей папке (автозагружаемых) плагинов. Решением является переместить проблемные плагины из папки плагинов и загружать их вручную.

AviSynth (особенно v2.5x) высоко оптимизирован. Как следствие, возможно что Ваш компьютер кажется завершает работу случайным образом на втором проходе. Попытайтесь выполнив напряженный тест [Prime95] в течение часа, проверить, является ли Ваша система стабильной. Если тест не пройдет (или Ваш компьютер зависнет), убедитесь, что Ваш компьютер не разогнан и понижайте скорость Вашей системной шины шагами (скажем) пять МГц до тех пор пока аварии не прекратятся.

Имеет ли AviSynth GUI (графический интерфейс пользователя)?

AviSynth не имеет полноценного графического интерфейса, но доступны несколько средств:

Источник

Установка и настройка Avisynth+

В предыдущем посте (https://pikabu.ru/story/obrabotka_240_fps_slowmotion_video_s. ) пара человек высказалось за пост об установке и настройке Avisynth. Данный пост рассчитан на новичков, поэтому особо вдаваться в тонкости работы программы не будем, кто захочет в сети есть куча информации.

Итак, что же такое Avisynth? AviSynth это нелинейный видео-редактор, контролируемый скриптовым языком или, перефразируя, скриптовый язык для обработки видео. AviSynth выступает в качестве промежуточного звена между приложением и физическим файлом, позволяя «на лету» выполнять различные преобразования. Иначе говоря, Avisynth работает как фрэймсервер, имеющий систему сценариев, редактирование которых позволяет осуществлять нелинейное редактирование любого уровня сложности с высоким уровнем воспроизводимости результатов.

После установки самого Avisynth+ нужно установить плагины. Лучше всего это сделать, скачав StaxRIP2 ( https://github.com/Revan654/staxrip/releases/tag/2.0.0.0 ), он хорош тем, что в нем полный набор свежих плагинов, ничего не надо будет дополнительно искать. Устанавливать его необязательно, достаточно распаковать папку Plugins из архива.

Теперь нужно определиться, какой программой будем открывать скрипт. Если нужно контролировать визуально работу скриптов, можно скачать VirtualDub2 ( https://sourceforge.net/projects/vdfiltermod/files/ ). Если уверены в результате, можно воспользоваться просто оболочкой кодировщиком, например Simple x264/x265 Launcher ( https://github.com/lordmulder/Simple-x264-Launcher/releases/. ).

Итак, настало время написать скрипт. Для примера я приведу скрипт, использованный в предыдущем посте про обработку 240fps видео. Создаем простой текстовый файл с расширением avs и копируем туда такой текст (вам, соответственно, нужно будет правильно указать пути к распакованной папке Plugins из Staxrip и к вашему оригинальному видеофайлу):

LoadPlugin(avdir + STAXdir + «avs\nnedi3\nnedi3.dll»)

LoadPlugin(avdir + STAXdir + «avs\masktools2\masktools2.dll»)

LoadPlugin(avdir + STAXdir + «avs\mvtools2\mvtools2.dll») #Loaded in Stab

LoadPlugin(avdir + STAXdir + «avs\yadifmod2\yadifmod2.dll»)

LoadPlugin(avdir + STAXdir + «avs\RgTools\RgTools.dll»)

LoadPlugin(avdir + STAXdir + «avs\FFT3DFilter\fft3dfilter.dll»)

LoadPlugin(avdir + STAXdir + «avs\TDeint\TDeint.dll»)

LoadPlugin(avdir + STAXdir + «avs\MedianBlur2\MedianBlur2.dll»)

Import(avdir + STAXdir + «avs\SMDegrain\SMDegrain.avsi»)

Import(avdir + STAXdir + «avs\QTGMC\QTGMC.avsi»)

LoadPlugin(avdir + STAXdir + «avs\DSS2mod\avss.dll»)

LoadPlugin(avdir + STAXdir + «avs\L-SMASH-Works\LSMASHSource.dll»)

После создания avs скрипта, запускаем VirtualDub2 или Simple x264/x265 Launcher и открываем в них скрипт. Если вы все сделали правильно, то VirtualDub2 должен показать первый кадр из видео. Ну а дальше нажимаем Save As, выбираем контейнер, кодек и запускаем процесс кодирования. Скорость на моем i5-2500 конечно не поражает, но вполне терпимо:

Источник

Общая информация

Главная | Общая информация | Загрузка клипов | Открытие скриптов | Сообщения об ошибках | Обработка контента | Цветовой формат YV12 | Использование плагинов VirtualDub

Содержание

Что такое AviSynth? [ ]

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

Существует пять основных причин, по которым вы хотели бы использовать AviSynth:

Кто занимается разработкой AviSynth? [ ]

Изначально AviSynth (до v1.0В) был создан разработчиком Ben Rudiak-Gould. В настоящее время над ним работают такие разработчики как IanB и другие.

Где можно скачать последние версии AviSynth? [ ]

Каковы основные ошибки в этих версиях? [ ]

Текущие ошибки можно найти в документации на странице проекта в AviSynth. Исправленные ошибки можно найти в списке изменений.

Где можно найти документацию по AviSynth? [ ]

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

Как установить / удалить AviSynth? [ ]

Начиная с версии 2.0 AviSynth поставляется с программой автоматической установки. Также убедитесь, что на вашем жестком диске нет других версий AviSynth, потому что есть вероятность, что одна из этих версий будет зарегистрирована. Удалите их, если необходимо. Для удаления AviSynth перейдите в папку, где установлен AviSynth и выберите «Uninstall AviSynth».

Установка AviSynth v2.05 или более ранних версий: переместите avisynth.dll в каталог system/system32 и запустите install.reg. Для удаления запустите uninstall.reg и удалите avisynth.dll.

В чем основное различие между v1.0x, v2.0x, v2.5x и v2.6x? [ ]

Версии v1.0x и v2.0x устарели. Основное отличие от v2.5x заключается в том, что внутренняя структура AviSynth изменилась (YV12 и многоканальная поддержка), вследствие чего внешние плагины, скомпилированные для v1.0x / v2.0x, не будут работать для v2.5x / v2.6x и наоборот наоборот. В v2.6x добавлены другие плоскостные форматы, такие как YV16, YV24 и Y8. Плагины v2.5x будут работать в v2.6x, но не наоборот.

Как создать AVS-файл? [ ]

Используйте предпочитаемый текстовый редактор (например, блокнот).

Хотя AviSynth в них не нуждается, Существует несколько графических интерфейсов (GUI), которые могут помочь вам в написании AVS файлов.

Где сохранить AVS-файл? [ ]

Где угодно. Но если вы используете относительные пути к исходным файлам, вы можете поместить AVS к исходным файлам.

Как узнать, какая у меня версия AviSynth? [ ]

Откройте текстовый редактор, например блокнот. Добавьте следующую строку:

и сохраните файл с расширением «avs». Сохраните, например, как «version.avs» (убедитесь, что расширение «avs», а не «txt»). Откройте файл в приложении, которое может читать AVI-файлы, например WMP 6.4 или Media Player Classic. Отобразится номер версии.

Плагины скомпилированные для v2.5x/v2.6X совместимы с v1.0x/v2.0x и наоборот? [ ]

Как мы уже сказали, это не так. Однако можно использовать плагин v1.0x/v2.0x в v2.5x/v2.6x, как описано ниже.

Как использовать плагин, скомпилированный для v2.0x в v2.5x/2.6? [ ]

В пакете WarpSharp вы найдете плагин под названием «LoadPluginEx.dll». При использовании старой версии LoadPluginEx.dll не перемещайте этот плагин в свою папку с плагином. Но переместите его в отдельный каталог, иначе VirtualDubMod и WMP6.4 приведет к сбою при выводе. Это позволит вам использовать v2.0x-плагины в v2.5x. Пример сценария (с использованием плагина v2.0x Dust by Steady):

Если вы хотите автоматизировать этот процесс, посмотрите на LoadOldPlugins.

Как переключаться между различными версиями AviSynth без переустановки? [ ]

VirtualdubMod, WMP6.4, CCE и другие программы вылетают каждый раз при выходе (при предварительном просмотре файла avs)? [ ]

Эта проблема может быть вызвана некоторыми плагинами в папке плагинов (Автозагрузка). Решение проблемных плагины из папки плагинов и загрузить их вручную.

Кажется, что мой компьютер падает случайным образом во время второго прохода в любом кодировщике? [ ]

AviSynth хорошо оптимизирован. Как следствие, вполне возможно, что ваш компьютер, кажется, завершает работу в случайном порядке во время второго прохода. Попробуйте запустить стресс-тест Prime95 в течение часа, чтобы проверить, стабильна ли ваша система. Если этот тест не удался (или ваш компьютер блокируется) убедитесь, что ваш компьютер не разогнан и снизить скорость шины вашего процессора с шагом (скажем) пять МГц, пока аварии не завершатся.

Есть ли утилита командной строки для кодирования DivX/XviD с использованием AviSynth? [ ]

У AviSynth есть графический интерфейс (графический интерфейс пользователя)? [ ]

AviSynth не имеет полноценного GUI, но доступно несколько инструментов:

Источник

Знакомство с AviSynth

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

AviSynth это нелинейный видео-редактор, контролируемый скриптовым языком или, перефразируя, скриптовый язык для обработки видео. AviSynth выступает в качестве промежуточного звена между приложением и физическим файлом, позволяя «на лету» выполнять различные преобразования. Текстовый файл (AVS скрипт), в котором содержатся различные команды, множество программ может открывать как обычный видео-файл (VirtualDub, Adobe Premiere, Windows Media Player, Media Player Classic, e t.c.). Технически, AviSynth выступает в роли VFW (Video For Windows) кодека для текстового файла. AviSynth поддерживает различные плагины, которых существует громандная куча. (кроме своих ещё и от VirtualDub). Качать здесь.

Что это нам может дать?

Что такое VirtualDub?

Пример 1. Пережатие видео для слабых компьютеров.

Практически всё новое видео сейчас выходит в HD, но существует много пользователей, мощности компьютеров которых не позволяют насладиться просмотром. Программным решением данной ситуации будет сжать видео с меньшим разрешением. Для этого существует целый спектр программ, но в большинстве своём, они либо неудобны, перегружены ненужным функционалом, либо удобны, но не поддерживают желаемые форматы файлов, либо стоят денег. При помощи AviSynth и VirtualDub мы научимся обрабатывать любой тип файла, для которого установлен DirectShow кодек (проще говоря, который в состоянии воспроизвести ваш Windows Media Player).

В качестве объекта для экспериментов возьмём Ghost in the Shell, уменьшим его размер и сделаем хардсаб (внедрим субтитры в видеоряд).

Кадр из исходного видео:

Укажем AviSynth, что нам требуется открыть файл при помощи DirectShow фильтра. При помощи этих же фильтров их открывает WMP. Откройте блокнот и напишите:

DirectShowSource(«e:\Ghost In The Shell Movie 1.mkv»)

Сохраните файл с расширением avs и попробуйте открыть в VirtualDub. Хотя он в стандартной поставке не поддерживает mkv – файл откроется. VirtualDub определит содержимое как несжатое видео. Хорошо, закройте VirtualDub, откройте скрипт и допишите следующую строку:

Этой командой AviSynth поменяет размер исходного видео. Существует несколько различных способов изменить размер, одни быстрее, другие медленнее. Вы можете ознакомиться с ними в документации (есть и на русском, кстати).

В итоге у меня получился скрипт:

DirectShowSource(«e:\Ghost In The Shell Movie 1.mkv»)
Lanczos4Resize(800,430)

Сохраните его и откройте в VirtualDub. Вы увидите, что картинка поменяла размер, у меня она стала вот такой:

Осталось сделать хардсаб. Для этого воспользуемся командой:

В результате у меня получился скрипт:

DirectShowSource(«e:\Ghost In The Shell Movie 1.mkv»)
Lanczos4Resize(800,430)
TextSub(«e:\Ghost In The Shell Movie 1.SRT»)

и вот такая вот картинка:

Всё, можно сжимать, например XviD с небольшим битрейтом и смотреть. Однако, полученный файл не стоит распространять, мы же делали его исключительно для личного просмотра. 🙂

Пример 2.

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

Итак, у нас есть следующие пациенты:


В реальной жизни такой зоопарк соединять не приходится, но я хочу подчеркнуть возможности AviSynth.

Откроем блокнот и запишем следующее:

video1 = DirectShowSource(«D:\Video\Games\От Винта\Ot Vinta. 001.avi»)
video2 = DirectShowSource(«E:\Ghost In The Shell Movie 1.mkv»)
video3 = DirectShowSource(«D:\Video\Teenage Mutant Ninja Turtles\1×01.avi»)

return video1 + video2 + video3

Этими командами мы создали три переменных типа видео, соединили в один длинный кусок и вернули его для воспроизведения. Если попытаться запустить скрипт сейчас, то появится сообщение об ошибке, потому что параметры у файлов разные. Для начала приведём их к одинаковому разрешению (я буду приводить к 720×480), чтобы не поломать аспект добавим чёрных полосок (letterbox), приведём fps к 25 и приведём sample rate звука к одной величине (44100).

video1 = DirectShowSource(«D:\Video\Games\От Винта\Ot Vinta. 001.avi»)
video2 = DirectShowSource(«E:\Ghost In The Shell Movie 1.mkv»)
video3 = DirectShowSource(«D:\Video\Teenage Mutant Ninja Turtles\1×01.avi»)

video1 = video1.Trim(100,200)
video1 = video1.Lanczos4Resize(652,480)
video1 = video1.AddBorders(34, 0, 34, 0)
video1 = video1.ResampleAudio(44100)

video2 = video2.Trim(200,300)
video2 = video2.Lanczos4Resize(720, 388)
video2 = video2.AddBorders(0, 46, 0, 46)
video2 = video2.ConvertFPS(25)
video2 = video2.ResampleAudio(44100)

video3 = video3.Trim(400,500)
video3 = video3.Lanczos4Resize(640,480)
video3 = video3.AddBorders(40, 0, 40, 0)
video3 = video3.ConvertFPS(25)
video3 = video3.ResampleAudio(44100)

return video1 + video2 + video3

Командой Trim я оставил от каждого файла сотню кадров. Просто так. 🙂

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

Результаты его исполнения:

Отдельное спасибо пользователю drunk без инвайта которого эта публикация не произошла бы.

Источник

AviSynth

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

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

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

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

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

Фреймсервер AviSynth является как бы посредником между физическими медиафайлами на жёстком диске и монтажной программой. Это позволяет упростить конечный монтаж за счёт предварительно монтажа посредством AviSynth.

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

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

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

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

Источник

Операционные системы и программное обеспечение