LINUX.ORG.RU

AviSynth+ 3.7.0

 , ,


0

0

Состоялся релиз кроссплатформенного фреймсервера для обработки видео AviSynth+ 3.7.0, написанного на C++ и использующего собственный язык скриптов. Готовые пакеты, включая плагины, предоставлены в репозитории Arch Linux. Инструкция для создания собственной сборки доступна здесь.

Основные изменения и функции:

  • Добавлена поддержка ARM, Haiku и PowerPC
  • Все встроенные плагины собираются под Linux
  • Встроенная поддержка звука
  • Поддержка 16 бит видео
  • Многопроцессная обработка

Требования к системе:

  • GCC >=8 (стандарт C++17)
  • CMake >= 3.8
  • ffmpeg >= 4.3.1 (для экспорта, рекомендуется static сборка)

В настоящее время количество портированных плагинов уступает таким программам, как ffmpeg и VapourSynth, но есть и уникальные для семейства UNIX - это полнофункциональный дециматор TIVTC, предназначенный для удаления дублирующих кадров из видео.

>>> Подробности

написанного на C++ и использующего собственный язык скриптов собственный язык скриптов

когда-нибудь плюсари выучат какую-нибудь луу или любой другой embeddable язычок и будут дергать свой кал прямо из них, но это наверное будет не скоро, это ж не так весело да еще и полюбасу сложнее чем создать кривую граблю из говна и палок (зато свою).

anonymous ()
Ответ на: комментарий от LamerOk

Единственно, что я бы, конечно, добавил «Linux/ARM», «Linux/PowerPC».

А ты не можешь отдельно аппаратные архитектуры перечислять а отдельно операционные системы? Неужели до этого так сложно догадаться? Неужели удобнее через слеш выдумывать?

anonymous ()

предлагаю записать все так:

Добавлена поддержка ARM, Haiku, PowerPC, встроенного звука, 16 бит видео, многопроцессной обработки

anonymous ()
Ответ на: комментарий от anonymous

А ты не можешь отдельно аппаратные архитектуры перечислять а отдельно операционные системы?

Я могу просто и незатейливо послать тебя нахер, потому что ты - тупой школотрон.

Приходи, когда станешь умным школотроном, а пока тебе ещё рано посещать такие сайты.

LamerOk ★★★★★ ()
Ответ на: комментарий от anonymous

создать кривую граблю из говна и палок (зато свою).

Я так на всякий случай напомню, что оригинальному AviSynth (виндовому) уже весьма много лет, люди его знают и привыкли. И «зато свою» — это к его автору. Ну а в форке реализована совместимость с уже существующим языком, которому никак не меньше 18 лет (а может и больше).

hobbit ★★★★★ ()
Ответ на: комментарий от LamerOk

Я могу просто и незатейливо послать тебя нахер, потому что ты - тупой школотрон.

То есть по сути возразить нечего? И ты воспользовался таким избитым приёмом ведения светских бесед, как переход на личности. Брависсимо, я аплодирую вам стоя сударь! Я обращаюсь даже не к тем, кто пишет новости, а к тем кто их проверяет и скорее даже к тем кто разрешает вторым это делать. Ну неужели так сложно, сделать небольшой скрипт правил оформления новостей. Когда читаешь, такое впечатление иногда, что новости составляют дети дошкольники с отклонениями.

Состоялся релиз

Это масло маслянное. Релиз это выпуск. Состоялся выпуск не очень по-русски.

anonymous ()
Ответ на: комментарий от anonymous

Может. Только не нужно.

У виндузятников принято определённые комбинации кодеков и качества ассоциировать с определёнными форматами, не запутывайте их :P Это Ъ запросто могут сделать unzip popka.jpg, а у простых смертных даже перетаскивать файл на нужную программу не принято, просто открывают двойным щелчком по почкам в дефолтной, которая подбирается по суффиксу, а не по magic или ещё как.

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

Как думаете, зачем расплодилась куча форматов-потомков MOV, внутри устроенных одинаково? На кои было нужно изобретать WebM, являющийся ограниченным сабсетом MKV?

mertvoprog ()
Последнее исправление: mertvoprog (всего исправлений: 1)
Ответ на: комментарий от mertvoprog

DSL

Так говоришь как-будто наколенная скрипточиталка заслуживает называться DSL. Луу я в пример привел, да даже вот https://leafo.net/guides/dsl-in-lua.html

Или берешь отсюда:

https://github.com/dbohdan/embedded-scripting-languages

Пожалуйста, ark, janet, ecl, пили себе DSL и давай пользователям пилить. Если на скобочки аллергия, то уж наверняка есть языки в списке которые можно подогнать под свой вкус.

anonymous ()
Ответ на: комментарий от mertvoprog

двойным щелчком по почкам

Ты не скучаешь по этому? Ведь были же времена, да?

подбирается по суффиксу, а не по magic

Как по мне и расширения и magic костыль, но magic костыль больший, потому что непредсказуемый.

anonymous ()
Ответ на: комментарий от bohm

Следи за пальцами, маня.

