Topic: сохранение видео 60 фпс проблема

Недавно узнал о вашем проекте и программе свп и стал интересоваться настройками плавности видеоряда, собрался конвертировать свою коллекцию фильмов на x2 и 60 фпс. Но возникла проблема при конвертации, конечное перекодированное видео никак не изменяется, делаю все строго по инструкции программы, пробывал методы Haali Muxer и медиакодером, также разные версии программы свп (3.0.4, 2.0, 1.4), в версии 1,4 конечное видео имеет вдвое больший размер, но в свойствах по прежнему 25 фпс. Подскажите пожалуйста новичку, какие могут быть проблемы, может в avs скрипте нужны доп. настройки, или в кодеках. Все кодеки и плеер mpc из k-lite codec pack 7.8, AviSynth 2.5.8.

Re: сохранение видео 60 фпс проблема

ghost wrote:

собрался конвертировать свою коллекцию фильмов на x2 и 60 фпс

имеет смысл только для просмотра на стационарных плеерах
пробовали мою инструкцию?

Re: сохранение видео 60 фпс проблема

ghost wrote:

в свойствах по прежнему 25 фпс

Надо прописать в x264vfw доп. команду:

--fps=60

(или сколько там должно быть после уплавнения)

Re: сохранение видео 60 фпс проблема

а разве x264vfw не автоматом берет фпс из скрипта?

Re: сохранение видео 60 фпс проблема

Rimsky
Это не для потока, это для контейнера mkv. Указывается в кодере. По-хорошему конечно все должно быть автоматом. Но по факту для avi и mp4 это не обязательно, а вот mkv без этого получается с 25 fps в заголовке контейнера. wink

6 (edited by Rimsky 13-10-2011 04:29:39)

Re: сохранение видео 60 фпс проблема

сколько кодировал никогда такого не видел, вот и удивился
если трабла в муксере тогда лучше наверное указывать не в параметрах x264vfw, а перемуксить в MKVMergeGUI, указав для видеопотока нужный fps

Re: сохранение видео 60 фпс проблема

Это уже на выбор каждого. Я предложил короткое и простое решение.

Re: сохранение видео 60 фпс проблема

это решение приводит к перекодиорванию, а мое - 5 минут на проверку электропочты wink

9 (edited by ghost 13-10-2011 13:01:26)

Re: сохранение видео 60 фпс проблема

Наверно корень всех бед, это неработающий AviSynth
По инструкции Rimsky через meGUI выдал ошибку при выборе скрипта avs (сам скрипт при этом можно просматривать)
http://s017.radikal.ru/i400/1110/71/09596f13a62a.png

причем после переустановки aviSynth (с полной очисткой реестра) проблема не решилась

Re: сохранение видео 60 фпс проблема

У меня кстати такая же ошибка. Можно ли исправить?

Re: сохранение видео 60 фпс проблема

сам скрипт положите сюда

Re: сохранение видео 60 фпс проблема

svp_scheduler=true
SetMemoryMax(1024)
svp_cache_reduce=true
svp_flow_lib="C:\Program Files (x86)\SVP\Plugins\MVTools2\libflowgpu.dll"
multinum=5
multiden=2
algo=13
block=false
ml=0
search=4
sadml=0
sadgamma=1
blend=true
dist=4
pel=1
sharp=0
Recalc=0
blkh=8
blkv=8
overlap=2
overlapv=2
wid_den=1
hei_den=1


LoadPlugin ("C:\Program Files (x86)\SVP\Plugins\MVTools2\mvtools2.dll")
SetMTMode(3,15)
DirectShowSource("E:\\19.mkv", fps=23.976, convertfps=true, pixel_type="YV12")
Assert(width==1920 && height==800,"Frame size "+string(width)+"x"+string(height)+" instead of 1920x800")
delim=":"
WriteFileStart("C:\Users\v1rus\AppData\Roaming\SVP\Logs\avsFPS.txt", "FramerateNumerator()", "delim", "FramerateDenominator()")
SetMTMode(2)
src=last
wid_den==1 ? last : \
hei_den==1 ? LanczosResize(int(width/wid_den/2)*2,height) : LanczosResize(int(width/wid_den/2)*2,int(height/hei_den/2)*2)
super=MSuper(pel=pel, hpad=blkh, vpad=blkv, sharp=sharp)
finest=pel==1 ? super : MFinest(super)
backward_vec=MAnalyse(super, isb=true, blksize=blkh, blksizev=blkv, overlap=overlap, overlapv=overlapv, search=search, searchparam=dist, pelsearch=dist, plevel=0)
forward_vec=MAnalyse(super, isb=false, blksize=blkh, blksizev=blkv, overlap=overlap, overlapv=overlapv, search=search, searchparam=dist, pelsearch=dist, plevel=0)
backward_vec = Recalc==0 ? backward_vec : MRecalculate(super, backward_vec, blksize=blkh2, blksizev=blkv2, overlap=int(overlap/4)*2, overlapv=int(overlapv/4)*2, search=search, searchparam=dist)
forward_vec  = Recalc==0 ? forward_vec  : MRecalculate(super, forward_vec, blksize=blkh2, blksizev=blkv2, overlap=int(overlap/4)*2, overlapv=int(overlapv/4)*2, search=search, searchparam=dist)
smooth_video=MSmoothFps(super, backward_vec, forward_vec, finest=finest, num=FramerateNumerator(last)*multinum,den=FramerateDenominator(last)*multiden, algo=algo, ml=ml, sadml=sadml, sadgamma=sadgamma, block=block, blend=blend)
smooth_video


