Re: Кодирование видео с использованием фильтра SVP

еще у меня такой вопрос. Если я хочу убрать с видео цифровой шум, и увеличить частоту кадров - в какой последовательности это лучше делать? Или существенной разницы нет?

Re: Кодирование видео с использованием фильтра SVP

brovenom
Можно взглянуть на AVS-скрипт, может там ошибка?

убрать с видео цифровой шум, и увеличить частоту кадров - в какой последовательности это лучше делать?
Я бы сперва шум бы убрал

53 (edited by brovenom 04-11-2012 16:00:49)

Re: Кодирование видео с использованием фильтра SVP

MAG79 wrote:

brovenom
Можно взглянуть на AVS-скрипт, может там ошибка?

убрать с видео цифровой шум, и увеличить частоту кадров - в какой последовательности это лучше делать?
Я бы сперва шум бы убрал

svp_scheduler=true
SetMemoryMax(1024)

LoadPlugin("C:\Program Files\SVP\plugins\svpflow1.dll")
LoadPlugin("C:\Program Files\SVP\plugins\svpflow2.dll")

threads=7
SetMTMode(3,threads)
DirectShowSource("D:\Downloads\Moonrise.Kingdom.2012.1080p.BluRay.x264-CONFiDENT [PublicHD]\confident-moonrise.kingdom.1080p.mkv", fps=25, convertfps=true, pixel_type="YV12")
SetMTMode(2)
LanczosResize(1600,866)

super_params="{pel:1,scale:{up:0},gpu:1}"
analyse_params="{block:{w:32,h:32,overlap:1},main:{search:{coarse:{distance:-10}}}}"
smoothfps_params="{rate:{num:12,den:5},algo:13,cubic:1,scene:{}}"

super=SVSuper(super_params)
vectors=SVAnalyse(super, analyse_params)
smooth_video=SVSmoothFps(super, vectors, smoothfps_params, mt=threads, url="www.svp-team.com")
smooth_video

Вот. но я его не трогал, так его SVP сохранил.

Re: Кодирование видео с использованием фильтра SVP

brovenom

DirectShowSource("D:\Downloads\Moonrise.Kingdom.2012.1080p.BluRay.x264-CONFiDENT [PublicHD]\confident-moonrise.kingdom.1080p.mkv", fps=25, convertfps=true, pixel_type="YV12")

num:12,den:5

В этом ошибка. В скрипте ошибочно определенная частота 25 к/сек.
На самом деле исходник 24 к/сек. Результат 60 к/сек. Коэффициент должен быть 5:2. Т.е.:

DirectShowSource("D:\Downloads\Moonrise.Kingdom.2012.1080p.BluRay.x264-CONFiDENT [PublicHD]\confident-moonrise.kingdom.1080p.mkv", fps=24, convertfps=true, pixel_type="YV12")

num:5,den:2

Re: Кодирование видео с использованием фильтра SVP

MAG79 wrote:

brovenom

DirectShowSource("D:\Downloads\Moonrise.Kingdom.2012.1080p.BluRay.x264-CONFiDENT [PublicHD]\confident-moonrise.kingdom.1080p.mkv", fps=25, convertfps=true, pixel_type="YV12")

num:12,den:5

В этом ошибка. В скрипте ошибочно определенная частота 25 к/сек.
На самом деле исходник 24 к/сек. Результат 60 к/сек. Коэффициент должен быть 5:2. Т.е.:

DirectShowSource("D:\Downloads\Moonrise.Kingdom.2012.1080p.BluRay.x264-CONFiDENT [PublicHD]\confident-moonrise.kingdom.1080p.mkv", fps=24, convertfps=true, pixel_type="YV12")

num:5,den:2

Ясно. Спасибо, сейчас попробую с новыми настройками. Но я данный параметр точно не менял.

Re: Кодирование видео с использованием фильтра SVP

brovenom
я данный параметр точно не менял
Скрипт был сохранен до момента "устаканивания" частоты. На некоторых фильмах SVP надо 5-10 сек после начала проигрывания, чтобы некорректно определенная частота (обычно 25 к/сек) уточнилась и приняла реальное значение. Рекомендую обращать внимание на OSD-сообщение, где есть и частота и коэффициент повышения плавности.

Re: Кодирование видео с использованием фильтра SVP

MAG79 wrote:

brovenom
я данный параметр точно не менял
Скрипт был сохранен до момента "устаканивания" частоты. На некоторых фильмах SVP надо 5-10 сек после начала проигрывания, чтобы некорректно определенная частота (обычно 25 к/сек) уточнилась и приняла реальное значение. Рекомендую обращать внимание на OSD-сообщение, где есть и частота и коэффициент повышения плавности.

Ясно. В следующий раз буду ждать. Он еще почему-то ругался, что у меня частота кадров переменная, хотя, исходя из медианфо она постоянная. Но я уже не помню точно. что он мне писал. Помню, что писал, что частота переменная, и потому, рекомендуется что-то там выставить. Не запомнил.

Re: Кодирование видео с использованием фильтра SVP

MAG79 wrote:

brovenom
я данный параметр точно не менял
Скрипт был сохранен до момента "устаканивания" частоты. На некоторых фильмах SVP надо 5-10 сек после начала проигрывания, чтобы некорректно определенная частота (обычно 25 к/сек) уточнилась и приняла реальное значение. Рекомендую обращать внимание на OSD-сообщение, где есть и частота и коэффициент повышения плавности.

Нет, ошибка сохраняется и с новыми настройками. И на покадровой перемотке видно, что кадры дублируются.

Re: Кодирование видео с использованием фильтра SVP

brovenom
Оставить в скрипте всего одну строку

DirectShowSource("D:\Downloads\Moonrise.Kingdom.2012.1080p.BluRay.x264-CONFiDENT [PublicHD]\confident-moonrise.kingdom.1080p.mkv", fps=24, convertfps=true, pixel_type="YV12")

и открыть скрипт в VDub. Дубли есть?

Re: Кодирование видео с использованием фильтра SVP

MAG79 wrote:

brovenom
Оставить в скрипте всего одну строку

DirectShowSource("D:\Downloads\Moonrise.Kingdom.2012.1080p.BluRay.x264-CONFiDENT [PublicHD]\confident-moonrise.kingdom.1080p.mkv", fps=24, convertfps=true, pixel_type="YV12")

и открыть скрипт в VDub. Дубли есть?

Нет, исчезла. Ну значит это не у вас. Хотя, я оставил при кодировании параметры:
--fps=59.94
Ratefactor 19.0
Еще попробую без них перегнать.

Re: Кодирование видео с использованием фильтра SVP

brovenom
--fps=59.94
Ну, тут как бы 59.94 и не пахнет. Тут чистые 60.00 wink
Но "ежесекундные подвисания" явно не от этого. Есть что-то еще. Надо найти.

Re: Кодирование видео с использованием фильтра SVP

MAG79 wrote:

brovenom
--fps=59.94
Ну, тут как бы 59.94 и не пахнет. Тут чистые 60.00 wink
Но "ежесекундные подвисания" явно не от этого. Есть что-то еще. Надо найти.

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

Re: Кодирование видео с использованием фильтра SVP

Добрый день. Можно ли кодировать видео с добавлением подсветки черных полос?

Re: Кодирование видео с использованием фильтра SVP

Vivian
Да. Необходимо включить ее при просмотре, а после этого сформировать AVS-скрипт для видео.

Re: Кодирование видео с использованием фильтра SVP

MAG79 wrote:

Vivian
Да. Необходимо включить ее при просмотре, а после этого сформировать AVS-скрипт для видео.

Спасибо. Можно ли добавить подсветку отдельно, просто фильм уже уплавнил, но еще не кодировал в x264. Какую часть кода нужно скопировать в avs файл, который откроется кодеком x264? Просто добавить следующий скрипт (из версии 3.0.6) в avs скрипт?

# Borderlight: MAG79
squaresize=8
marg=8
wide=1.0*1.5*width/squaresize
margsize=60
# Расчет полей подсветки
up=StackVertical(last.BlankClip(height=marg),crop(0,0,width,marg)).BilinearResize(squaresize,4)
dwn=StackVertical(crop(0,height-marg,width,marg),last.BlankClip(height=marg)).BilinearResize(squaresize,4)
square=StackVertical(up,dwn)
up2=BicubicResize(square, width, margsize, b=0.33, c=0.33, src_left=0, src_top=2.5-margsize/wide, src_width=squaresize, src_height=margsize/wide)
dwn2=BicubicResize(square, width, margsize, b=0.33, c=0.33, src_left=0, src_top=5.5, src_width=squaresize, src_height=margsize/wide)
# Дебандинг, AddGrain: маскирование остатка ступенек на градиентах
up2=up2.AddGrain(hcorr=0,vcorr=0,var=3,uvar=1)
dwn2=dwn2.AddGrain(hcorr=0,vcorr=0,var=3,uvar=1)
# Подклеивание подсвеченных полей к кадру
StackVertical(up2,last,dwn2)

Re: Кодирование видео с использованием фильтра SVP

