Ru-Board.club
← Вернуться в раздел «Программы»

» AviSynth

Автор: Gideon_Vi
Дата сообщения: 17.03.2011 12:23

Цитата:
при этом в Виртуал Дубе предпросморт нормальный был, в чем может быть дело?

канопус добавил для совместимости в DVD-форматом?
Автор: dmkov9
Дата сообщения: 17.03.2011 14:42
так дело в том, что исходное разрешение файла было 720х576 (DV), я обрезал мусор, и добавил бордюры, т.е. нет...
?!...

Добавлено:
Вот наверное из-за чего он заругался, только сейчас увидел, по вертикали обрезаю 10 пикселей, а добавляю только 8, вечером попробую...
Автор: Svinogryz
Дата сообщения: 06.05.2011 11:51
Нужно перекодировать видео для телефона. Понизить частоту кадров до 15. Какую команду прописать в скрипте для FFVideoSourse?
Автор: kristi
Дата сообщения: 19.08.2011 21:00
Прошу помощи. Я только начала изучать эти скрипты, и голова идет кругом . Не может ли кто-нибудь дать мне готовый скрипт для AviSynth или написать его?
У меня задача - на весь видеоклип наложить два маленьких разных логотипа png в левом и правом верхних углах (задав им расположение принудительно), на всем протяжении от начала и до конца клипа, задав им еще и полупрозрачность. Плюс в самом начале еще наложить на первые кадры последовательно четыре картинки во весь экран, тоже png, у которых фон полностью прозрачный.
Прочла кучу информации, но только запуталась.
Автор: HeT BonpocoB
Дата сообщения: 19.08.2011 22:49
kristi, первая ссылка из google, может поможет чем...
Автор: kristi
Дата сообщения: 20.08.2011 21:56
Вот спасибо, буду изучать )). А у меня в поисковике почему-то этого не нашлось...
Автор: 2valery
Дата сообщения: 04.10.2011 01:02
Привет, всем! Столкнулся с проблемой: захватил видео 720*576;16*9, вместо одного видео файла в папке оказалось много клипов по 0,3-3,5Мб, общим количеством больше 600 штук. Как в AviSynth в автомате их объединить? Где -то читал про скрипт, который указывает на папку и начальный и конечный файл, а найти не могу, весь инет перерыл.
Автор: unreal666
Дата сообщения: 04.10.2011 07:01
2valery
читай в теме по VD.
Автор: 2valery
Дата сообщения: 04.10.2011 22:19
unreal666, мне надо что-нибудь на подобии:
Если нужно объединить видео из нескольких входных файлов, то надо в скрипте для каждого файла написать команду открытия, с присвоением в разные переменные. Затем можно каждый клип последовательно подрезать (при необходимости отрезать рекламу, например), и результаты объединить. Удобно открыть первый клип, выполнить обрезку (при необходимости), закомментировать эти строки, затем открыть следующий клип, выполнить обрезку, закомментировать, и т.д. Затем убрать комментарии, добавить команды объединения (плюсы) и получить итоговый объединенный клип.

#Пример скрипта 5.3
# Откроем несколько AVI видеофайлов, и объединим вырезки
# переменная A (английская) — клип из файла film1.avi
A = AviSource("D:\video\film1.avi")
A # Помещаем клип A в LAST
A=Trim(100, 999) ++ Trim(3000, 4000) # набор кадров (Frameset)
# переменная B — клип из файла film2.avi
B = AviSource("D:\video\film2.avi")
B # Помещаем клип B в LAST
# Выделим из клипа B первые 501 кадр (пример объектной записи)
B = Trim(0, 500)
# Объединим получившиеся отрезки в результирующий клип
A ++ B
# результат ничему не присваивается явно, подразумевается LAST

Только для 600 клипов.


Автор: unreal666
Дата сообщения: 04.10.2011 22:54
2valery
А вопрос то в чем? Ты же сам написал пример, вот по нему и делай
Если конечно ависинт от такого кол-ва файлов не подавится.
Автор: Gideon Vi
Дата сообщения: 05.10.2011 02:02

Цитата:
де -то читал про скрипт, который указывает на папку и начальный и конечный файл

синт не умеет обрабатывать каталоги. Вам встретился bat файл, вероятно. Попросите в теме по батникам создать для Вас подобный, который уже создаст требуемый синтовый скрипт.
Другое дело, что если захватывали в mpeg2, то проще натравить на эту кучу файлов DGMPGDec, а уже его результат прогрузить в синт.
Автор: ytr
Дата сообщения: 31.10.2011 02:17
Друзья, не подскажете ли: можно ли с помощью этого инструмента (в сочетании с VirtualDub) реализовать такую задачу, для которой требуется анализировать параметры исходного видео, чтобы выбрать параметры видео выходного.

