Re: Кодирование видео с использованием фильтра SVP
еще у меня такой вопрос. Если я хочу убрать с видео цифровой шум, и увеличить частоту кадров - в какой последовательности это лучше делать? Или существенной разницы нет?
You are not logged in. Please login or register.
SmoothVideo Project → Эксплуатация SVP → Кодирование видео с использованием фильтра SVP
еще у меня такой вопрос. Если я хочу убрать с видео цифровой шум, и увеличить частоту кадров - в какой последовательности это лучше делать? Или существенной разницы нет?
brovenom
Можно взглянуть на AVS-скрипт, может там ошибка?
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 сохранил.
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
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
Ясно. Спасибо, сейчас попробую с новыми настройками. Но я данный параметр точно не менял.
brovenom
я данный параметр точно не менял
Скрипт был сохранен до момента "устаканивания" частоты. На некоторых фильмах SVP надо 5-10 сек после начала проигрывания, чтобы некорректно определенная частота (обычно 25 к/сек) уточнилась и приняла реальное значение. Рекомендую обращать внимание на OSD-сообщение, где есть и частота и коэффициент повышения плавности.
brovenom
я данный параметр точно не менял
Скрипт был сохранен до момента "устаканивания" частоты. На некоторых фильмах SVP надо 5-10 сек после начала проигрывания, чтобы некорректно определенная частота (обычно 25 к/сек) уточнилась и приняла реальное значение. Рекомендую обращать внимание на OSD-сообщение, где есть и частота и коэффициент повышения плавности.
Ясно. В следующий раз буду ждать. Он еще почему-то ругался, что у меня частота кадров переменная, хотя, исходя из медианфо она постоянная. Но я уже не помню точно. что он мне писал. Помню, что писал, что частота переменная, и потому, рекомендуется что-то там выставить. Не запомнил.
brovenom
я данный параметр точно не менял
Скрипт был сохранен до момента "устаканивания" частоты. На некоторых фильмах SVP надо 5-10 сек после начала проигрывания, чтобы некорректно определенная частота (обычно 25 к/сек) уточнилась и приняла реальное значение. Рекомендую обращать внимание на OSD-сообщение, где есть и частота и коэффициент повышения плавности.
Нет, ошибка сохраняется и с новыми настройками. И на покадровой перемотке видно, что кадры дублируются.
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. Дубли есть?
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
Еще попробую без них перегнать.
brovenom
--fps=59.94
Ну, тут как бы 59.94 и не пахнет. Тут чистые 60.00
Но "ежесекундные подвисания" явно не от этого. Есть что-то еще. Надо найти.
brovenom
--fps=59.94
Ну, тут как бы 59.94 и не пахнет. Тут чистые 60.00
Но "ежесекундные подвисания" явно не от этого. Есть что-то еще. Надо найти.
В общем, мне сейчас тот комп, где я это делал не доступен, сейчас у меня мощный комп в распоряжении. я тут воспроизвести попробую. только скачать сначала все надо. Ну если я найду ошибку, то отпишу. Видимо это не от вас зависит, хотя не понятно вообще, от чего тогда, больше я ничего не делаю особого.
Добрый день. Можно ли кодировать видео с добавлением подсветки черных полос?
Vivian
Да. Необходимо включить ее при просмотре, а после этого сформировать AVS-скрипт для видео.
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)
Vivian
Хм... Я уже чуток подзабыл про 3.0
Попробую вспомнить...
Вроде бы там основную математику с геометрией подсветки выполняет SVP-менеджер, а в скрипт попадает уже готовое значение margsize. Тогда просто дописать этот кусок в конец скрипта.
фильм уже уплавнил, но еще не кодировал в x264
Так разве можно? Уплавнить, но не кодировать?
MAG79
Так разве можно? Уплавнить, но не кодировать?
Можно - просто сохранить видеоряд в набор картинок . Та ещё веселуха - работает со скоростью жесткого диска
Vivian
Хм... Я уже чуток подзабыл про 3.0
Попробую вспомнить...
Вроде бы там основную математику с геометрией подсветки выполняет SVP-менеджер, а в скрипт попадает уже готовое значение margsize. Тогда просто дописать этот кусок в конец скрипта.фильм уже уплавнил, но еще не кодировал в x264
Так разве можно? Уплавнить, но не кодировать?
Да, так как нужно было уплавнить только часть. Где можно прочитать про AVS плагин подсветки и его настройку, которые добавляет поля, так как он в общем наверно имеет косвенное отношение к программе?
Вариант со скриптом, сейчас проверил, не получился ( Наверно, потому что черные поля уже являются частью картинки. Сам кадр (без черных полос) 640x256, а размер видео 640x360. Я убрал поля с помощью команды crop и соответственно подправил размеры в коде SVP (теперь высота 256). Светлые поля, как я понял, добавляются там, где черная пустота между границей экрана и кадра. Скрипту, видимо, надо дать понять, будто видео 640x256 будет смотреться на экране 16:9, чтобы добавились подсвеченные поля 52 сверху и 52 снизу.
Vivian
Где можно прочитать про AVS плагин подсветки и его настройку
Наверное в общем доступе, нигде. Этот скрипт создавался в закрытой бета-ветке 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
Спасибо за быстрый ответ и за программу.
Зачем так сложно? Можно же просто пропустить через SVSmoothFps без уплавнения но с подсветкой
Chainik
А как это сделать?
Vivian
А как это сделать?
взять скрипт из 3.1 со включенной подсветкой, поставить нужный aspect ratio, отредактировать параметры подсветки по вкусу
или я не понял проблемы
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")
Chainik
или я не понял проблемы
Все верно понял. Теперь у Vivian есть два альтернативных решения
...как добавить подсветку SVP 3.0, и как добавить подсветку SVP 3.1
Vivan
2. Указал высоту (видео?экрана?) в строке
up=StackVertical(last.BlankClip(height=marg),crop(0,0,width,256)).BilinearResize(squaresize,4)
вместо margin написал 256.
Вот тут что-то не то. Это строчка не предполагала изменений. Все настройки вынесены в переменные, которые присваиваются выше. Я удивлен, что подсветка от этого не сломалась.
up - это верхнее приклеиваемое поле. Если изменили только его, то оно теперь отличается от нижнего.
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
SmoothVideo Project → Эксплуатация SVP → Кодирование видео с использованием фильтра SVP
Powered by PunBB, supported by Informer Technologies, Inc.