Vivian
Хм... Я уже чуток подзабыл про 3.0 smile
Попробую вспомнить...
Вроде бы там основную математику с геометрией подсветки выполняет SVP-менеджер, а в скрипт попадает уже готовое значение margsize. Тогда просто дописать этот кусок в конец скрипта.

фильм уже уплавнил, но еще не кодировал в x264
Так разве можно? Уплавнить, но не кодировать? hmm

Re: Кодирование видео с использованием фильтра SVP

MAG79
Так разве можно? Уплавнить, но не кодировать?
Можно - просто сохранить видеоряд в набор картинок . Та ещё веселуха - работает со скоростью жесткого диска  smile

Re: Кодирование видео с использованием фильтра SVP

MAG79 wrote:

Vivian
Хм... Я уже чуток подзабыл про 3.0 smile
Попробую вспомнить...
Вроде бы там основную математику с геометрией подсветки выполняет SVP-менеджер, а в скрипт попадает уже готовое значение margsize. Тогда просто дописать этот кусок в конец скрипта.

фильм уже уплавнил, но еще не кодировал в x264
Так разве можно? Уплавнить, но не кодировать? hmm

Да, так как нужно было уплавнить только часть. Где можно прочитать про AVS плагин подсветки и его настройку, которые добавляет поля, так как он в общем наверно имеет косвенное отношение к программе?