1. Есть папка с большим кол-вом исходных .avi файлов, которые надо перекодировать.
2. Звук в этих файлах нужно перекодировать в звук с такой же частотой дискретизации, но с минимально возможным битрейтом. То есть, для 48 khz - 64 kbps, для 44 и 32 khz - 48 kbps, для 22 khz - 24 kbps.
3. Если исходное видео имеет кол-во пикселов в кадре больше 120 тысяч, то уменьшить разрешение видео примерно до этой цифры, с максимальным сохранением соотношения сторон. К примеру, если видео 4:3, то до 400x300 пикселов, а если видео 16:9 - то до 460x258. С учетом еще требований кодеков divx и/или xvid (для divx ширина изображения должна быть кратна 4, а высота - кратна 2). Соотношение сторон в исходно видео может быть любым.

Спасибо!!
Автор: unreal666
Дата сообщения: 31.10.2011 03:47
Собственно AviSynth не занимается собственноручно кодированием.
Для твоего случая надо использовать пакетные файлы + генерация с их помощью нужного avs-скрипта на основе текущего обрабатываемого файла + передача этого скрипта нужному кодировщику. Все это делается с помощью пакетных файлов.

ЗЫ1.
У DivX кажется нет консольной (cli) версии кодировщика, поэтому для него такое не прокатит. У XviD есть cli-версия.

ЗЫ2.
Для начала алгоритм по части изменения разрешения видео нужно придумать самому.

ЗЫ3.
Как на основе разрешения выбирать параметры кодирования?

ЗЫ4.
Какие расширения видео? Сколько в них аудиодорожек?
Автор: ytr
Дата сообщения: 31.10.2011 04:14
Сойдет и xvid. В плане видео из параметров кодирования будет меняться только результирующее разрешение. Точнее, хотелось бы, чтобы если исходное видео - черно-белое, то применялся фильтр grayscale (с целью сделать и логотип телеканала черно-белым). Но я так понимаю, это сложно. Еще хотелось бы, чтобы для сильно зашумленного видео применялся фильтр шума, для сильно "квадратированного" - deblocking, для "запиленного" - deinterlacе. Но это наверное тоже сложно.

Что же касается алгоритма расчета итогового разрешения видео, то если это все реализуемо через сабжевую программу, то засяду за алгоритм.
Автор: unreal666
Дата сообщения: 31.10.2011 04:33

Цитата:
Точнее, хотелось бы, чтобы если исходное видео - черно-белое, то применялся фильтр grayscale (с целью сделать и логотип телеканала черно-белым). Но я так понимаю, это сложно. Еще хотелось бы, чтобы для сильно зашумленного видео применялся фильтр шума, для сильно "квадратированного" - deblocking, для "запиленного" - deinterlacе. Но это наверное тоже сложно.

Это не сложно, просто непонятно как определять все это.

Цитата:
Что же касается алгоритма расчета итогового разрешения видео, то если это все реализуемо через сабжевую программу, то засяду за алгоритм.

Реализуемо, если не будет использовать цикл for, т.к. в нем изначально нет такого оператора, а программить его сложновато. Точнее я пытался, но пока остановился на одно этапе из-за раздумий, какой алгоритм для него будет быстрее.
Автор: Alatena
Дата сообщения: 01.11.2011 19:17
Уважаемые знатоки, подскажите, пожалуйста!
Нужно на видео наложить сменяющие друг друга 2 надписи. Обязательно ли вымерять, сколько фреймов отдать под первую картинку и сколько — под вторую, или можно как-то задать в наложении (картинка1+маска1+время1)+(картинка2+маска2+оставшееся время)?
Пока у меня получается [more=такой скрипт]

Код: film=DirectShowSource("video.vob", fps=29.97000)
ConvertToYUY2(film)
film=changeFPS(film,15)

app1=ImageSource("appeal.png", end=199)
app2=ImageSource("appeal2.png", end=480)
app=app1+app2
app=ConvertToYUY2(app)

audio=WAVSource("riding01.wav")+WAVSource("riding2.wav")

film1=overlay(film, app, mask=ImageSource("appealMask.png"))

