Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AviSynth, AviSynth+ и фильтры для него

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Открыть новую тему     Написать ответ в эту тему

Esc



Сетевой демон
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

AviSynth

Мощное средство для обработки видео. Позволяет делать с ним практически всё что угодно, кроме собственно создания. Работает по методике фрейм-сервера, т.е. не имеет собственного графического интерфейса, а лишь обрабатывает видео и передаёт его вызывающей программе.
Домашняя страница: на английском или на русском
Последняя стабильная версия: 2.6.0 от 31.05.2015.
Последняя альфа-версия: 2.6.1 alpha от 17.05.2016.
 
AviSynth+

AviSynth+ - это форк AviSynth с новыми функциями и оптимизациями. Добавлена поддержка высокой глубины цвета и многопоточности. AviSynth+ полностью совместим с плагинами и скриптами, написанными для AviSynth.
Домашняя страница: на английском
Текущая версия: 3.6.1 от 19.06.2020.
 
Фильтры:
  • Встроенные фильтры
  • Внешние фильтры
     
    Утилиты:
  • AvsPmod - редактор скриптов AviSynth. Текущая версия 2.5.1 от 25.06.2013.
  • AvsPmod GPo - AvsPmod с дополнительными функциями. Текущая версия 2.6.1.1 от 01.12.2019
     
    Статьи по AviSynth на русском:
  • Основы использования утилиты AviSynth при обработке видео (ixbt.com) (от 12.05.2008)
  • Знакомство с AviSynth (habr.com) (от 21.01.2009)
     


    Q: В Windows 7 не работает DirectShowSource?
    A: Preferred Filter Tweaker for Windows 7

  • Всего записей: 2194 | Зарегистр. 24-01-2002 | Отправлено: 20:23 23-09-2004 | Исправлено: V0lt, 20:22 13-07-2020
    sergogo

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    xitsa

     
    спасибо ознакомлюсь

    Всего записей: 81 | Зарегистр. 01-02-2003 | Отправлено: 16:52 11-06-2007
    Alex_Dragon



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Слушайте, не въеду, а циклы в скриптах делать можно или нет?


    Цитата:
    А зачем?

     
    Гм… Ну если я хочу какую-то последовательность действий сколько-то раз повторить?
    Например, мне нужно взять одну картинку (из bmp-файла) и прокрутить её в течении какого-то времени с заданной частотой кадров. Можа я не тем местом мануал читал, но там в основном упор на загрузку последовательности картинок, а как вышеозначенный финт сделать — чего-то не осознал. Первая мысль — загрузить эту картинку n раз подряд. Когда начал думать, как её реализовать, с интересом понял, что в отличие от нормальных языков програмиирования, никаких операторов циклов в Ависинте я не помню. Другой пример: нужно в неком ролике плавно в течение какого-то промежутка времени цветовую насыщенность поднять от нуля (чёрно-белое изображение) до полной (цветное). Опять же, первая мысль: нужно поочерёдно, скажем, каждый кадр, повышать насыщенность на сколько-то единиц. Ну не будешь же сто раз подряд писать строку команд с новыми параметрами. А если нет — то как это правильно сделать?

    Всего записей: 422 | Зарегистр. 05-01-2002 | Отправлено: 01:05 27-06-2007 | Исправлено: Alex_Dragon, 01:07 27-06-2007
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alex_Dragon

    Цитата:
    Например, мне нужно взять одну картинку (из bmp-файла) и прокрутить её в течении какого-то времени с заданной частотой кадров.

    ImageSource + Loop  

    Цитата:
    Другой пример: нужно в неком ролике плавно в течение какого-то промежутка времени цветовую насыщенность поднять от нуля (чёрно-белое изображение) до полной (цветное). Опять же, первая мысль: нужно поочерёдно, скажем, каждый кадр, повышать насыщенность на сколько-то единиц.

    Animate

    Всего записей: 5956 | Зарегистр. 22-10-2005 | Отправлено: 02:25 27-06-2007
    xitsa



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

    Цитата:
    Alex_Dragon
     
    Цитата:
    Например, мне нужно взять одну картинку (из bmp-файла) и прокрутить её в течении какого-то времени с заданной частотой кадров.     
     
    ImageSource + Loop  

    +Trim
    Сейчас доки под рукой нет, но помоему, когда я такое пытался сделать, то Loop делал для каждого кадра отдельно.

    Всего записей: 103 | Зарегистр. 25-04-2006 | Отправлено: 18:57 27-06-2007
    Alex_Dragon



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Можно ли как-то обратиться к какому-либо кадру в клипе? Нужно кадром из одного клипа заменить кадр в другом клипе. Или только через Trim?

    Всего записей: 422 | Зарегистр. 05-01-2002 | Отправлено: 22:48 27-12-2007
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alex_Dragon
    Ну, можно ещё ConditionalFilter покопать. А чем Trim не устраивает?

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 5956 | Зарегистр. 22-10-2005 | Отправлено: 01:05 28-12-2007
    Alex_Dragon



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не устраивает громоздкостью выражений, неудобно получается.
    Ситуация какая: есть две записи одной передачи, одна качеством похуже, другая получше. Но в лучшей на некоторых кадрах есть артефакты — срывы кадров, какие-то помехи. Возникла мысль заменить их на соответствующие хорошие кадры из первого клипа. Но это получается, сперва нужно сделать клип с нужным кадром, потом обрезать обрабатываемый клип до плохого кадра, сложить с клипом, в котором хороший кадр, сложить с клипом, который представляет собой обрезок исходного клипа после плохого кадра. Если плохих кадров достаточно много — слишком уж длинно получается и диапазоны высчитывать надо. Это геморнее, чем было бы просто указать какой кадр на какой менять. А штуки типа FreezeFrame или DuplicateFrame работают только в пределах одного клипа, механизма же, как в них передать аргументом номер кадра из другого клипа, я не нашёл.
     
    Вот черновик:
     
    LoadPlugin("h:\Dgmpgdec\DGDecode.dll")
    Clip1=mpeg2source("Csk_part_1.d2v")
    Clip1=FieldDeinterlace(Clip1)
    Clip1=Crop(Clip1,16,0,684,570)
    Clip1=Bilinearresize(Clip1,384,288)
    Clip1=Trim(Clip1,386,97516)
    Clip0=Clip1
    Clip1=Trim(Clip1,0,12439)
     
    Clip2=mpeg2source("Csk_v2.d2v")
    Clip2=FieldDeinterlace(Clip2)
    Clip2=Crop(Clip2,16,0,684,570)
    Clip2=Bilinearresize(Clip2,384,288)
    Clip2=Trim(Clip2,204,84895)
     
    ClipFull=Clip1+Clip2 # тут по ходу решается та проблема, что второй, более качественный клип, начал писаться не сначала, поэтому недостающий кусок берётся из первого.
     
    Frm15128=Trim(Clip0, 15128, 15128) #хорошие кадры для замены
    Frm18351=Trim(Clip0, 18351, 18351)
     
    Clip0_15127=Trim(ClipFull, 0, 15127) # кусок до плохого кадра
     
    Clip15129_18350=Trim(ClipFull, 15129, 18350) # кусок после плохого кадра и до следующего плохого
     
    ClipLast=Trim(ClipFull, 18352, 0) # хвост от последнего плохого кадра и до конца
     
    ClipAll=Clip0_15127+Frm15128+Clip15129_18350+Frm18351+ClipLast # итоговый клип

    Всего записей: 422 | Зарегистр. 05-01-2002 | Отправлено: 13:47 28-12-2007
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alex_Dragon
    А пользовательские функции на что? Например:

    Код:
    function ReplaceFrames(clip clip1,clip clip2,int frame1_1,int frame1_2,int frame2_1,int frame2_2) {
    c1=Trim(clip1,0,frame1_1)
    c2=Trim(clip2,frame2_1,frame2_2)
    c3=Trim(clip1,frame1_2,0)
    return(c1+c2+c3)
    }
     
     
    Заменяет последовательность frame1_1 - frame1_2 в clip1 на последовательность frame2_1 - frame2_2 из clip2. Доработать напильником по потребностям.
     
    PS. Глянь заодно на функцию import.

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 5956 | Зарегистр. 22-10-2005 | Отправлено: 17:47 28-12-2007
    Alex_Dragon



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ага, спасибо.
    Только вот наверное всё же так:
     
    function ReplaceFrames(clip clip1,clip clip2,int frame1_1,int frame1_2,int frame2_1,int frame2_2) {  
    c1=Trim(clip1,0,frame1_1-1)  
    c2=Trim(clip2,frame2_1,frame2_2)  
    c3=Trim(clip1,frame1_2+1,0)  
    return(c1+c2+c3)  
    }
     
    Иначе в итоговом клипе получается не замена, а мешанина какая-то — кроме кадра замены появляется битый кадр-дубль.
     
    А импорт тут чем может быть полезен?

    Всего записей: 422 | Зарегистр. 05-01-2002 | Отправлено: 02:48 31-12-2007 | Исправлено: Alex_Dragon, 02:54 31-12-2007
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alex_Dragon

    Цитата:
    Только вот наверное всё же так:

    Ну я же и сказал - доработать напильником.

    Цитата:
    А импорт тут чем может быть полезен?

    Хранить подобные функции в отдельных скриптах и подключать по мере необходимости. Получится обычная подключаемая библиотека.


    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 5956 | Зарегистр. 22-10-2005 | Отправлено: 13:34 31-12-2007
    Alex_Dragon



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Что-то я не пойму с версиями. На сайте ависинта в документации всё приведено к версии 2.6, и говорится о ней, как о чём-то решённом и законченном, а где её скачать-то? Или они доку наперёд, впрок пишут? На соурсфордже самая свежая — 2.5.8 в стадии перманентной альфы и я что-то никакой особой активности не замечаю.

    Всего записей: 422 | Зарегистр. 05-01-2002 | Отправлено: 15:21 08-02-2008
    Yourbill



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alex_Dragon
    Наверное имеется ввиду версия 2.5.6

    Всего записей: 563 | Зарегистр. 11-03-2003 | Отправлено: 23:39 08-02-2008
    Alex_Dragon



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не-а. Там описаны, например, фильтры, которых нет в ветке 2.5.x, заявлена работа с новыми цветовыми пространствами, в общем, кое-что вкусненького, чего хочется уже.
    Порылся на форуме doom9 — 2.6 действительно планируется, но всё ещё в стадии разработки. Разработчики пишут, дескать, работа идёт медленно, но верно. Не знаю, дождёмся ли. А там ведь ещё AviSynth 3 заявлен. Если они его добьют, то будет всем щастье и вознесение на небеса, потому как будет и под линукс.

    Всего записей: 422 | Зарегистр. 05-01-2002 | Отправлено: 02:32 09-02-2008
    Alex_Dragon



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кто сталкивался с удалением регулярных помех, типа полос? Вот как на картинке — вертикальные тёмные полоски в левой половине.
     

     
    Таких просматривается восемь штук (самые левые сливаются с фоном, но на других снимках вполне заметны). Первая мысль — воспользоваться каким-нибудь плагином, из реально чего-то похожего я нашёл только DeFreq от Fizick'а, однако воспользоваться им крайне проблематично из-за корявого мануала, в котром по сути голое описание параметров без внятного пояснения, как соотнести цифирь с выводимыми на экран картинками. Кроме того, насколько я понял, он расчитан на равномерно распределённые по всей площади кадра полосы. В данном же случае задача несклько отличается — помеха только в части экрана.
    Второй мыслью было сделать вычитание из изображения усреднённой картинки с помехами. В частности, приведённый скриншот был получен последовательным оверлейным наложением восьми кадров. Однако, дальше я запнулся на двух проблемах. Первая: даже усреднённый кадр получается достаточно грязным и может так получиться, что компенсировав собственно полоски, он добавит грязи в общем. То есть надо его отфильровать как-то так, что бы выделить только изменения уровня помехи относительно уровня фона. Как это оптимальнее сделать — я не знаю. Пробовал играться с фотошопом, но невелик мастер. Если правую часть кадра просто залить усреднённым цветом, то слишком заметен разрыв. Думал даже просто руками нарисовать на чистом листе линии, но не уверен, что их получится размыть соответственно оригиналу.
    Вторая проблема: а как собственно правильно и оптимально и что из чего вычитать? Пробую сейчас играться с оверлеями и сабтрактом — действительно, полосы удаляются, но правильный режим найти не могу, фигня какая-то получается, кофе с молоком.
    Кто что знает и какие идеи будут?

    Всего записей: 422 | Зарегистр. 05-01-2002 | Отправлено: 17:37 15-02-2008 | Исправлено: Alex_Dragon, 05:41 18-02-2008
    egor y egorov

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кто нибудь знает, где можно найти DirectShowSource.dll скомпилированную под архитектуру amd64 (для win x64)?  

    Всего записей: 155 | Зарегистр. 27-10-2006 | Отправлено: 08:21 11-03-2008
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    egor y egorov
    А зачем? Насколько я понимаю, это всего лишь интерфейс к системным программам.

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 5956 | Зарегистр. 22-10-2005 | Отправлено: 20:28 14-03-2008
    egor y egorov

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    А зачем?

    Для того, чтобы открывать файлы mp4, mkv, а также avi DV-type1 в 64-битном ависинте

    Всего записей: 155 | Зарегистр. 27-10-2006 | Отправлено: 08:32 15-03-2008
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    egor y egorov
    Так это же встроенный фильтр. Соответствено, он должен входить в комплект.
    А что, уже существует AviSynth64?

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 5956 | Зарегистр. 22-10-2005 | Отправлено: 14:44 15-03-2008
    egor y egorov

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Официально - нет. Есть avisynth.dll, скомпилированная под amd64 с reg-файлом вместо инсталятора. Вот я и ищу DirectShowSource.dll, потому что именно посредством этой библиотеки реализована функция DirectShowSource()...

    Всего записей: 155 | Зарегистр. 27-10-2006 | Отправлено: 16:43 15-03-2008
    masgak



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Скажите можно ли с помощью этой программы (AviSynth), перекодировать
    фильм в другой формат?
     Фильм с расширением .avi  не  открывается вообще ни каким плеером.

    Всего записей: 2716 | Зарегистр. 11-05-2005 | Отправлено: 12:07 27-03-2008 | Исправлено: masgak, 20:52 27-03-2008
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

    Компьютерный форум Ru.Board » Компьютеры » Программы » AviSynth, AviSynth+ и фильтры для него


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru