# Schärfen für VHS-Video (selbst gegrabbt oder auch geladen von youtube) # QTGMC 3.36 + ChromaShift + SMdegrain (temporal filtering) + FixVHSOversharp + AWarpSharp2(color only) + Sharpen (VideoFred) # Laufzeitfresser: 1. QTGMC, 2. temporale Filterung # Videofred Skript (mit 2011 Pararametern) erzeugt starke Artefaktwolken um Kanten, u.a. weil die Bewegunsabschätzung durch doppelte Frames nicht gut funktioniert # lsfmod erzeugt wächserne Gesichter # schärfen aus vidofrefs skript gibt die lebendigste Ansicht, überschärft aber Kanten mit leichten Halos # Open video file................................................................................................................................ #See: http://avisynth.nl/index.php/FAQ_loading_clips#How_do_I_load_MP4.2FMKV.2FM2TS.2FEVO_into_AviSynth.3F #Vob #LoadPlugin("E:\plugins\DGDecode.dll") # 1fst pass: start DGindedx, open VOB files, run Audio > Output method > Demux all tracks, run File > Save project #Mpeg2Source("H:\mein_pfad_zum Video.d2v") #open d2v file that you have generated before #progressive, nicht interlaced #viele andere Codecs #loadplugin("E:\plugins\ffms2.dll") # Vorsicht, führt zu vielen dropped frames in Videos, die MJPEG nutzen (Null-frames werden ausgelassen) # Vorsicht, führt zu dropped frames in Videos, die Lagartih nutzen (Null-frames werden ausgelassen) # takes a lot of time on 1st run to index the video # gibt die Tonspur nicht wieder, so dass Audio nicht mit ausgegeben wird # ffVideoSource("H:\mein Film.avi" ) #YUY2 takes a lot of time on 1st run to index the video # AviSource ("H:\meinfilm" ) #zuverlässig, aber öffnet nicht alle Formate #DirectshowSource ("H:\meinfilm.avi") # use this, if windows can decode the video # Vorsicht, führt zu dropped frames in Videos, die MJPEG oder Lagarith nutzen (Null-frames werden ausgelassen) # Falls nötig, Umwandlung von TV-Levels (16...235) in PC levels................................................................................................ # nur nötig, falls sich Luma nur von 16...235 erstreckt # http://avisynth.nl/index.php/Luminance_levels #ColorYUV(levels="TV->PC") #oder hochwertiger Dither=50 # Smooth=200 # 0=faster, 100 avoids banding # Y Levels, Gamma, Histogramm #SmoothLevels(15,0.9,243,0,255,smooth=Smooth,dither=Dither,show=select(0,false,true) ) #Saturation, Contrast / Farbsättigung ................................................................................................ #SmoothTweak(Saturation=1.7,contrast=1.0,smooth=Smooth,dither=Dither,show=select(0,false,true)) #Chroma shift ................................................................................................ #loadplugin("E:\plugins\ChromaShift.dll") #2.58 or above import("E:\avisynth\plugins\ChromaShiftSP.avsi") ChromaShiftSP(-2,2) #shift chroma with subpixel acuracy, + left (nur gerade Zahlen) , +up, #ConvertToYV12() # QTGMC 3.36................................................................................................ # high quality deinterlacer with a range of features for both quality and convenience, moded version of Didée TempGaussMC_beta #loadplugin("E:\plugins\MVtools2-2.7.dll") #2.58 or above #loadplugin("E:\plugins\masktools2.2.17.dll") #für QTGMC 3.36 braucht 2.2.17 or above import("E:\avisynth\plugins\smdegrain3.1.2.avsi") #für QTGMC 3.36 #loadplugin("E:\plugins\NNEDI3.dll") #loadplugin("E:\plugins\RemoveGrain.dll") #loadplugin("E:\plugins\SSE2Tools.dll") #also from Removegrain packet #loadplugin("E:\plugins\Repair.dll") #optional #loadplugin("E:\plugins\FFT3DFilter.dll") # for noise processing #loadplugin("E:\plugins\DFTTest.dll") # for noise processing #loadplugin("E:\plugins\VerticalcleanerSSE2.dll") # for noise processing #oadCplugin("E:\plugins\yadif.dll") # and FFTW3.dll library in Windows path # some others for some options, see help import("E:\avisynth\plugins\QTGMC-3.362.avsi") #needs masktools 2.2.17 or above #for progressive source InputType=1 #QTGMC( Preset=select(2,"Very Slow", "Slower", "Slow", "Medium", "Fast", "Faster", "Very Fast", "Super Fast") ) #0.5 fps #QTGMC( "Slower", SourceMatch=2, Lossless=2, EZKeepGrain=0.5, Sharpness=0.3 ) # a more analogue look, keeps original noise, not so sharp #QTGMC( "Slower", SourceMatch=2, Lossless=2, EZKeepGrain=0.5, Sharpness=0.3 ) # a more analogue look, keeps original noise, not so sharp #QTGMC(, preset = "slower", SourceMatch = 3, lossless = 1, NoiseProcess = 1, StabilizeNoise = False, GrainRestore = 0.0, NoiseRestore = 1.0) #keeps most of the source, 0.03 fps! #QTGMC(InputType=1, preset = "slower") #holt mehr Details aus DVD mit progressive Video (mit "fast" jedoch nicht mehr), erhält framerate QTGMC("Slow", EZDenoise=2.5) #with denoising for noisy source, set EZDEnoise=1,5...? SelectEven() #verwirft gerade frames nach Verdoppung durch QTGMC #Cropping in Virdualdub ausführen mit >Null transform + >Resize (dort Faktor 16 auswählen und Größe wählen) # geringe Verzerrungen des Aspektratio fallen beim Resizing nicht auf. Wichtiger ist es, alle Bildstörungen am Rand zu Croppen #Für schnelleres Prozessing Script nur bis hier laufen lassen und Ergebnis zwischenspeichern (XVID, Q=2...1) #=================================================================================================== #Loadplugin("E:\plugins\FluxSmooth.dll") #Loadplugin("E:\plugins\RemoveGrain.dll") #LoadPlugin("E:\plugins\mt_masktools-25_v20a48.dll") #Loadplugin("E:\plugins\mvtools2.dll") #mod needed for tr>3 #Loadplugin("E:\plugins\NNEDI3.dll") #Loadplugin("E:\plugins\Repair.dll") #Loadplugin("E:\plugins\dither.dll") #import("E:\avisynth\plugins\SMDegrain v.2.2d.avsi") import("E:\avisynth\plugins\SMDegrain3.1.2.avsi") import("E:\avisynth\plugins\dither.avsi") import("E:\avisynth\plugins\mt_xxpand_multi.avsi") #return last #temporal denoise ............................................................................................... #SMDegrain(tr=6,thSAD=250,contrasharp=true,refinemotion=true,lsb=true) #as starting point #SMDegrain(tr=4,thSAD=450,contrasharp=true,refinemotion=false,lsb=false) # #SMDegrain(tr=6,thSAD=450,contrasharp=true,refinemotion=false,lsb=false) # #oder import("E:\avisynth\plugins\MCDegrainSharp.avsi") #MCDegrainSharp() #blurs areas with bad motion vectors and sharpens good areas, I use it one helluva lot, for almost every encode. #VHS überschärfung entfernen (nur horizontal) ............................................................................................... #LoadPlugin("E:\plugins\RemoveGrain.dll") #LoadPlugin("E:\plugins\mt_masktools.dll") # currently installed: Avisynth 2.6.MT (SEt's build) #LoadPlugin("E:\plugins\FixVHSOversharp2_5.dll") #Parameters #ConvertToYUY2() #FixVHSOversharp (40,14,10) #arbeitet zeilenweise, erzeugt manchmal bei Schrift Artefakte (möglicherweise durch Rauschen) ConvertToYV12() # Farben, Farbsättigung anpassen ............................................................................................... Dither=50 # Smooth=200 # 0=faster, 100 avoids banding #SmoothLevels(15,0.9,243,0,255,smooth=Smooth,dither=Dither,show=select(0,false,true) ) #SmoothTweak(Saturation=1.3,contrast=1.0,smooth=Smooth,dither=Dither,show=select(0,false,true)) #Chroma schärfen (Flanken versteilern an Luma) ............................................................................................... #LoadPlugin("E:\plugins\AWarpSharpMT.dll") # aWarpSharp2(depth=14) # aWarpSharp2(thresh=255, blur=2, type=0, depth=16, chroma=6 ) #wenn auf Luma angewendet, wirkt es wie gemalt, Details gehen verloren # aWarpSharp2(thresh=255, blur=100, type=0, depth=64, chroma=6 ) #depth stärker mit höherer Präzision (blur) #oder #aWarp(aSobel().aBlur(blur=2, type=0), depth=16, chroma=6) #crhoma edges little sharper , chroma = 4 sharpens also luma edges aWarp(aSobel().aBlur(blur=2, type=0), depth=116, chroma=6) #stronger # sharpen from Fred's 8 mm Skript ............................................................................................... #Loadplugin("E:\plugins\warpsharp.dll") # see https://forum.doom9.org/showthread.php?p=1865510 # VideoFred 2019: For me, the best way is to sharpen in steps with unsharpmask. Big radius first, then smaller radius. And some blur between the sharpening steps will help to avoid sharpening artefacts. # Example: # unsharpmask(30,6,0).blur(0.8).unsharpmask(30,4,0).blur(0.8).unsharpmask(30,2,0).blur(0.8) # Play with strenght and radius from all steps and see what you get #parameter set 2011 USM_sharp_ness1= 120 USM_radi_us1= 3 #first sharpening (UnsharpMask) after cleaning with removedirtMC() USM_sharp_ness2= 80 USM_radi_us2=2 #second harpening (UnsharpMask) after cleaning with removedirtMC() USM_sharp_ness3= 70 USM_radi_us3=1 #third sharpening (UnsharpMask) after degraining with MVDegrainMulti() last_sharp= 0.4 #final sharpening step after interpolation last_blur= 0.2 #this smooths out the heavy sharpening effects #parameter set 2016 sharp=1 #default: 1 USM_sharp_ness1= 3*sharp USM_radi_us1= 3 #first sharpening (UnsharpMask) after cleaning with removedirtMC() USM_sharp_ness2= 2*sharp USM_radi_us2=2 #second harpening (UnsharpMask) after cleaning with removedirtMC() USM_sharp_ness3= sharp USM_radi_us3=1 #third sharpening (UnsharpMask) after degraining with MVDegrainMulti() last_sharp= 0.4 #final sharpening step after interpolation last_blur= 0.8 #this smooths out the heavy sharpening effects default 0.6 cleaned= unsharpmask(USM_sharp_ness1,USM_radi_us1,0)\ .unsharpmask(USM_sharp_ness2,USM_radi_us2,0).unsharpmask(USM_sharp_ness3,USM_radi_us3,0).sharpen(last_sharp).sharpen(last_sharp).blur(last_blur) cleaned #loads the cleaned clip # some additional sharpening if required ................................................................................................ Import("E:\avisynth\plugins\LimitedSharpenFaster.avs") #Applies a strong sharpening to edges and fine details by controlling halos and minimising artifacts #LimitedSharpenFaster(ss_x=1.0,ss_y=1.0,smode=4, strength=100 ) #default LimitedSharpenFaster(ss_x=4.0,ss_y=4.0,smode=4, strength=240 ) #LimitedSharpenFaster(ss_x=1.0,ss_y=1.0,smode=1, strength=240 ) #sharpen(0.4).sharpen(0.4).blur(0.4) # deblur ................................................................................................ # verändert Luma, Ergbenisse (Focus) nicht besser als mit Freds Video Script #assumefieldbased() #FQRestore() #slow focur(deblur) in FFT domain, see http://www.avisynth.nl/users/vcmohan/FQSharp/FQRestore.html #FQRestore(x=1, y=1,fr=20,line=false) #slow focur(deblur) in FFT domain, see http://www.avisynth.nl/users/vcmohan/FQSharp/FQRestore.html # hochskalieren ............................................................................................... # using "NNEDI3_rpow2(rfactor=2)" to blow up the image size by 2x, then downsize with a "classic" resizer to the final resolution #Loadplugin("E:\plugins\nnedi3.dll") #nnedi3_rpow2(rfactor=2) last #info() #Frame number, video lenght and more #version() #shows installed avisynth version number ### AvsP marked script ### # # Schärfen für VHS-Video (selbst gegrabbt oder auch geladen von youtube) # # QTGMC 3.36 + ChromaShift + SMdegrain (temporal filtering) + FixVHSOversharp + AWarpSharp2(color only) + Sharpen (VideoFred) # # Laufzeitfresser: 1. QTGMC, 2. temporale Filterung # # Videofred Skript (mit 2011 Pararametern) erzeugt starke Artefaktwolken um Kanten, u.a. weil die Bewegunsabschätzung durch doppelte Frames nicht gut funktioniert # # lsfmod erzeugt wächserne Gesichter # # schärfen aus vidofrefs skript gibt die lebendigste Ansicht, überschärft aber Kanten mit leichten Halos # # # # # Open video file................................................................................................................................ # #See: http://avisynth.nl/index.php/FAQ_loading_clips#How_do_I_load_MP4.2FMKV.2FM2TS.2FEVO_into_AviSynth.3F # # #Vob # #LoadPlugin("E:\plugins\DGDecode.dll") # # 1fst pass: start DGindedx, open VOB files, run Audio > Output method > Demux all tracks, run File > Save project # #Mpeg2Source("H:\mein_pfad_zum Video.d2v") #open d2v file that you have generated before # # #progressive, nicht interlaced # # #viele andere Codecs # #loadplugin("E:\plugins\ffms2.dll") # # Vorsicht, führt zu vielen dropped frames in Videos, die MJPEG nutzen (Null-frames werden ausgelassen) # # Vorsicht, führt zu dropped frames in Videos, die Lagartih nutzen (Null-frames werden ausgelassen) # # takes a lot of time on 1st run to index the video # # gibt die Tonspur nicht wieder, so dass Audio nicht mit ausgegeben wird # # ffVideoSource("H:\mein Film.avi" ) #YUY2 takes a lot of time on 1st run to index the video # # # # AviSource ("H:\meinfilm" ) #zuverlässig, aber öffnet nicht alle Formate # #DirectshowSource ("H:\meinfilm.avi") # use this, if windows can decode the video # # Vorsicht, führt zu dropped frames in Videos, die MJPEG oder Lagarith nutzen (Null-frames werden ausgelassen) # # # # # Falls nötig, Umwandlung von TV-Levels (16...235) in PC levels................................................................................................ # # nur nötig, falls sich Luma nur von 16...235 erstreckt # # http://avisynth.nl/index.php/Luminance_levels # # #ColorYUV(levels="TV->PC") # # #oder hochwertiger # Dither=50 # # Smooth=200 # 0=faster, 100 avoids banding # # Y Levels, Gamma, Histogramm # #SmoothLevels(15,0.9,243,0,255,smooth=Smooth,dither=Dither,show=select(0,false,true) ) # #Saturation, Contrast / Farbsättigung ................................................................................................ # #SmoothTweak(Saturation=1.7,contrast=1.0,smooth=Smooth,dither=Dither,show=select(0,false,true)) # # # # #Chroma shift ................................................................................................ # #loadplugin("E:\plugins\ChromaShift.dll") #2.58 or above # import("E:\avisynth\plugins\ChromaShiftSP.avsi") # ChromaShiftSP(-2,2) #shift chroma with subpixel acuracy, + left (nur gerade Zahlen) , +up, # #ConvertToYV12() # # # # # # # # QTGMC 3.36................................................................................................ # # high quality deinterlacer with a range of features for both quality and convenience, moded version of Didée TempGaussMC_beta # #loadplugin("E:\plugins\MVtools2-2.7.dll") #2.58 or above # #loadplugin("E:\plugins\masktools2.2.17.dll") #für QTGMC 3.36 braucht 2.2.17 or above # import("E:\avisynth\plugins\smdegrain3.1.2.avsi") #für QTGMC 3.36 # #loadplugin("E:\plugins\NNEDI3.dll") # #loadplugin("E:\plugins\RemoveGrain.dll") # #loadplugin("E:\plugins\SSE2Tools.dll") #also from Removegrain packet # #loadplugin("E:\plugins\Repair.dll") # #optional # #loadplugin("E:\plugins\FFT3DFilter.dll") # for noise processing # #loadplugin("E:\plugins\DFTTest.dll") # for noise processing # #loadplugin("E:\plugins\VerticalcleanerSSE2.dll") # for noise processing # #oadCplugin("E:\plugins\yadif.dll") # # and FFTW3.dll library in Windows path # # some others for some options, see help # # import("E:\avisynth\plugins\QTGMC-3.362.avsi") #needs masktools 2.2.17 or above # # #for progressive source InputType=1 # #QTGMC( Preset=select([<"Preset (0)", 0, 7, 2>],"Very Slow", "Slower", "Slow", "Medium", "Fast", "Faster", "Very Fast", "Super Fast") ) #0.5 fps # #QTGMC( "Slower", SourceMatch=2, Lossless=2, EZKeepGrain=0.5, Sharpness=0.3 ) # a more analogue look, keeps original noise, not so sharp # #QTGMC( "Slower", SourceMatch=2, Lossless=2, EZKeepGrain=0.5, Sharpness=[<"Sharpness (0.3)", 0.1, 2.0, 0.3>] ) # a more analogue look, keeps original noise, not so sharp # #QTGMC(, preset = "slower", SourceMatch = 3, lossless = 1, NoiseProcess = 1, StabilizeNoise = False, GrainRestore = 0.0, NoiseRestore = 1.0) #keeps most of the source, 0.03 fps! # #QTGMC(InputType=1, preset = "slower") #holt mehr Details aus DVD mit progressive Video (mit "fast" jedoch nicht mehr), erhält framerate # # QTGMC("Slow", EZDenoise=2.5) #with denoising for noisy source, set EZDEnoise=1,5...? # SelectEven() #verwirft gerade frames nach Verdoppung durch QTGMC # # # #Cropping in Virdualdub ausführen mit >Null transform + >Resize (dort Faktor 16 auswählen und Größe wählen) # # geringe Verzerrungen des Aspektratio fallen beim Resizing nicht auf. Wichtiger ist es, alle Bildstörungen am Rand zu Croppen # #Für schnelleres Prozessing Script nur bis hier laufen lassen und Ergebnis zwischenspeichern (XVID, Q=2...1) # #=================================================================================================== # # # #Loadplugin("E:\plugins\FluxSmooth.dll") # #Loadplugin("E:\plugins\RemoveGrain.dll") # #LoadPlugin("E:\plugins\mt_masktools-25_v20a48.dll") # #Loadplugin("E:\plugins\mvtools2.dll") #mod needed for tr>3 # #Loadplugin("E:\plugins\NNEDI3.dll") # #Loadplugin("E:\plugins\Repair.dll") # #Loadplugin("E:\plugins\dither.dll") # # #import("E:\avisynth\plugins\SMDegrain v.2.2d.avsi") # import("E:\avisynth\plugins\SMDegrain3.1.2.avsi") # import("E:\avisynth\plugins\dither.avsi") # import("E:\avisynth\plugins\mt_xxpand_multi.avsi") # # #return last # # #temporal denoise ............................................................................................... # #SMDegrain(tr=6,thSAD=250,contrasharp=true,refinemotion=true,lsb=true) #as starting point # #SMDegrain(tr=4,thSAD=450,contrasharp=true,refinemotion=false,lsb=false) # # #SMDegrain(tr=6,thSAD=450,contrasharp=true,refinemotion=false,lsb=false) # # # #oder # import("E:\avisynth\plugins\MCDegrainSharp.avsi") # #MCDegrainSharp() #blurs areas with bad motion vectors and sharpens good areas, I use it one helluva lot, for almost every encode. # # #VHS überschärfung entfernen (nur horizontal) ............................................................................................... # #LoadPlugin("E:\plugins\RemoveGrain.dll") # #LoadPlugin("E:\plugins\mt_masktools.dll") # currently installed: Avisynth 2.6.MT (SEt's build) # #LoadPlugin("E:\plugins\FixVHSOversharp2_5.dll") # #Parameters # # #ConvertToYUY2() # #FixVHSOversharp (40,14,10) #arbeitet zeilenweise, erzeugt manchmal bei Schrift Artefakte (möglicherweise durch Rauschen) # ConvertToYV12() # # # # Farben, Farbsättigung anpassen ............................................................................................... # Dither=50 # # Smooth=200 # 0=faster, 100 avoids banding # #SmoothLevels(15,0.9,243,0,255,smooth=Smooth,dither=Dither,show=select(0,false,true) ) # #SmoothTweak(Saturation=1.3,contrast=1.0,smooth=Smooth,dither=Dither,show=select(0,false,true)) # # # # #Chroma schärfen (Flanken versteilern an Luma) ............................................................................................... # #LoadPlugin("E:\plugins\AWarpSharpMT.dll") # # aWarpSharp2(depth=14) # # aWarpSharp2(thresh=255, blur=2, type=0, depth=16, chroma=6 ) #wenn auf Luma angewendet, wirkt es wie gemalt, Details gehen verloren # # aWarpSharp2(thresh=255, blur=100, type=0, depth=64, chroma=6 ) #depth stärker mit höherer Präzision (blur) # # #oder # #aWarp(aSobel().aBlur(blur=2, type=0), depth=16, chroma=6) #crhoma edges little sharper , chroma = 4 sharpens also luma edges # aWarp(aSobel().aBlur(blur=2, type=0), depth=116, chroma=6) #stronger # # # # sharpen from Fred's 8 mm Skript ............................................................................................... # #Loadplugin("E:\plugins\warpsharp.dll") # # see https://forum.doom9.org/showthread.php?p=1865510 # # # VideoFred 2019: For me, the best way is to sharpen in steps with unsharpmask. Big radius first, then smaller radius. And some blur between the sharpening steps will help to avoid sharpening artefacts. # # Example: # # unsharpmask(30,6,0).blur(0.8).unsharpmask(30,4,0).blur(0.8).unsharpmask(30,2,0).blur(0.8) # # Play with strenght and radius from all steps and see what you get # # #parameter set 2011 # USM_sharp_ness1= 120 USM_radi_us1= 3 #first sharpening (UnsharpMask) after cleaning with removedirtMC() # USM_sharp_ness2= 80 USM_radi_us2=2 #second harpening (UnsharpMask) after cleaning with removedirtMC() # USM_sharp_ness3= 70 USM_radi_us3=1 #third sharpening (UnsharpMask) after degraining with MVDegrainMulti() # last_sharp= 0.4 #final sharpening step after interpolation # last_blur= 0.2 #this smooths out the heavy sharpening effects # # # #parameter set 2016 # sharp=1 #default: 1 # # USM_sharp_ness1= 3*sharp USM_radi_us1= 3 #first sharpening (UnsharpMask) after cleaning with removedirtMC() # USM_sharp_ness2= 2*sharp USM_radi_us2=2 #second harpening (UnsharpMask) after cleaning with removedirtMC() # USM_sharp_ness3= sharp USM_radi_us3=1 #third sharpening (UnsharpMask) after degraining with MVDegrainMulti() # last_sharp= 0.4 #final sharpening step after interpolation # last_blur= 0.8 #this smooths out the heavy sharpening effects default 0.6 # # # cleaned= unsharpmask(USM_sharp_ness1,USM_radi_us1,0)\ # .unsharpmask(USM_sharp_ness2,USM_radi_us2,0).unsharpmask(USM_sharp_ness3,USM_radi_us3,0).sharpen(last_sharp).sharpen(last_sharp).blur(last_blur) # cleaned #loads the cleaned clip # # # # # some additional sharpening if required ................................................................................................ # Import("E:\avisynth\plugins\LimitedSharpenFaster.avs") # #Applies a strong sharpening to edges and fine details by controlling halos and minimising artifacts # #LimitedSharpenFaster(ss_x=1.0,ss_y=1.0,smode=4, strength=100 ) #default # LimitedSharpenFaster(ss_x=4.0,ss_y=4.0,smode=4, strength=240 ) # #LimitedSharpenFaster(ss_x=1.0,ss_y=1.0,smode=1, strength=240 ) # # #sharpen(0.4).sharpen(0.4).blur(0.4) # # # # deblur ................................................................................................ # # verändert Luma, Ergbenisse (Focus) nicht besser als mit Freds Video Script # #assumefieldbased() # #FQRestore() #slow focur(deblur) in FFT domain, see http://www.avisynth.nl/users/vcmohan/FQSharp/FQRestore.html # #FQRestore(x=1, y=1,fr=20,line=false) #slow focur(deblur) in FFT domain, see http://www.avisynth.nl/users/vcmohan/FQSharp/FQRestore.html # # # # hochskalieren ............................................................................................... # # using "NNEDI3_rpow2(rfactor=2)" to blow up the image size by 2x, then downsize with a "classic" resizer to the final resolution # #Loadplugin("E:\plugins\nnedi3.dll") # #nnedi3_rpow2(rfactor=2) # last # # #info() #Frame number, video lenght and more # #version() #shows installed avisynth version number ### AvsP marked script ###