использующего собственный язык скриптов

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

anonymous ()

полнофункциональный дециматор TIVTC, предназначенный для удаления дублирующих кадров из видео

Небольшая инструкция, как собрать все это дело самому на примере deb дистрибутивов (Debian 10+):

# Сборка AviSynth+ 3.7.0 (в версии 3.6.1 использовался Ninja вместо make)
sudo apt install build-essential gcc g++ make cmake git ninja-build nasm ffmpeg libavcodec-dev libavformat-dev libavdevice-dev libavfilter-dev libffms2-dev libfdk-aac-dev libaom-dev libdevil-dev
wget https://github.com/AviSynth/AviSynthPlus/archive/v3.7.0.tar.gz
tar -xvf v3.7.0.tar.gz
cd AviSynthPlus-3.7.0
mkdir -p build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DHEADERS_ONLY=OFF -DENABLE_PLUGINS=ON
make
sudo make install
sudo ldconfig

# Сборка плагина импорта ffms2
sudo apt build-dep ffms2
https://github.com/FFMS/ffms2
git clone https://github.com/FFMS/ffms2.git
cd ffms2
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig CPPFLAGS="-I/usr/local/include/avisynth" ./autogen.sh --enable-shared --enable-avisynth --prefix=/usr/local
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig CPPFLAGS="-I/usr/local/include/avisynth" ./configure --enable-shared --enable-avisynth --prefix=/usr/local
make
sudo make install
sudo cp /usr/local/lib/libffms2.so.4 /usr/local/lib/avisynth/libffms2.so
sudo ldconfig

# Сборка TIVTC плагина
https://github.com/pinterf/TIVTC
git clone https://github.com/pinterf/TIVTC.git
cd TIVTC/src
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local
cmake --build build
cd build
sudo make install
sudo ldconfig

# Сборка ffmpeg 4.3.1+ с поддержкой AviSynth+ для экспорта
sudo apt build-dep ffmpeg
https://ffmpeg.org/download.html
wget http://ffmpeg.org/releases/ffmpeg-4.3.1.tar.xz
tar -xvf ffmpeg-4.3.1.tar.xz
cd ffmpeg-4.3.1
./configure --help
./configure --enable-pic --enable-gpl --enable-version3 --enable-nonfree --enable-static --disable-shared --disable-debug --disable-doc --enable-avisynth --enable-gnutls --enable-gray --enable-libass --enable-libfdk-aac --enable-libaom --enable-libfontconfig --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid
make
sudo make install
sudo ldconfig

# Создание скрипта input.avs для входного файла "/home/user/input.mkv"
# input.mkv имеет частоту 29.97 fps, но каждый пятый кадр является дублем предыдущего (это распространенное явление), соответственно нужно привести к частоте 23.976 fps
# fps высчитывается по такой пропорции:
5 - 29.97
4 - x
x=(4*29.97)/5=23.976
5 - это группа из 5 кадров, 1 кадр дубль, поэтому только 4 полезных кадров
# Благодаря большему буферу TDecimate плагин более качественно удаляет дубликаты по сравнению с ffmpeg'овским -vf decimate и позволяет указывать любую fps на выводе, а не только 1/N

# Содержимое скрипта input.avs
ffms2("/home/user/input.mkv", atrack=-1)
TDecimate(mode=2, rate=23.976023976)
BicubicResize(720,400)

# Экспорт в ffmpeg (должен использоваться /usr/local/bin/ffmpeg, а не системный):
ffmpeg -i input.avs -vcodec libx264 -preset slow -crf 18 -acodec libopus -b:a 160k -ac 2 output.mkv
anonymous ()
Ответ на: комментарий от anonymous

От ffmpeg и ffms2 нужны только файлы /usr/local/bin/ffmpeg и /usr/local/lib/avisynth/libffms2.so, а все остальные их потроха можно снести sudo make uninstall (предварительно затырив ffmpeg бинарник) Ну еще можно, конечно, либы пострипать.

anonymous ()
Ответ на: комментарий от hobbit

У libav название было более удачное, но зато проблемы со всем остальным…

ffmpeg-овцы те еще засранцы. Вот кто догадался до такого? http://trac.ffmpeg.org/wiki/LibavMerge А чего же они тогда на уровне развития libav не остаются, чтобы для пользователя не отличаться? libav кстати вполне живой, последний релиз был в 2018 году https://libav.org/ К сожалению, там действительного многого нет. Например, soxr, av1. dcadec репозиторный не подходит. С x264-161 не собирается (надо старее). Да и так варнингов много в gcc10 компиляторе. Вместо avisynth хочет avxsynth. Интересно, какие версии у их либ. Зато еще не дропнули поддержку libfaac. Не изуродовали встроенный aac encoder (если быть точнее, в ffmpeg улучшили его качество, но добавили слышимые баги). Поддержка современных форматов заявлена: x264, x265, vpx, xvid, lame, vorbis, opus, fdk, но наверняка придется брать либы постарее.