AudioDub(film1, audio)
Автор: IrenSS
Дата сообщения: 05.11.2011 18:21
Здравствуйте. У меня одна такая проблема. Уже в тысячу первый раз пробую установить ависинт, но каждый раз во время инсталяции он выдает мне вот такую ошибку:
http://s017.radikal.ru/i407/1111/59/25d038bfc712.jpg
Может кто понимает, в чем его кикса? А то из-за этого может сорваться мое участие в видео коне.
Заранее огромное спасибо.
Автор: unreal666
Дата сообщения: 06.11.2011 07:22
Alatena
1. по твоему скрипту непонятно, что у тебя там является картинка1 и картинка2 (у тебя там Film и app1+app2), поэтому непонятно на что должна накладываться маска.
2. По части замедления тоже непонятно. Т.е. нужно изменение частоты с сохранение длительности или без? Да и по идее в справке AssumeFPS / ChangeFPS / ConvertFPS описаны нормально.

IrenSS
1. Права на запись в ту папку есть?
2. Что за левый путь к папке плагинов? В оригинальной инстале ависинта путь = путь_к_папке_AviSynth\plugins
Автор: Alatena
Дата сообщения: 06.11.2011 23:35
unreal666
Спасибо за ответ. Я уж думала, никто и не поможет...

1. app1 и app2 — это два видео из картинок (титров), которые надо друг за другом наложить на одно видео (aka film). Т.е. сначала app1 и маску 1, потом app2 и маску 2.
Возможно ли это сделать, не высчитывая пофреймово на самом фильме (film) место смены одного титра на другой, а просто задав её в "накладываемом"?
Иллюстрация:

По приведенному скрипту app1 в указанное время сменяется app2. Но маска-то остается от app1!
Хорошо бы ещё чтобы app1 совпадало с музыкой1, а app2 с музыкой 2. Но музыку можно и вручную подрезать.

2. Как раз нужно сохранение частоты при увеличении длительности. Ну это ладно, здесь я сама потыкаюсь, а вот по первому вопросу знаний у меня не хватит.
Автор: unreal666
Дата сообщения: 07.11.2011 01:13
Alatena
1. Так так. Забыл спросить. Значение end в app2 - это кол-во_кадров+1, которые нужно сгенерировать?
2. Все равно не совсем понял Тебе нужна выходная частота такая как входная, но с кол-вом_кадров/длительностью в вых.кадров/вход.кадров больше (т.е. с созданием/интерполяцией промежуточных кадров)?

ЗЫ.
И импорт vob/mpg файлы лучше делать с помощью внешнего плагина DGDecode (DGMPGDec). Ссылка на страницу закачки, инфа по DGDecode есть в описании внешних плагинов.
Скачиваешь его, закидываешь в папку плагинов, с помощью DGIndex.exe индексируешь vob-файл.
DirectShowSource нужно использовать только при отсутствии спецплагинов для импорта с "кадровой точностью". DirectShowSource не предоставляет такой точности и из-за этого, могут быть повторы и выпадения кадров.

ЗЫ2.
- Конечная частота 29.97 - это NTSC частота. Там надо еще смотреть по части IVTC (обратного преобразования телекино/убирание_pulldown). Т.е. его надо анализировать, а то на выходе при преобразовании FPS может получиться фигня.
- Целевой формат (контейнер) видео какой?
- Не можешь где-нибудь выложить кусок этого видео (если не секрет/не_частное)?
Автор: EL 34
Дата сообщения: 10.11.2011 00:09
Товарищи, не подскажите фильтр аналог ConvertFPS(), а то меня результат работы не устраивает. Имею прогрессив HD-источник 23.976 хочу конвертнуть фпс в 25.000 и чтобы расхождения со звуком не было (шесть каналов тыркать ой как не охота). Заранее спасибо.
Автор: unreal666
Дата сообщения: 10.11.2011 06:21
EL 34
можешь попробовать конвертнуть с помощью плагина mvtools2.

Вот немного модифицированный под тебя (23.976->25) пример из доки:

Код: LoadPlugin("Путь_к_mvtools2.dll")
AVISource("ssh_tunneling.avi", audio=false).AssumeFPS(24000/1001).ConvertToYV12()

