If you point mouse pointer to graphs then you can see average meanings of SVP-Index and CPU load. You must notice difference in values when GPU enabled and when disabled.
You are not logged in. Please login or register.
SmoothVideo Project → Posts by MAG79
If you point mouse pointer to graphs then you can see average meanings of SVP-Index and CPU load. You must notice difference in values when GPU enabled and when disabled.
What SVP index value do you see in the Performance graphs window: SVP tray menu - Inormation - Performance graphs?
And what this value becomes when you disable GPU-acceleration?
boa54
Screen size and refresh rate: 1920x1080 pixels, 60.003 Hz
Resulting video frame rate: 95.904 fps
Why you selected this value of setting "Target frame rate: Source multiplied by 4 (4x)"?
Prees OK in the Reset profile dialog and you will get optimized profile settings for your system performance. SVP detects your system performance level as "2g".
boa54
1. What you see in dialog: SVP tray menu - Video profiles - Reset to defaults?
I mean current profiles name and selected profiles name.
2. Please show your additional info while playing this video. SVP tray menu - Information - Additional information.
Dave_Scream
В общем алгоритм нового скрипта такой (параметры multi=16 blendtimes=4)
...
кажется я всё понял))))
Да. Все описано правильно.
Dave_Scream
крэш с svpflow_cpu был связан именно с неправильной настройкой потоков - имеет ли смысл выкладывать тестовые кадры на которых происходил крэш?
Все же я был бы благодарен за три исходных кадра и скрипт, на котором происходит ошибка в библиотеке SVP. Библиотека должна работать с любым количеством потоков, поэтому Вы нам очень поможете в улучшении стабильности SVP, если вырежете и отправите нам те три кадра и текст скрипта.
Instead of ReClock you can also switch your display to custom refresh rate. For this you need to create custom mode and add it to list of display modes.
I added 59 Hz mode and costomized it manually in NVIDIA control panel as close as possible to 59.94 Hz
swiths
So it seems it's the render/presenter's fault
Yes. I agree with you.
I was using 'Enhanced Video Render(custom presenter)'
This renderer sometimes produces dropped frames. One of method to avoid drops in EVR CP is to enable fullscreen D3D.
almost 247 of the total 256 frames are correct aaabb(3:2) cadence
This picture looks better
Can you tell what tools are you using for that (Memory 1 / m_dwStat)?
Dave_Scream
в новом скрипте этап перегона 30 в 60 выполняется (даже с избытком - не в 60, а в 480 фпс)?
Да. Все верно.
Имеет ли смысл смысл в SVSmoothFPS передать параметры для полноценного просчета промежуточных кадров, заполнив analyze_params и smoothfps_params
Можно, конечно, поэкспериментировать, но что значит "полноценного"? Сейчас выполняется расчет со значениям параметров по-умолчанию, они сбалансированы в отношении качество/скорость. Сдвинуть это равновесие можно в сторону усложнения расчетов, что уменьшит скорость, и возможно улучшит качество. Можно улучшить качество, но для этого нужен исходник, а далее сидеть и подбирать параметры, проверяя результат покадрово. Дело в том, что для разного типа видео для получения максимального эффекта нужен свой набор параметров.
Можно повысить скорость, упростив расчеты. На качестве это может сказаться не сильно, а может и сильно. Надо менять и смотреть на результат.
имеет ли смысл вместо увеличения FPS через ConvertFPS(Framerate*2), увеличивать фпс через функцию SVSmoothFPS?
ConvertFPS это не просто увеличение частоты кадров, это СМЕШИВАНИЕ кадров. SVSmoothFPS кадры не смешивает, а честно считает промежуточные положения объектов. Поэтому ответ, нет, не имеет.
ConvertFPS изменяет частоту кадров смешиванием. Т.к. уменьшение частоты кадров неподдерживается функцией ConvertFPS, то используется трюк повысить частоту кадров вдвое, добавив между исходными резкими кадрами их смешанные копии. Затем функцией SelectOdd избавляемся от исходных кадров, затем второй инструкцией SelectOdd избавляемся от половины смешанных кадров. В итоге, если были 4 кадра A B C D, то на выходе конструкции два смешанных кадра AB CD.
В принципе строчку
src.ConvertFPS(src.Framerate*2).SelectOdd.SelectOdd
можно записать так:
src.ConvertFPS(src.Framerate*2).SelectEvery(4,1)
Может даже скорость работы повысится
Dave_Scream
threads поставил 2 вместо 7
Согласно табличке количества потоков для двухъядерного процессора без GPU-ускорения надо указывать 3.
8600GT не поддерживает вычислений
Поддерживает: Совместимость видеокарт. Установите NVIDIA-драйвер с поддержкой OpenCL. Например, 335.28
ошибка происходит в модуле svpflow_cpu
Спасибо за сообщение об ошибке.
Это хорошо, что повторяется. Ошибка однозначно в библиотеке SVP. Будем исправлять. Для этого нам надо три кадра в формате PNG или BMP: 76-ой и оба соседа слева и справа от него.
swiths
MadVR has useful OSD statistics by Ctrl-J hotkey. Especially about dropped and pending frames.
What renderer did you use before?
swiths
ReClock official forum/site. See Readme file in the folder where application installed. Or in the Start button menu - Programs - ReClock - Read Me First! shortcut.
is that because of tearing?
I don't know is it tearing or not, but I see at your picture more than 2 identical frames at 5 positions.
alternative vsync
Use it if you really know what is it. I don't use it because I don't know. I use madVR's windowed overlay or fullscreen exclusive mode to avoid dropped frames.
Yes. ReClock is another DS-filter. It is audio-renderer.
But No. inaccurate is not some filter. Inaccurate is any try to show 59.94 fps at 60.xxx Hz display. ReClock fixes it by change 59.94 speed to 60.xxx speed. See ReClock documentation for more info.
kuusouhime
Intel Xeon E5645 x2
This CPU config use too many threads by default. Every thread needs some memory. MPC-HC crashes because of lack of memory for x86 process. Choose value of threads from SVP tray menu to restrict huge memory use.
swiths
If you want frame-accurate output then use ReClock. It can synchronize video framerate to display refresh rate by correcting speed of audio and video streams.
But frame time stamps marked red is abnormal in any case.
can we verify if AviSynth+ffdshow is doing the selectevery correctly?
Yes.
ScriptClip("subtitle(string(current_frame))")
selectEvery(2, 0, 0, 0, 1, 1)
It shows frame number at left top corner of frame.
Dave_Scream
в скрипте SVP есть функция SVAnalyse, но параметры в ней идут совсем другие чем в MAnalyze
Да. Параметры записываются с использованием JSON в одну текстовую строку analyse_params. Некоторые параметры изменились, некоторые добавились. Подробное описание параметров там.
как указать чтобы скрипт работал в несколько потоков?
Добавить три строки в соответствующих местах (перед функцией открытия, перед обработкой, в конце скрипта):
SetMTMode(3,[число потоков])
SetMTMode(2)
Distributor()
переписать этот скрипт в более оптимизированный вариант?
Получился скрипт svp_MotionBlur:
global svp_scheduler=true
global threads=7
global multi=4
global blendtimes=2
LoadPlugin("C:\Program Files (x86)\SVP\plugins\svpflow1.dll")
LoadPlugin("C:\Program Files (x86)\SVP\plugins\svpflow2.dll")
function BlendEveryTwoFramesIntoOne(clip src, int HowManyTimes)
{
blend = src.ConvertFPS(src.Framerate*2).SelectOdd.SelectOdd
return HowManyTimes<=0 ? src : BlendEveryTwoFramesIntoOne(blend, HowManyTimes-1)
}
SetMTMode(3,threads)
AVIsource("2.avi")
ConvertToYV12()
SetMTMode(2)
super_params="{gpu:1}"
analyse_params="{}"
smoothfps_params="{rate:{num:"+string(multi)+",den:1},scene:{blend:true}}"
super=SVSuper(super_params)
vectors=SVAnalyse(super, analyse_params)
SVSmoothFps(super, vectors, smoothfps_params, mt=threads, url="www.svp-team.com")
BlendEveryTwoFramesIntoOne(blendtimes)
Distributor()
Настраивать три параметра в начале скрипта:
threads=7 - количество потоков, подробнее о выборе значения: Количество потоков
multi=4 - коэффициент повышения частоты кадров вставкой интерполированных кадров
blendtimes=2 - количество смешиваний каждых двух кадров в один
и один параметр в середине:
gpu:1 - использование GPU для построения кадров, 1 - использовать, 0 - не использовать
Для сохранения частоты кадров следить за тем, чтобы multi равнялось двойке в степени blendtimes, возможные пары это (multi:blendtimes): 4:2, 8:3, 16:4 и т.д.
На текущих настройках скрипт между двумя соседними исходными кадрами вставляет три интерполированных и смешивает эти три кадра с исходным кадром. На выходе каждый кадр видео содержит четыре положения движущихся объектов.
Dave_Scream
По порядку обработки:
1. исходник в Lagarith (900x720 @ 60 - после SVP)
Зачем? Если затем применяется функция MFlowBlur, которая строит много промежуточных кадров и смешивает их между собой. Надо оставить исходные 30 к/сек, сложность обработки сразу снизится в 2 раза. Кроме этого отпадет необходимость в последнем вызове SelectOdd.
2. Я думаю, Вы прочитали описание функции MFlowBlur и понимаете, что blur=100 самый затратный способ получения размытия движения, интервал смаза равен одному межкадромому интервалу, т.е. 1/60 сек для 60 к/сек. Далее вызов ConvertFPS(Framerate*2).SelectOdd.SelectOdd дает смешивание двух соседних кадров, выкидывает исходные и выкидывает половину смешанных кадров. Остается 30 к/сек с интервалом смаза 1/60+1/60 = 1/30 сек. Требуется именно такое размытие движения?
3. загружено на 100% только 1 ядро процессора вместо двух
Все верно. В скрипте не указано разделение обработки на потоки для использования многоядерности процессора.
Насчет вопросов:
задача, которую выполняет SVP более сложная
та же самая, только MFlowBlur выполняет намного больше вычислений: SVP считает один-два промежуточных кадра, а MFlowBlur считает пачку таких кадров и еще и смешивает их друг с другом, чтобы получить один кадр на выходе.
может можно как-то переписать этот скрипт, чтобы он использовал более свежие и оптимизированные функции из svp-шных dll
Наверняка можно. Видеокарта ведь имеется? Вроде бы GTX260. Тогда можно еще и ее задействовать. Самостоятельно справитесь?
Dave_Scream
VirtualDub через AVS скрипт обрабатывает всего 3-4 кадра в секунду
А если без сохранения выполнить Run video analysis pass?
Результат работы скрипта мне очень нравится, но скорость просто неприемлема
Какую скорость обработки Вы бы назвали приемлемой?
Open Performance graphs window from SVP tray menu - Information.
What is SVP-index value while playback with video delay? It must be 1x
SmoothRadio
All I did was download and install SVP
If you downloaded SVP Full bundle then MPC HC must be customized for SVP. SVP Core bundle needs to be configured manually.
More info: FAQ # SVP Manager tells "Waiting for ffdshow video..."
Dave_Scream
как перестроить скрипт GameDropFix_v4 под видео с количеством FPS отличным от 60
Ничего перестраивать не надо. Этот скрипт работает одинаково корректно для видео с любой частотой кадров. Хоть 60, хоть 30, хоть 25.
если кадры выпадают и FPS изменяется постоянно
Надо определить для себя какую ПОСТОЯННУЮ частоту кадров выбрать. Сейчас многие выбирают 30 к/сек, т.к. это компромисс плавности движений, затратности на производство, размера видео и возможностей онлайн сервисов (тот же YouTube).
есть ли возможность совместить в одном скрипте GameDropFix_v4 и SVP с наилучшими настройками и самым качественным шейдером и вконце обратно конвертнуть в 30 фпс плавным блендингом?
Теоретическая наверное есть. Но скрипт GameDropFix_v4 очень требовательный к памяти и капризный к многопоточности. Может просто нехватить ресурсов. Плюс нужно иметь некоторую подготовку и свободное время, чтобы заниматься такими экспериментами. Проще сделать эту обработку отдельными этапами. С контролем картинки на выходе каждого этапа. Так даже быстрее получается, как показывает практика.
Dave_Scream
Если есть возможность поменять графическую карту GTX260 на GTX 6xx и выше, то это позволит записывать полноэкраное видео без падения производительности в игре. Приложение называется ShadowPlay (подробнее).
прочитал, про функцию ConvertFPS. Нельзя ли спомощью него сделать псевдо 60 фпс на 30 фпсном видео?
Можно. Как сделать видео 30fps такого же качества?
What status has SVP icon while you point mouse to system tray?
jchrono703
If error in OpenCL-part then it mean CL_DEVICE_NOT_AVAILABLE.
Looks like you point GPU to use in the script but don't have it in the system.
What you did when you got this error?
SVPFlow.avis and movie.60fps.16px.avs are not standard SVP files.
Show source code of these files.
I think you have OpenCL-driver for your GPU properly installed.
vicente213
gtx 760
Go to NVIDIA Control Panel - 3D Params - 3D Params management - Vertical Sync - Enable
SmoothVideo Project → Posts by MAG79
Powered by PunBB, supported by Informer Technologies, Inc.