Кстати, чтобы избавиться от ffmpeg, пытался собрать свежий гитовский x264 с avisynth, но на линуксе он хочет avxsynth (это старый форк на уровне версии 2.5.8, линуксовый avisynth появился только в 2020 году). Пытался ковырять исходники (там наверняка элементарно поменять, но я не программист), заменил некоторые строки. Дошло до того, что x264 стал открывать avs скрипт, генерируется ffms2 индекс, но потом сегфолтится. Надо обратится к разрабам, но я уже зарекся писать рапорты, пусть сами чинят. Ну их нафиг всех, удалился даже с гитхаба. Думаю поизучать сборку на винде (или в wine), там просто поле непаханное. Вот x264.exe с сайта VLC жирнющий (24 мб), потому что собран с богомерзскими ffmpeg либами, а мне бы хотелось собрать для винды (для wine) легкую либу без излишеств. Интересно mingw компилятор заработает в wine или придется винду поднимать? На винде есть занятный x264-vfw через virtualdub и легкий функциональный mpeg2 encoder HC Enc. И все в гуйне.

anonymous ()
Ответ на: комментарий от anonymous

mingw в wine

Конечно, есть еще нативная кросскомпиляция, но мне бы хотелось разные способы попробовать, коих много всяких http://mingw-w64.org/doku.php/download
Размеется виндой я давно не пользуюсь, но сборка под нее интересное занятие. А вот жирностудию ставить совсем не хочется.

anonymous ()
Ответ на: комментарий от anonymous

Небольшое уточнение:
К --configure ffmpeg’а надо бы добавить --prefix=/usr/local
Знаю, он по умолчанию, но я как-то собирал nasm в Mageia 7 без указания --prefix и он внаглую поставился в системный /usr. Хотя на Ubuntu ставился в /usr/local. Не знаю как так вышло. С тех пор взял за правило всегда указывать prefix. Можно указать --prefix=/opt/ffmpeg тогда удалять проще будет. И еще перед сборкой ffms2 надо установить sudo apt install autoconf (гитовские пакеты его требуют).

Кстати, хоть Debian 10 вышел на год раньше Ubuntu 20.04, в его бэкпортах есть пакеты libdavid4 и libdav1d-dev (в Ubuntu только в 20.10+). Удивительно, Debian старее, а оказался продвинутей убунты. Все-таки родные бэкпорты его преимущество, вместо левых ppa. Соответственно в --configure ffmpeg’а можно дописать --enable-libdav1d или заменить libaom на libdav1d. Это декодеры AV1, aom также умеет кодировать. dav1d декодирует в 3 раза быстрее, чем aom. Если они установлены оба, то ffmpeg предпочитает dav1d. Для сабжа они необязательны, но в хозяйстве могут пригодится.
Отпишитесь, если кто мою инструкцию повторит…

anonymous ()

Связка AviSynth + VirtualDub была раньше безальтернативной системой линейного монтажа под Windows...

Вообще не понимаю, почему настолько медленно опенсоурчный проект перепиливали чтобы он стал по нормальному доступен в Linux, и до сих под не допилили?

Xintrea ★★★★★ ()
Ответ на: комментарий от anonymous

То есть по сути возразить нечего? И ты воспользовался таким избитым приёмом ведения светских бесед, как переход на личности.
Брависсимо, я аплодирую вам стоя сударь!
, а к тем кто их проверяет и скорее даже к тем кто разрешает вторым это делать.
Состоялся выпуск не очень по-русски.

Ты сначала научись запятые расставлять, а потом уже пытайся щегольнуть красным словцом и «обращаться» к кому бы то ни было в письменном виде. А то твои «прокламации пятиклассника» навевают грусть, тоску и уныние.

LamerOk ★★★★★ ()
Ответ на: комментарий от Xintrea

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

раньше снимали камерой, заливали на комп, редактировали, закатывали DVD диски, покупали проигрыватели чтобы смотреть - кому сейчас всё это нужно если у всех буквально есть СМАРТФОН ?

anonymous ()
Ответ на: комментарий от anonymous

Ведь были же времена, да?

А куда они делись? Мышевозы как щёлкали, так и щёлкают. Надо на них зоозащитников натравить.

Как по мне и расширения и magic костыль

А что не костыль, отдельная метка, как в HFS было? Или идеализированная система контентопредставления без технобуллшита по Раскину? ;)

mertvoprog ()
Ответ на: комментарий от LamerOk

Ты сначала научись запятые расставлять, а потом уже пытайся щегольнуть красным словцом и «обращаться» к кому бы то ни было в письменном виде. А то твои «прокламации пятиклассника» навевают грусть, тоску и уныние.

Ты про авторускую пунктуацию конечно же не слышал? По сути есть что возразить? Низкая культура дискуссий в Восточной Европе

anonymous ()
Ответ на: комментарий от mertvoprog

Ну и зачем в промежутке между плюсами и DSL ещё нужна какая-то скриптуха?

Я и забыл что ты перерегистрант. На предыдущем акке не пять звезд было?

Разумеется ни о каких «между» речи и не шло, «какая-то скриптуха» у них самодельная, скорее всего НИХ синдромная.

anonymous ()