distributor()

кстате нашел этот wrapper тут http://avisynthwrapper.codeplex.com/ попробую пристроить

13 (edited by Rimsky 13-10-2011 17:54:45)

Re: сохранение видео 60 фпс проблема

после замены 19.mkv на свой видеофайл и в строчке Assert соответствующих размеров скрипт открылся, ошибки не вижу
мегуй надо качать полностью с megui.org, там же и AvisynthWrapper.dll
AvisynthWrapper.dll должен лежать рядом с megui.exe

14 (edited by ghost 13-10-2011 20:38:33)

Re: сохранение видео 60 фпс проблема

Вообщем кое как разобрался через megui, исходные 60 фпс получил в видео, Спасибо за помощь.
Теперь бы разобраться с чудесами Haali Muxer. Прописав параметр на 60 фпс, конечное видео в свойствах имеет 60 фпс, на паузе делаяя раскадровку получаются 60 кадров за секунду, но при воспроизведении по факту только исходные 24 фпс, хотя фрапс показывает 60. Получается что при воспроизведении нет плавности, но на паузе при раскадровке она есть. И еще, в megui конечный размер видео получился примерно в 2,5 раза больше оригинального, что логично, а после Haali Muxer лишь на 30% больше оригинала. Использовал этот же скрипт

Re: сохранение видео 60 фпс проблема

ghost wrote:

Haali Muxer

не пользовался ничего сказать не могу

ghost wrote:

в megui конечный размер видео получился примерно в 2,5 раза больше оригинального, что логично

Если видео 25фпс занимает 2 гектара, а с уплавнением 60фпс - уже 5 гектаров - это логично, но неправильно wink
Поток при перекодировании не копируется, а заново перекодируется, а любое перекодирование - это потери, заметные или нет - дело компромисса.
Пережимать рипы с уплавнением имеет смысл для просмотра на слабом железе, а так как просмотр разовый - о размере можно не беспокоиться, поэтому я ставлю при перекодировании в x264 CQP=17/slower
Хранить постоянно и раздавать уплавненное видео не имеет смысла тк а) уплавнение развивается и то что было вчера хорошо после новой версии станет уже не очень, б) потери качества таки имеют место, поэтому таки лучше смотреть при уплавнении на лету

16 (edited by Zapuzalo 07-02-2013 05:50:07)

Re: сохранение видео 60 фпс проблема

Установлен SVP 3.1.3 полная версия. С воспроизведением проблем нет: профиль 2g -> mpc-hc -> sync renderer + синхронизировать видео с дисплеем (без ReClock).
                                                                           http://s3.uploads.ru/HRf03.png

Дрожание - 0, пропущенных кадров – 0. Очень нравится. Разработчикам большое спасибо. С сохранением не всё так гладко. Скачал сэмпл рипа 720р 60fps. Вырезал такой же фрагмент из  имеющегося у себя 720р, и сохранил с профилями 1g-5g первым способом из этих трёх:

- при помощи MeGUI (автор:Rimsky)
- при помощи приложения Haali Muxer
- используя специальный скрипт Avisynth, заточенный под перекодирование  с    максимальным качеством: инструкция по-английски

Изначально выскакивала ошибка:

                                               http://s2.uploads.ru/UOACJ.png

Включил ffdshow обратно, ранее отключенный по инструкции:

1. В трей-меню SVP: Показать - Скрытые настройки - изменить значение настройки forceRAWinDecoder=0 - закрыть и сохранить.
2. Выйти из SVP-менеджера.
3. В меню Windows Пуск - Программы - ffdShow - ffdShow decoder - вкладка Codecs - изменить значение настройки Raw video value = disabled - OK.
4. Запустить SVP-менеджер.

