Hallo,
ich bin nun unter die analogen TV-Capturerer gegangen. Aufnahme mittels VirtualVCR klappt gut, nur bei AviSynth stehe ich ein wenig auf dem Schlauch.
Wenn ich "normale" Plug-Ins/Filter verwende klappt das noch ganz gut.
AviSource("F:\Captured\Videos\nacht.avi")Trim(1900,127398)RemoveGrain(mode=2)RemoveDirt()MSharpen(15,100,true,false,false)Tweak(hue=0.00,sat=1.1,bright=2.5,cont=1.0) LanczosResize(656,544,10,4,680,564)AddBorders(32,16,32,16)
Nachteil bei diesem seeehr einfachen :redface: Script: Extreme Weichzeichnung, recht hoher Detailverlust.
(Die Qualität des gecapturten Films war aber eh nicht so dolle)
Da am Ende eine DVD herauskommen soll, habe ich auf das deinterlacen verzichtet. Das ist korrekt so, oder?
Nun wollte ich ein wenig mit Didées Filtern experimentieren, vor allem mit MCNR_simple zwecks besserem entrauschen.
Ich habe mittlerweile gelernt, dass es sich hierbei um eine benutzerdefinierte Funktion handelt. Denn nur so
MCNR_simple1( frames=2, thY=8, thC=6, thY2=-1, thC2=-1, \ blocksize=16, chroME=false, repairME=true, removdirt=false, \ LPrad=0.0, LPlosens=1, LPhisens=5 )
klappt das natürlich nicht.
Die benötigten Plug-Ins liegen im AviSynth Plug-In-Ordner, doch irgendwie weiß ich nicht (trotz Anleitung) wie und wo ich diese mit
beginnende Funktion in das Script einfügen soll.
Wenn ich nämlich die Anleitung komplett übernehme
AviSource("F:\Captured\Videos\nacht.avi")
Trim(1900,127398)
function MCNR_simple2( frames=3, thY2=20, thC2=12, thY=3, thC=2,
\ blocksize=16, chroME=false, repairME=true, removdirt=true,
\ LPrad=2.5, LPlosens=2, LPhisens=6 )
{
frames = default( frames, 2 ) # number of temporal neighbors to use for motion compensation & temporal filtering
thY = default( thY, 8 ) # upper thresh for pixel differences to include into temporal filtering
thC = default( thC, 6 ) # ditto, for chroma
thY2 = default( thY2, -1 ) # lower diff. thresh, for TTempSmooth (= -1 --> use TemporalSoften, not TTempSmooth)
thC2 = default( thC2, -1 ) # ditto, for chroma
blocksize = default( blocksize, 16 ) # blocksize for motion search & compensation
removdirt = default( removdirt,false) # additionally use RemoveDirt? (tip: for strong noise - true, else false. Requires frames>1)
chroME = default( chroME, false) # include chroma planes into motion search?
repairME = default( repairME, true ) # simple repairing of MC/ME errors (good when using bigger thresh's).
LPrad = default( LPrad, 0.0 ) # Lowpass protection: radius for gaussian blur
LPlosens = default( LPlosens, 1 ) # LP protection: lower thresh for motion recognition
LPhisens = default( LPhisens, 5 ) # LP protection: upper thresh for motion recognition
frames = (frames<1) ? 1 : (frames>4) ? 4 : frames
removdirt = (frames==1) ? false : removdirt
LPhisens = (LPhisens>LPlosens) ? LPhisens : LPlosens+1
dummy = blankclip(clp,width=64,height=32)
global idx_counter = idx_counter + 1
bw4 = (frames<4) ? dummy : clp.SrchCmpRp(blocksize,true, 4,chroME,repairME)
bw3 = (frames<3) ? dummy : clp.SrchCmpRp(blocksize,true, 3,chroME,repairME)
bw2 = (frames<2) ? dummy : clp.SrchCmpRp(blocksize,true, 2,chroME,repairME)
bw1 = clp.SrchCmpRp(blocksize,true, 1,chroME,repairME)
fw1 = clp.SrchCmpRp(blocksize,false,1,chroME,repairME)
fw2 = (frames<2) ? dummy : clp.SrchCmpRp(blocksize,false,2,chroME,repairME)
fw3 = (frames<3) ? dummy : clp.SrchCmpRp(blocksize,false,3,chroME,repairME)
fw4 = (frames<4) ? dummy : clp.SrchCmpRp(blocksize,false,4,chroME,repairME)
frames == 1 ? interleave( bw1,clp,fw1 ) : \
frames == 2 ? interleave( bw2,bw1,clp,fw1,fw2 ) : \
frames == 3 ? interleave( bw3,bw2,bw1,clp,fw1,fw2,fw3 ) : \
interleave( bw4,bw3,bw2,bw1,clp,fw1,fw2,fw3,fw4 )
removdirt ? removedirt() : last
(thY2 < 0) || (thC2 < 0) ? temporalsoften(frames,thY,thC,32,2)
\ : ttempsmooth(frames,thY,thC,thY2,thC2,5,24)
selectevery(frames*2+1,frames)
LPrad < 1.01 ? last : LPprotect(last,clp,LPrad,LPlosens,LPhisens)
return( last )
}
MSharpen(15,100,true,false,false)
Tweak(hue=0.00,sat=1.1,bright=2.5,cont=1.0)
LanczosResize(656,544,10,4,680,564)
AddBorders(32,16,32,16)
Alles anzeigen
erscheint diese Fehlermeldung:
ZitatScript Error: expected a, or )
(F:\Captured\Videos\nacht.avs, line, column 30)
Irgendetwas mache ich da wohl völlig falsch, oder?
Kann mir jemand bitte meine Unwissenheit durch ein einfaches Beispiel austreiben?