Standardscripts (bevorzugt für capture)

  • Habt ihr denn bevorzugte "Standardscripte" die man bei einem Großteil der Videos (je nachdem was man machen will) anwenden kann? Mein Wissen bezüglich AviSynth geht nicht über ganz primitive Sachen wie Crop() oder Resize-Filter oder Mono->Stereo sowie zusammenschneiden mehrere Clips hinaus. Es gibt zu jeden Gebiet meherer Filter und ich kenne selten den Unterschied zwischen den einzelnen Sachen. Ich habe einmal damit begonnen mich mehr mit dem Thema zu beschäftgen, aber inzwischen fehlt mir die Zeit dazu. Wenn's dann noch interlaced Material ist, kann ich ganz vergessen. Ein paar gute Sachen die funktionierten habe ich gefunden. Aber da das Thema interlaced mir zu komplex ist, als das ich mich darin noch reinlesen könnte (zur Zeit), muss ich wohl dazu übergehen ungeachtet aller Hinweise generell ein deinterlacing durchzuführen. Da fällt mir die Sache einfacher und ich finde ggf. auch selber eine Lösung, falls mal etwas von der Norm (wie auch immer diese aussehen sollte) abweicht.

    Ich möchte hier niemanden bitten, noch groß und breit Sachen zu erklären, die schon 1001x gepostet wurden. Wenn jemand ein Script hat (ggf. mit Rauschfilter oder so), dass sich auf einen bestimmten Bereich (mich interessiert das vor allem für's Capture) anwenden lässt, bitte ich um einen kurzen Post. De-Interlacing ausdrücklich erwünscht. :ja: Wenn einer noch die ultimative Filtereinstellung gefunden hat ... das gleiche.

    Ein kluger Mann widerspricht keiner Frau ... er wartet bis sie es selbst tut.

  • kenne ich: wenig Zeit, soll aber trotzdem was werden... Habe mir daher eine Standard-Vorgehensweise fürs Xvid-Encoding von Analog-TV-Captures zugelegt:

    1) Deinterlacing
    AviSource("H:\Film-Capture\capture.avi")
    ############################
    # 1. Schritt:
    # Gecapptes Video in VDub laden und bei 200% durchscrollen.
    # Sind Kaemme sichbar Schritt 2, sonst fertig
    ############################
    # 2. Schritt (field shift):
    #"Telecide(order=1,guide=2,post=0)"
    # in Virtualdub laden und nochmals durchscrollen,
    # sind jetzt immer noch Kaemme vorhanden, order=0 versuchen
    # Sind die Kaemme weg -> fertig ansonsten Schritt 3
    ############################
    # 3. Schritt (interlaced):
    # Telecide rauswerfen und ersetzen durch
    #"Fielddeinterlace(blend=false)"


    2) Crop und Werbung rausschneiden
    AviSource("H:\Film-Capture\capture.avi")
    Trim(a1,e1)+...+Trim(an,en)
    ggf. Deinterlacing lt. obigem Punkt 1
    Crop(li,re,-ob,-un)
    UnDot()
    FadeOut2(50)
    saturation=1.2
    cu=-(1-saturation)*256
    ColorYUV(off_y=0,gain_y=3,cont_u=cu,cont_v=cu)
    Die letzten 3 Zeilen muss mal nur ein einziges Mal mittels Histogram() richtig einstellen und können dann immer mit den selben Werten übernommen werden.


    3) Rauschfilter vorbereiten
    Für Analog-TV-Captures verwende ich PeachSmoother. Den kann man (wenn man den Aufwand treiben will) optimieren: In obiges Skript füge ich ganz unten ein "PeachSmoother(Dot=true, ReadOut=true)" und ermittle damit in VDub in einer Szene mit wenig Bewegung die optimalen Werte für die PeachSmoother-Parameter NoiseLevel und BaseLine: Skript öffnen, an eine Szene mit wenig Bewegung springen und dann Play. Falls der Dot (grüner Punkt rechts oben) nicht angezeigt wird, dann andere Stelle im Video versuchen.
    Nach dem Bestimmen der Werte lösche ich die eingefügte Zeile wieder raus und füge dafür ein:
    PeachSmootherNoiseLevel = x
    PeachSmootherBaseLine = y
    Wobei x u. y die obgen ermittelten Werte darstellen.
    Diesen Piunkt 3 kann man (wenns schnell gehen soll) auch weglassen.


    4) AVSOptimizer --> Rauschfilter
    Obiges Skript öffne ich in ARCalculator und lasse in einen ersten XviD-pass mittels NewAVSOptimizer automatisch (über Nacht) ein Script mit szenenabhängigen Rausch- und Resize-Filtern erstellen. Dazu verwende ich mein unter http://forum.gleitz.info/showthread.php?p=86778#post86778 gepostete Profil für Analog Captures (PeachSmoother u. VagueDenoiser, je nach XviD Komplexität der einzelnen Szenen).
    Falls man Punkt 3 ausgelassen hat muss man die Parameter NoiseLevel u. BaseLine aus den PeachSmoother-Aufrufen des Profils rauslöschen (Profil editieren). Es werden dann die Standardwerte verwendet.


    5) CompCheck
    Mit dem mittels ARCalculator automatisch erstellten Anti-Noise-Skript führe ich nun noch einen CompCheck in GKnot durch u. korrigiere evtl. noch die Resize-Größe um ca. 70% zu erzielen; dabei gehe ich aber nicht unter eine horiz. Auflösung von 512.
    Der Punkt kann aber nach Belieben auch entfallen.


    6) XviD
    Nun wird mit VDub mittels oben erstelltem Skript in Xvid encoded (möglichst nur 1 CD Rips --> Bitraten meist um die 800 kBit/s).


    Geht mittlerweile eigentlich recht rasch. Das Encoden selbst braucht zwar aufgrund des erforderlichen zusätzlichen AVSOptimizer-Passes recht lange, aber die Arbeit welche mich selbst bindet ist aufgrund der Standard-Vorgehensweise relativ kurz! Und die Ergebnisse sind m.E. super! V.a. erzeugt der NewAVSOptimizer ein um ca. 10% höher kompirimierbares Video bei visuell echt guter Qualität!

    cu, grua

  • Genau das habe ich gemeint. Aber das scheint ja nicht verbreitet zu sein. Basteln etwas alle Leute täglich neue Scripts? Wohl dem der's kann.

    @ grua

    Deine Punkte 1 bis 3 sind für mich besondern interessant, vor allem Punk 1 Deinterlacing. Ich erstelle so gut wie nie etwas anderes als MPEG um die dann auch gleich zu brennen, was anderes lohnt nicht bei mir. Deine Ausführungen dürften aber auch bei DVD/VCD/SVCD-Erstellungen funktionieren (bis Punkt 3).

    Ein kluger Mann widerspricht keiner Frau ... er wartet bis sie es selbst tut.

  • ja, Punkte 1 bis 3 funktioniert natürlich auch für andere Encodes als XviD, wie z.B. SVCD. Nur den ARCalculator / NewAVSOptimizer kannst du dann nicht verwenden, der klappt nur für XviD.

    Aber du kannst mit den in Punkt 3 ermittelten Werten für Noiselevel und Baseline ja ohne weiteres einen Aufruf "PeachSmoother(Noiselevel=x,Baseline=y) gleich nach UnDot() einfügen.

    Anschl. dann z.B. Resize u. AddBorders lt. FitCD.

    Das Skript sieht dann z.B. so aus:

    AviSource("H:\Film-Capture\capture.avi")
    Trim(a1,e1)+...+Trim(an,en)
    ggf. Deinterlacing lt. obigem Punkt 1
    Crop(li,re,-ob,-un)
    UnDot()
    PeachSmoother(Noiselevel=x,Baseline=y)
    FadeOut2(50)
    Resize lt. FitCD
    AddBorders lt. FitCD
    saturation=1.2
    cu=-(1-saturation)*256
    ColorYUV(off_y=0,gain_y=3,cont_u=cu,cont_v=cu)

    Viel Spaß, grua

  • Danke nochmal. Mich wundert aber, dass wir beide die einzigen sind die nach dieser Methode verfahren (müssen). Individueller Scriptbau scheint ja angesagt zu sein.

    Ein kluger Mann widerspricht keiner Frau ... er wartet bis sie es selbst tut.

  • Was spricht denn eigentlich gegen ein deinterlacing mit Bob()?????? Einen Grund muss es ja haben, dass du den Filter nicht nimmst.

    Ein kluger Mann widerspricht keiner Frau ... er wartet bis sie es selbst tut.

  • da ich fast ausschließlich Kinofilme aufzeichne, ist Deinterlacing sehr selten erforderlich. Und die wenigen Serien (Ein echter Wiener geht nicht unter, Sex and the City) funktionierten mit obigen Rezept recht gut.

    cu, grua

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!