и ошибка больше не появлялась.
Подкинул готовые файлы владельцу “Samsung LE-40C550” для тестирования. Чужой проигрался хорошо, плавно, а мой с постоянными подёргиваниями. Попробовал второй способ – те же  подёргивания. Третьим получилось и с отключенным ffdshow, и при беглом взгляде один к одному с чужим( не эталон, но глазам приятно).
Вроде и цель достигнута, но интересно, что не так с первыми двумя. Подозреваю, что виноват ffdshow (настройки по умолчанию). Удалял, подчищал, устанавливал с дистрибутива SVP. То же проделал и с  Haali. Без изменений.
Может кто знает?
Для сравнения: 1 способ “MeGUI”, 3 способ “max”.

Re: сохранение видео 60 фпс проблема

Zapuzalo
Скорее всего дело в настройках плавности.
Видео скачать не удалось. По ссылке открывается ex.ua и просит ввести ключ.

18 (edited by Zapuzalo 07-02-2013 03:32:06)

Re: сохранение видео 60 фпс проблема

MAG79 wrote:

Zapuzalo
Скорее всего дело в настройках плавности.
Видео скачать не удалось. По ссылке открывается ex.ua и просит ввести ключ.

Переустановил SVP 3.1.3 и MeGUI 2237 x86. После сохранения (1g-5g) те же подёргивания.

Исходник:
                       

Format                         : Matroska
Format version                 : Version 2
File size                      : 13.2 GiB
Duration                       : 2h 52mn
Overall bit rate               : 10.9 Mbps
Movie name                     : HDv0T / Ramazan
Encoded date                   : UTC 2012-12-18 17:20:27
Writing application            : mkvmerge v5.8.0 ('No Sleep / Pillow') built on Sep  2 2012 15:37:04
Writing library                : libebml v1.2.3 + libmatroska v1.3.0

Video
ID                             : 1
Format                         : AVC
Format/Info                    : Advanced Video Codec
Format profile                 : High@L4.1
Format settings, CABAC         : Yes
Format settings, ReFrames      : 5 frames
Codec ID                       : V_MPEG4/ISO/AVC
Duration                       : 2h 52mn
Bit rate                       : 9 455 Kbps
Width                          : 1 280 pixels
Height                         : 544 pixels
Display aspect ratio           : 2.35:1
Frame rate mode                : Constant
Frame rate                     : 23.976 fps
Color space                    : YUV
Chroma subsampling             : 4:2:0
Bit depth                      : 8 bits
Scan type                      : Progressive
Bits/(Pixel*Frame)             : 0.566
Stream size                    : 11.1 GiB (84%)
Title                          : Cloud.Atlas.2012.720p.BDRip.x264.dts.rus-HDv0T
Writing library                : x264 core 128 r2216kMod 198a7ea
Encoding settings              : cabac=1 / ref=5 / deblock=1:-3:-3 / analyse=0x3:0x113 / me=umh / subme=11 / psy=1 / fade_compensate=0.00 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc=2pass / mbtree=0 / bitrate=9455 / ratetol=1.0 / qcomp=0.80 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:0.80 / zones=124701,135517,b=0.3
Language                       : English
Default                        : Yes
Forced                         : No

Профиль 5g:
                      http://s2.uploads.ru/Egwnx.png

Скрипт:
             

# This script was generated by SmoothVideo Project (SVP) Manager.
# Check http://www.svp-team.com for more details.

SetMemoryMax(1024)

global svp_scheduler=true
global threads=4
global svp_cache_fwd=threads+2

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

SetMTMode(3,threads)
DirectShowSource("C:\\1.mkv", fps=23.976, convertfps=true, pixel_type="YV12")
SetMTMode(2)

global crop_params=""
global resize_string=""
global super_params="{scale:{up:0},gpu:1,rc:false}"
global analyse_params="{main:{search:{coarse:{distance:-10},bad:{sad:2000}}},refine:[{thsad:250}]}"
global smoothfps_params="{rate:{num:5,den:2},algo:13,scene:{}}"

global demo_mode=0
stereo_type=0

########## BEGIN OF MSMoothFps.avs ##########
# This file is a part of SmoothVideo Project (SVP) 3.1.3
# This is NOT the full AVS script, all used variables are defined via 
# JavaScript code that generates the full script text.

function interpolate(clip src)
{
    input = crop_params=="" ? src : eval("src.crop("+crop_params+")")
    input = resize_string=="" ? input : eval("input."+resize_string)

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

    return demo_mode==0 ? smooth : demo(input,smooth)
}

input=last

    stereo_type==0 ? eval(""" interpolate(input)
""") :     stereo_type==1 || stereo_type==3 ? eval("""
        lf = interpolate(input.crop(0,0,input.width/2,0))
        rf = interpolate(input.crop(input.width/2,0,0,0))
        StackHorizontal(lf, rf)
""") :     stereo_type==2 || stereo_type==4  ? Eval("""
        lf = interpolate(input.crop(0,0,0,input.height/2))
        rf = interpolate(input.crop(0,input.height/2,0,0))
        StackVertical(lf, rf)""") : input

