script 50p
Ahoj. Mam kratke video z mobilu 1080p 23,97 fps. Jak by vypadal script na prevod do 1080p 50 fps ?
Predem diky.
Maxima
Predem diky.
Maxima
Dříve jsem používal filtr MFlowFps z pluginu MVTools, ale teď používám skript InterFrame2, protože mi subjektivně dává lepší výsledek. Tady je skript, kterým převádím videa z mobilu 29,97 fps na 50 fps:
[CODE]Global pd = "c:\Program Files (x86)\AviSynth\plugins\"
Setmemorymax(1024)
SetMTMode(5)
LoadPlugin(pd + "LSMASHSource.dll") # http://avisynth.nl/index.php/LSMASHSource
Import(pd + "interframe2.avsi") # https://www.spirton.com/category/interframe/
LoadPlugin(pd + "svpflow1.dll")
LoadPlugin(pd + "svpflow2.dll")
LSMASHVideoSource("d:\Projects\Mobil\20180528_165210.mp4")
#AssumeFPS(30)
InterFrame(NewNum=50,NewDen=1,cores=4)
[/CODE]
[CODE]Global pd = "c:\Program Files (x86)\AviSynth\plugins\"
Setmemorymax(1024)
SetMTMode(5)
LoadPlugin(pd + "LSMASHSource.dll") # http://avisynth.nl/index.php/LSMASHSource
Import(pd + "interframe2.avsi") # https://www.spirton.com/category/interframe/
LoadPlugin(pd + "svpflow1.dll")
LoadPlugin(pd + "svpflow2.dll")
LSMASHVideoSource("d:\Projects\Mobil\20180528_165210.mp4")
#AssumeFPS(30)
InterFrame(NewNum=50,NewDen=1,cores=4)
[/CODE]
Saxel. Slape to,diky. Vysledek jsem neporovnaval, ale vypada na první pohled slusne. Nechodi mi radek SetMTode (), tak jsem ho vyhodil. Mozna nekorektni knihovna ztazeno z jiného zdroje, z avisynth webu neslo, nevim proc. Predpokladam, ze to potřebuje tu knihovnu mt.dll
Maxima
Maxima
Používám neoficiální build Avisynthu 2.6.0 MT, který má vylepšenou podporu Multithreadingu, viz odkaz: https://forum.doom9.org/showthread.php?t=148782.
Je sice méně stabilní, ale umožňuje lepší využití výkonu CPU.
Je sice méně stabilní, ale umožňuje lepší využití výkonu CPU.
Saxel, tak ted mam asi v kompu zmatek. Urcite jsem nainstaloval verzi 2.6. Protože to doporucoval Ai pro ty BAT soubory. Ale včera jsem se dival do adresare a mam tam v C:\Program Files (x86) slozku Avisytnh 2.58. Je mozne, ze když jsem zapomnel odinstalovat verzi 2.58, ze tam nekde je i ta 2.6 a systém ted nevi co a jak? Nebo ze tu starou verzi to preinstalovalo a tvari se jako 2.58 ? Nechci do toho vrtat protože ty BAT funguji a trochu trvalo nez jsem to odladil. Co jsem mohl zblbnout, ze by se ta 2.6 verze nainstalovala do stavajici slozky s nazvem 2.58 i po jeji idinstalaci, uz si nepamatuji?
Maxima
Maxima
Instalovanou verzi zjistíš tímto skriptem:
[CODE]
Version(BlankClip(width=640, height=480, pixel_type="YV24"))
function Version(clip bg, bool "showbg")
{
showbg = Default(showbg, false)
bg = (showbg) ? bg : BlankClip(bg, color=$404040)
v=Version
m=v.ConvertToRGB32.ColorKeyMask($404040, 0).ShowAlpha
Overlay(bg, v, mask=m.Blur(0.2),
\ x=(bg.Width/2-v.Width/2),
\ y=(bg.Height/2-v.Height/2))
return Last
}
[/CODE]
[CODE]
Version(BlankClip(width=640, height=480, pixel_type="YV24"))
function Version(clip bg, bool "showbg")
{
showbg = Default(showbg, false)
bg = (showbg) ? bg : BlankClip(bg, color=$404040)
v=Version
m=v.ConvertToRGB32.ColorKeyMask($404040, 0).ShowAlpha
Overlay(bg, v, mask=m.Blur(0.2),
\ x=(bg.Width/2-v.Width/2),
\ y=(bg.Height/2-v.Height/2))
return Last
}
[/CODE]
Saxel Diky moc, mam verzi 2.6 asi jsem jen nechal stary nazev slozky . Kde mam chybu, když mi 64b Virtual Dub2 nebere zadne skripty (32b v pohode) ? Pretazeni samotného videa mysi do VD2 64b nacte normalne.
Pro 64bit VirtualDub bys musel použít 64bit Avisynth a k němu 64-bitové pluginy. S Avisynthem prostě používej VirtualDub 32bit.
Jasne, diky. Vim, ze je to nekenecne téma, ale muzes prozradit jake používáš kodeky (filtry), pripadne nastaveni? Je jich mraky ruzne Litle, Shark, Megapack atd. Dle tvých zkusenosti uz to mas asi vychytane. Ja jedu pokus omyl, když se nekde něco zadrhne.
Maxima
Maxima
Žádné "balíky" kodeků neinstaluju, je to kontraproduktivní. Co si pamatuju, tak jsem do systému přidal jen SolveigMM splitter, LAV filtr/splitter, Quicktime, nějaký DV kodek a losless UtVideo kodek. Další de/en-kodéry mají v sobě aplikace, které používám.
Jasne, to jsem pocitil, když tam instalujes ruzne kodeky a pak jsou kolize. Jinak ten VD jsem rozchodil, nebyl to avisynth ani kodeky, nakonec to bylo v internich filtrech VD.
Ahoj, ještě se vratim k dotazu. Pouzivam na prevod 4K4096x2160 23,976p video do 1920x1080 50p nasleduji script. Ve VirtualDub 2.
Global pd = "c:\Program Files (x86)\AviSynth\plugins\"
Setmemorymax(1024)
#SetMTMode(3)
LoadPlugin(pd + "LSMASHSource.dll") # http://avisynth.nl/index.php/LSMASHSource
Import(pd + "interframe2.avsi") # https://www.spirton.com/category/interframe/
LoadPlugin(pd + "svpflow1.dll")
LoadPlugin(pd + "svpflow2.dll")
LSMASHVideoSource("C:\Video\Dron 4K 24p.MP4")
AssumeFPS(25)
InterFrame(NewNum=50,NewDen=1,cores=12)
Co me zlobi: ze scriptu je videt, ze když povolim SetMode, tak video nenacte, proto je zde vynechano nevim důvod proc. Také je zvlastni, ze script normalne při prvnim nactenim jede, ale když nactu třeba po druhé, nekdy po treti, tak VD nahlasi bud problém s buferem, nebo nekorektni rozmer a spadne.
Kde mam chybku ?
Maxima.
Global pd = "c:\Program Files (x86)\AviSynth\plugins\"
Setmemorymax(1024)
#SetMTMode(3)
LoadPlugin(pd + "LSMASHSource.dll") # http://avisynth.nl/index.php/LSMASHSource
Import(pd + "interframe2.avsi") # https://www.spirton.com/category/interframe/
LoadPlugin(pd + "svpflow1.dll")
LoadPlugin(pd + "svpflow2.dll")
LSMASHVideoSource("C:\Video\Dron 4K 24p.MP4")
AssumeFPS(25)
InterFrame(NewNum=50,NewDen=1,cores=12)
Co me zlobi: ze scriptu je videt, ze když povolim SetMode, tak video nenacte, proto je zde vynechano nevim důvod proc. Také je zvlastni, ze script normalne při prvnim nactenim jede, ale když nactu třeba po druhé, nekdy po treti, tak VD nahlasi bud problém s buferem, nebo nekorektni rozmer a spadne.
Kde mam chybku ?
Maxima.
Kdyz jsem laboroval s prevody VHS - viz
[SPOILER]https://www.tvfreak.cz/forum/showthread.php/40830-Detailni-nastaveni-exportu-VHS-DV-MP4-H264H265-nejvyssi-mozna-kvalita[/SPOILER]
Take jsem mel problem - presne uz nevim, ale tusim, ze bud se script nenacetl nebo pri vlastnim renderu VD vytuhnul.
Vystrel do tmy - za pokus stoji:
SetMTMode(5)
Pro poradek - VirtualDub2 32bit - build 41552, Avisynth 260MT.
Pozn.: - moc dobry script - ted jsem vyzkousel pro prevod 30p -> 50p
[SPOILER]https://www.tvfreak.cz/forum/showthread.php/40830-Detailni-nastaveni-exportu-VHS-DV-MP4-H264H265-nejvyssi-mozna-kvalita[/SPOILER]
Take jsem mel problem - presne uz nevim, ale tusim, ze bud se script nenacetl nebo pri vlastnim renderu VD vytuhnul.
Vystrel do tmy - za pokus stoji:
SetMTMode(5)
Pro poradek - VirtualDub2 32bit - build 41552, Avisynth 260MT.
Pozn.: - moc dobry script - ted jsem vyzkousel pro prevod 30p -> 50p
Souhlas s 1hroch. InterFrame používá spoustu filtrů, což způsobuje nestabilitu při nastavení "rychlejších" MT módů. Použitím SetMTMode(5) bude sice výpočet pomalejší, ale nemělo by to padat, viz popis http://avisynth.nl/index.php/MT
Diky moc, vyzkousim SetMode 5 a 6 viz odkaz. Jakou hodnotu v tom scriptu mam dat sem AssumeFPS(25) . Video puvodni zdrojove 23,976 nebo uplne vynechat jak mas ve scriptu na zacatku.Nedela to potom neplechu když je to z 23,9 rovnou na 50 a ne z 25 na 50, to pak nebudou násobky snimku.
Maxim
Maxim
Obě varianty jsou možné. Když ponecháš příkaz AssumeFPS(25), původní video se zrychlí v poměru 25:23,976, což by u záběrů z drona neměl být velký problém a výhoda je, že při 50 fps bude každý druhý snímek originál. Pokud necháš fps na 23,976, bude se logicky dopočítávat každý snímek z těch okolních.
Já mám drona, který umí 4k/30fps a do projektů 50fps mnohdy jen změním snímkovou frekvenci bez dopočítávání snímků (AssumeFPS(50)). U některých záběrů to vůbec nevadí, někdy je dokonce lepší zrychlit záběry ještě víc.
Já mám drona, který umí 4k/30fps a do projektů 50fps mnohdy jen změním snímkovou frekvenci bez dopočítávání snímků (AssumeFPS(50)). U některých záběrů to vůbec nevadí, někdy je dokonce lepší zrychlit záběry ještě víc.
Ahoj, jen doplneni, nize postup podobnym skriptem přes MeGui. To jsem třeba rozchodil bez problemu, ale přes VD nechodi ani zmenou SetMTMode na 5, nebo 6.
https://www.spirton.com/convert-videos-to-60fps/
Fakt je divne, ze nekdy se to rozjede a nekdy nic, to nechapu. Stejne video, stejny script a postup a rozdilna reakce v case. Nejaky napad na zmenu scriptu ? Samozrejme muzu delat v tom MeGui, ale ten nemá v sobe UTVideo kodek ani další jiné pro nekomrimovane video a také zadne filtry jako VD. Rad bych rozchodil, protože, když to nahodou chodi, tak vysledne video je fakt super.
Maxim
https://www.spirton.com/convert-videos-to-60fps/
Fakt je divne, ze nekdy se to rozjede a nekdy nic, to nechapu. Stejne video, stejny script a postup a rozdilna reakce v case. Nejaky napad na zmenu scriptu ? Samozrejme muzu delat v tom MeGui, ale ten nemá v sobe UTVideo kodek ani další jiné pro nekomrimovane video a také zadne filtry jako VD. Rad bych rozchodil, protože, když to nahodou chodi, tak vysledne video je fakt super.
Maxim
Take mi pomohlo zmenit velikost pameti Setmemorymax (512). Po nekolika spustenich VD se pak system "zbrchal" a do ted funguje s hodnotou (1024).
je mi jasne, ze do toho nepujdete, ale jen jako info,
prave to nastavovani SetMTMode nastaveni threadu, vytizeni CPU je prave moderne reseno ve Vapoursynthu, nemam s tim celkem problemy, vsechno vzdy jede, pokud mi preteka RAM (mam velmi malo) da se to omezit jako v Avisynthu,
napriklad ten InterFrame, mam tu odnekud stahnuty 4k HEVC MXF z Canonu:
[CODE]import vapoursynth as vs
from vapoursynth import core
from havsfunc import InterFrame
input=r'F:/A003C003H1801239K_CANON.MXF'
clip = core.ffms2.Source(input)
clip = core.std.SetFrameProp(clip, prop="_Matrix", intval=1)
clip = core.std.SetFrameProp(clip, prop="_Transfer", intval=1)
clip = core.std.SetFrameProp(clip, prop="_Primaries", intval=1)
clip = core.resize.Bicubic(clip, matrix_in_s = '709', format= vs.YUV420P8)
#default InterFrame arguments:
#Preset='Medium', Tuning='Film', NewNum=None, NewDen=1, GPU=False, InputType='2D', OverrideAlgo=None, OverrideArea=None, FrameDouble=False
clip = InterFrame(clip, NewNum=60000, NewDen=1001) #nebo pro doubleframe rate: FrameDouble=True
clip.set_output()[/CODE]
prave to nastavovani SetMTMode nastaveni threadu, vytizeni CPU je prave moderne reseno ve Vapoursynthu, nemam s tim celkem problemy, vsechno vzdy jede, pokud mi preteka RAM (mam velmi malo) da se to omezit jako v Avisynthu,
napriklad ten InterFrame, mam tu odnekud stahnuty 4k HEVC MXF z Canonu:
[CODE]import vapoursynth as vs
from vapoursynth import core
from havsfunc import InterFrame
input=r'F:/A003C003H1801239K_CANON.MXF'
clip = core.ffms2.Source(input)
clip = core.std.SetFrameProp(clip, prop="_Matrix", intval=1)
clip = core.std.SetFrameProp(clip, prop="_Transfer", intval=1)
clip = core.std.SetFrameProp(clip, prop="_Primaries", intval=1)
clip = core.resize.Bicubic(clip, matrix_in_s = '709', format= vs.YUV420P8)
#default InterFrame arguments:
#Preset='Medium', Tuning='Film', NewNum=None, NewDen=1, GPU=False, InputType='2D', OverrideAlgo=None, OverrideArea=None, FrameDouble=False
clip = InterFrame(clip, NewNum=60000, NewDen=1001) #nebo pro doubleframe rate: FrameDouble=True
clip.set_output()[/CODE]
Ahoj, tak ani 512 nepomohlo. Ai vim, ze jsi psal, ze je to ted modernejsi rychlejsi a resi vice věci, ale sam vis jak nam trvalo, nez jsem se trochu naucil ty skripty, zakladni logiku a nazvoslovi a pak rozchodili ty BAT soubory. Normalne se nevzdavam, mas nekde na netu nejaky postup jak s tim vapoursythem zacit? Ale pro amatery ne pokrocile programátory se znalosti videa do posledního pixelu. Něco jako stahni tady, klikni sem atd. Ve volnu bych to zkusil přechroupnout.
Saxel, to me nenapadlo, vyzkousel jsem na 4 jadru na notasu a chodi jak hodinky. Zkusim ještě doma. Zatím diky moc.
Tak jsem to bohužel pracneji obesel a resim takto.Kdyby se nekomu hodilo.
4k25p video transport do VD, tam uprava, filtry a vse potrebne_export UT kodek bezztratove .
MeGui okno vytvoreni scritu, vlozit script pro upravu 25p-50p., pripadne změna resize na 1920_1080.
Export x264, kontajner mp4. Takto to jede a výsledek je slusny. Nevyhoda, když se chce výsledek vlozit do projektu, bude se ještě jednou rendrovat.
Maxima
4k25p video transport do VD, tam uprava, filtry a vse potrebne_export UT kodek bezztratove .
MeGui okno vytvoreni scritu, vlozit script pro upravu 25p-50p., pripadne změna resize na 1920_1080.
Export x264, kontajner mp4. Takto to jede a výsledek je slusny. Nevyhoda, když se chce výsledek vlozit do projektu, bude se ještě jednou rendrovat.
Maxima