Установка и настройка Avisynth+
В предыдущем посте (https://pikabu.ru/story/obrabotka_240_fps_slowmotion_video_s...) пара человек высказалось за пост об установке и настройке Avisynth. Данный пост рассчитан на новичков, поэтому особо вдаваться в тонкости работы программы не будем, кто захочет в сети есть куча информации.
Итак, что же такое Avisynth? AviSynth это нелинейный видео-редактор, контролируемый скриптовым языком или, перефразируя, скриптовый язык для обработки видео. AviSynth выступает в качестве промежуточного звена между приложением и физическим файлом, позволяя «на лету» выполнять различные преобразования. Иначе говоря, Avisynth работает как фрэймсервер, имеющий систему сценариев, редактирование которых позволяет осуществлять нелинейное редактирование любого уровня сложности с высоким уровнем воспроизводимости результатов.
Последняя официальная версия 2.6 была выпущена в далеком 2015 году и она не поддерживает мультипоточный режим работы. Поэтому использовать в работе мы будем форк программы под названием Avisynth+, он поддерживает 64bit и мультипоточность. Скачать последнюю версию программы можно здесь: https://github.com/pinterf/AviSynthPlus/releases.
После установки самого 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 и к вашему оригинальному видеофайлу):
######################################################
#AVS+ x64 Plugins
global avdir="D:\Video\_Progz\"
global STAXdir="Staxrip\Staxrip.2.0.0.0.x64\Apps\Plugins\"
SetMemoryMax(4000)
# QTGMC Plugins
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")
# Input plugins
LoadPlugin(avdir + STAXdir + "avs\DSS2mod\avss.dll")
LoadPlugin(avdir + STAXdir + "avs\L-SMASH-Works\LSMASHSource.dll")
##########################
LSMASHVideoSource("C:\Video\240fps\NY_2019_24fps\Xiaomi_240fps.mp4")
AssumeFPS(240)
QTGMC(Preset="Medium", InputType=2)
TurnLeft
QTGMC(Preset="Medium", InputType=2)
TurnRight
######################################################
После создания avs скрипта, запускаем VirtualDub2 или Simple x264/x265 Launcher и открываем в них скрипт. Если вы все сделали правильно, то VirtualDub2 должен показать первый кадр из видео. Ну а дальше нажимаем Save As, выбираем контейнер, кодек и запускаем процесс кодирования. Скорость на моем i5-2500 конечно не поражает, но вполне терпимо:
Вот в общем то и все. Кто захочет больше информации на ixbt есть цикл статей, посвященный Avisynth и даже отдельный форум об этой программе: https://forum.ixbt.com/topic.cgi?id=29%3A35237