########### END OF MSMoothFps.avs ###########

По этой ссылке просто обязаны пустить.

Re: сохранение видео 60 фпс проблема

Zapuzalo
Ага, файлы по ссылке вижу. Вечером скачаю и гляну. Там уже станет понятно в чем причина.

1g - это набор профилей для слабых процессоров. Если хочется качество, то лучше выбрать набор профилей 5g.

20 (edited by Zapuzalo 07-02-2013 05:46:36)

Re: сохранение видео 60 фпс проблема

MAG79 wrote:

Zapuzalo
Ага, файлы по ссылке вижу. Вечером скачаю и гляну. Там уже станет понятно в чем причина.

1g - это набор профилей для слабых процессоров. Если хочется качество, то лучше выбрать набор профилей 5g.

Изначально сохранял с 5g. Для чистоты эксперимента попробовал на всех.
Сохраню с max. настройками, заменю на файлообменнике и отредактирую предыдущее сообщение.

Готово.

Re: сохранение видео 60 фпс проблема

Zapuzalo
Поглядел ролики. Это отрывок из облачного атласа.
Исходник нормальный. Стандартная частота 23.976 к/сек.
3_max не содержит выпавших кадров, поэтому смотрится плавно.
1_MeGUI_5g плох не от настроек плавности. В нем образовались регулярные выпавшие кадры. Похоже на ошибку с входной частотой на этапе открытия в MeGUI. Выпадения кадров имеют периодический характер по два кадра три раза в секунду.

22 (edited by Zapuzalo 07-02-2013 19:46:14)

Re: сохранение видео 60 фпс проблема

MAG79 wrote:

Zapuzalo
Похоже на ошибку с входной частотой на этапе открытия в MeGUI.

1 и 3 способ сохранения используют одинаковую программу, настройки х.264 идентичные, исходное видео не меняется.
Делаю следующее: cохраняю 3 способом, но вместо предлагаемого скрипта использую скрипт, сформированный SVP.
Результат: подёргивания.
С  скриптом от SubJunk:

Setmemorymax(1024)
SetMTMode(3,2)
PluginPath = "C:\Program Files (x86)\MeGUI_2237_x86\tools\avisynth_plugin\"
LoadPlugin(PluginPath+"svpflow1.dll")
LoadPlugin(PluginPath+"svpflow2.dll")
Import(PluginPath+"InterFrame2.avsi")
LoadPlugin("C:\Program Files (x86)\Haali\MatroskaSplitter\avss.dll")
dss2("C:\1.mkv", fps=23.976).AssumeFPS(24000,1001).ConvertToYV12()
SetMTMode(2)
#deinterlace
#crop
#denoise
#resize
InterFrame(Cores=2, GPU=True)

- выходное видео нормальное, с SVP скриптом - нет.
Куда дальше копать, не знаю.

Re: сохранение видео 60 фпс проблема

Дык наверное DirectShowSource корень бед, чудес то не бывает

24 (edited by Zapuzalo 07-02-2013 23:12:53)

Re: сохранение видео 60 фпс проблема

Chainik wrote:

Дык наверное DirectShowSource корень бед, чудес то не бывает

Спасибо.

Проблему наконец-то решил. Правильно ли, не знаю, но выходное видео проигрывается плавно, без подёргиваний.
В программе MeGUI в профиле в скрипте 5g поменял строчку DirectShowSource("C:\\1.mkv", fps=23.976, convertfps=true, pixel_type="YV12")  на <input>.ConvertToYV12() .Сохранил. После добавления видео строчка приняла такой вид: dss2("C:\1.mkv",fps=23.976).AssumeFPS(24000,1001).ConvertToYV12()

  Дальше появляется ошибка :
                                              http://s3.uploads.ru/EY7ZT.png

Сношу AviSynth 2.5.8 и ставлю AviSynth 2.6.0 , предложенный SubJunk на странице с инструкцией по сохранению...
Подёргивания исчезли.
Беспроблемный  добавил на файлообменник (ссылки выше).

Re: сохранение видео 60 фпс проблема

Zapuzalo
Поздравляю, что удалось найти и решить проблему.

Сношу AviSynth 2.5.8 и ставлю AviSynth 2.6.0
Вот это совсем не безопасное действие. Лучше было бы установить Avisynth 2.5.8 из комплекта SVP. Это позволит избежать вылетов плеера и кодера из-за проблем переполнения памяти. 2.6.0 не оптимизирован в вопросе потребления памяти и работает на грани фола. Например 720p-видео занимает в памяти 1456 МБ вместо 519 МБ (картинки).