Вариант со скриптом, сейчас проверил, не получился ( Наверно, потому что черные поля уже являются частью картинки. Сам кадр (без черных полос) 640x256, а размер видео 640x360. Я убрал поля с помощью команды crop и соответственно подправил размеры в коде SVP (теперь высота 256). Светлые поля, как я понял, добавляются там, где черная пустота между границей экрана и кадра. Скрипту, видимо, надо дать понять, будто видео 640x256 будет смотреться на экране 16:9, чтобы добавились подсвеченные поля 52 сверху и 52 снизу.

Re: Кодирование видео с использованием фильтра SVP

Vivian
Где можно прочитать про AVS плагин подсветки и его настройку
Наверное в общем доступе, нигде. Этот скрипт создавался в закрытой бета-ветке SVP.

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

70 (edited by Vivian 05-11-2012 14:38:22)

Re: Кодирование видео с использованием фильтра SVP

А все, получилось...!
Вот скрипт:

svp_scheduler=true
SetMemoryMax(1024)
svp_cache_reduce=true
svp_flow_lib="C:\Pro\SVP\Plugins\MVTools2\libflowsse.dll"
multinum=1
multiden=1
sharp=2


LoadPlugin ("C:\Pro\SVP\Plugins\AddGrain\AddGrainC.dll")
SetMTMode(3,3)
DirectShowSource("U:\\7.avi", fps=29.97, convertfps=true, pixel_type="YV12")
crop(0,52,0,-52)
Assert(width==640 && height==256,"Frame size "+string(width)+"x"+string(height)+" instead of 640x256")
delim=":"
WriteFileStart("C:\Users\Vivian\AppData\Roaming\SVP\Logs\avsFPS.txt", "FramerateNumerator()", "delim", "FramerateDenominator()")
SetMTMode(2)
smooth_video=last
smooth_video

# Borderlight: MAG79
squaresize=8
marg=8
wide=1.0*2.5*width/squaresize
margsize=60
# Расчет полей подсветки
up=StackVertical(last.BlankClip(height=marg),crop(0,0,width,256)).BilinearResize(squaresize,4)
dwn=StackVertical(crop(0,height-marg,width,marg),last.BlankClip(height=marg)).BilinearResize(squaresize,4)
square=StackVertical(up,dwn)
up2=BicubicResize(square, width, margsize, b=0.33, c=0.33, src_left=0, src_top=2.5-margsize/wide, src_width=squaresize, src_height=margsize/wide)
dwn2=BicubicResize(square, width, margsize, b=0.33, c=0.33, src_left=0, src_top=5.5, src_width=squaresize, src_height=margsize/wide)
# Дебандинг, AddGrain: маскирование остатка ступенек на градиентах
up2=up2.AddGrain(hcorr=0,vcorr=0,var=3,uvar=1)
dwn2=dwn2.AddGrain(hcorr=0,vcorr=0,var=3,uvar=1)
# Подклеивание подсвеченных полей к кадру
StackVertical(up2,last,dwn2)


distributor()

1. Я убрал черные поля, которые являлись частью картинки (видео было 640x360, стало 640x256), с помощью строки

crop(0,52,0,-52)

2. Указал высоту (видео?экрана?) в строке

up=StackVertical(last.BlankClip(height=marg),crop(0,0,width,256)).BilinearResize(squaresize,4)

вместо margin написал 256.
Открыл скрипт в VirtualDub и подсветка появилась!
Вот файл для моего примера (у него потом убираются черные полосы): http://www.mediafire.com/?gir9rbv0w2pkglw

Спасибо за быстрый ответ и за программу.

Re: Кодирование видео с использованием фильтра SVP

Зачем так сложно? Можно же просто пропустить через SVSmoothFps без уплавнения но с подсветкой

Re: Кодирование видео с использованием фильтра SVP

Chainik
А как это сделать?

Re: Кодирование видео с использованием фильтра SVP

Vivian
А как это сделать?

взять скрипт из 3.1 со включенной подсветкой, поставить нужный aspect ratio, отредактировать параметры подсветки по вкусу
или я не понял проблемы  hmm


svp_scheduler=true
SetMemoryMax(1024)
LoadPlugin("C:\Program Files (x86)\SVP\plugins\svpflow1.dll")
LoadPlugin("C:\Program Files (x86)\SVP\plugins\svpflow2.dll")

threads=7
SetMTMode(3,threads)
бла-бла-источник
SetMTMode(2)

smoothfps_params="{rate:{num:1},light:{aspect:1.77,lights:4,border:16,length:300,cell:4}}"
super=SVSuper("{}")
vectors=SVAnalyse(super,"{}")
SVSmoothFps(super, vectors, smoothfps_params, mt=threads, url="www.svp-team.com")

Re: Кодирование видео с использованием фильтра SVP

Chainik
или я не понял проблемы
Все верно понял. Теперь у Vivian есть два альтернативных решения smile
...как добавить подсветку SVP 3.0, и как добавить подсветку SVP 3.1 wink

Vivan

2. Указал высоту (видео?экрана?) в строке

up=StackVertical(last.BlankClip(height=marg),crop(0,0,width,256)).BilinearResize(squaresize,4)

вместо margin написал 256.

Вот тут что-то не то. Это строчка не предполагала изменений. Все настройки вынесены в переменные, которые присваиваются выше. Я удивлен, что подсветка от этого не сломалась.
up - это верхнее приклеиваемое поле. Если изменили только его, то оно теперь отличается от нижнего. hmm

Re: Кодирование видео с использованием фильтра SVP

Vivan
Поглядел ролик. Он изначально 16:9, поэтому сколько отрезали (52), столько и надо добавлять.
Скрипт получится следующий:

LoadPlugin ("C:\Pro\SVP\Plugins\AddGrain\AddGrainC.dll")
SetMTMode(3,3)
DirectShowSource("U:\\7.avi", fps=29.97, convertfps=true, pixel_type="YV12")
crop(0,52,0,-52)
SetMTMode(2)

# Borderlight: MAG79
squaresize=8
marg=8
wide=1.0*1.5*width/squaresize
margsize=52
# Расчет полей подсветки
up=StackVertical(last.BlankClip(height=marg),crop(0,0,width,marg)).BilinearResize(squaresize,4)
dwn=StackVertical(crop(0,height-marg,width,marg),last.BlankClip(height=marg)).BilinearResize(squaresize,4)
square=StackVertical(up,dwn)
up2=BicubicResize(square, width, margsize, b=0.33, c=0.33, src_left=0, src_top=2.5-margsize/wide, src_width=squaresize, src_height=margsize/wide)
dwn2=BicubicResize(square, width, margsize, b=0.33, c=0.33, src_left=0, src_top=5.5, src_width=squaresize, src_height=margsize/wide)
# Дебандинг, AddGrain: маскирование остатка ступенек на градиентах
up2=up2.AddGrain(hcorr=0,vcorr=0,var=3,uvar=1)
dwn2=dwn2.AddGrain(hcorr=0,vcorr=0,var=3,uvar=1)
# Подклеивание подсвеченных полей к кадру
StackVertical(up2,last,dwn2)

Скорость обработки: 166 fps

Тоже самое, но средствами SVP 3.1:

svp_scheduler=true
SetMemoryMax(1024)
LoadPlugin("C:\Program Files (x86)\SVP\plugins\svpflow1.dll")
LoadPlugin("C:\Program Files (x86)\SVP\plugins\svpflow2.dll")

threads=3
SetMTMode(3,threads)
SetMTMode(3,3)
DirectShowSource("U:\\7.avi", fps=29.97, convertfps=true, pixel_type="YV12")
crop(0,52,0,-52)
SetMTMode(2)

smoothfps_params="{rate:{num:1},light:{aspect:1.77,lights:8,border:8,length:300,cell:1}}"
super=SVSuper("{}")
vectors=SVAnalyse(super,"{}")
SVSmoothFps(super, vectors, smoothfps_params, mt=threads, url="www.svp-team.com")

Скорость обработки: 360 fps