super = MSuper(pel=2)
backward_vec = MAnalyse(super,isb = true, overlap=4, search=4)
forward_vec = MAnalyse(super, isb = false, overlap=4, search=4)
MFlowFps(super, backward_vec, forward_vec, num=25, den=1, ml=100)
Автор: dmkov9
Дата сообщения: 18.11.2011 08:45
Добрый день!
Из отрезка видео нужно удалить логотипы. Сложность в том, что они разные и находятся в разных местах на протяжении куска видео, продолжительность показа 5 секунд примерно. Для Даба есть плагин logoaway. Но в нем надо тогда резать куски, потом склеивать, неудобно.
Подскажите есть ли плагин подобный для Avisynth (по интернету нашел экспорт фильтра даба), и как лучше и проще сделать эту операцию. По Avisynth я не большой специалист, но подозреваю, что именно в нем это сделать легче всего. Для удаления логотипа хотелось использовать маску.
Может кто видел русское описание по работе с плагином в Avisynth?

И еще может кто подскажет фильтр получше почистить видео после оцифровки (шумы оцифровки)?
Автор: unreal666
Дата сообщения: 18.11.2011 10:46
dmkov9
По части лого почитай тему по VirtualDub. там месяца 2 назад рассматривалось удаление лого для конкретного видео и для logoaway и для комбинаций некоторых фильтров AviSynth.

Цитата:
по интернету нашел экспорт фильтра даба

Если VD-фильтр 2-ух проходной, то работать с ним в AviSynth как-то не комфортно будет. Все равно придется юзать VD.
Автор: dmkov9
Дата сообщения: 18.11.2011 11:14
спасибо, прочитаю, но просто в Дабе не удастся, потому как я писал много небольших по длительности разных логотипов...
Автор: unreal666
Дата сообщения: 18.11.2011 11:27
ну там есть варианты и с чисто AviSynth-фильтрами.
Автор: dmkov9
Дата сообщения: 18.11.2011 12:25
Я почитал там, но не все так просто. пытаться conditional фильтром запихивать Logo. Я туда напишу, если куда подтолкнешь буду благодарен (куда копать)
Автор: dmkov9
Дата сообщения: 22.11.2011 07:57
unreal666
Пишу сюда. Покопал немного. До этого накопал плагин InpaintFunc (AVSInpaint), решил с него и начать. В принципе побыстрому получилось, немного повозился. Rm_logo то же попозже попробую.
У меня возникли вот какаие вопросы:
1. Во всех этих плагинах встречается перед началом строчка с изменением цветности. Я у себя не делал, вроде ОК. Поясни когда это может быть надо. В помощи встречаются например RGB32 и RGB24. У меня в свойствах стоит просто RGB.
Вот таблица плагина:
Mask Clip: RGB24 RGB32 YUY2 / YV12
RGB32 / YUY2 / YV12 R,G,B R,G,B,A Y,U,V
none R,G,B
Маска в BMP (24 разряда).
2. Подскажи, можно ли в AviSynth звук в том же формате (АС3 у меня) передавать на выход, либо надо со звуком просто отдельно работать, а в AviSynthдавать без звука?
3. Чем лучше вводить фильм для разных форматов (например Xvid, MPEG2, DV, несжатый)?
4. Если применять плагин для куска видео, то нужно сначала вырезать этот кусок видео, а потом дальше по коду склеивать? Так правильно, или я ошибаюсь?
Как будет приемлимый результат отпишусь
Автор: unreal666
Дата сообщения: 22.11.2011 09:00
dmkov9

1, Не знаю насчет AVSInpaint, но для exinpaint лучше делать преобразование в RGB, а не YV12/YUY2, т.к у него тогда маска не сработает. ConvertToRGB преобразовывает в RGB32, если цветовое пространство уже не RGB24/RGB32.
2. Ависинт всегда на выход выдает разжатые видео и аудио
3. Здесь главное не кодек, а контейнер и вероятность присутствия pulldown. Если вероятность pulldown нулевая, то для avi/mkv/mp4 лучше юзать FFVideoSource; если нет, то для avi - AVISource.
Лучше попробовать 1-ый вариант и сравнить кол-во кадров на выходе с кол-вом кадров при просмотре, например, инфы в MediaInfo (для mkv он может врать).
4. Да
trim(0,нач.кадр-1).Фильтр1()+trim(нач.кадр,конеч.кадр).Фильтр2()+trim(конеч.кадр+1,0).Фильтр3()
Автор: dmkov9
Дата сообщения: 22.11.2011 10:18
unreal666
Спасибо за рязъяснение. Т.е. для нас разницы между RGB24/RGB32 нет?
И еще, значит можно просто через точку два плагина (trim и для лого), это всегда так можно? не знал..., т.е. фактически в одну строку!

Страницы: 12345678910111213141516171819

Предыдущая тема: Вставка из clipboard'а в MS Outlook 2000


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.