Analog Capture nachbearbeiten

  • Hi,

    nachdem ich jetzt mit VirtualDubVCR und meiner BT878 Hauppauge Karte endlich das erste analoge Band auf meinen Rechner gebannt habe will ich nun über AviSysnth zu einem ordentlichen Material kommen. Leider will mir das nicht so recht gelingen.
    Mein Script sieht bisher so aus:

    Code
    AviSource("F:\VHS-Digitalisierung\test.14.avi",true,"YUY2")
    TomsMoComp(-1,5,0)
    #UnDot().PeachSmoother()
    ConvertToYV12()
    convolution3d(preset="vhsBQ")
    ConvertBackToYUY2()
    
    
    ColorYUV(levels="PC->TV")

    Auf den Scriptinhalt bin ich beim durcharbeiten diverser Forenbeiträge und der Analog Capture Guides gestoßen. Leider bin ich mit dem Ergebnis alles andere als zufrieden. Das Bild, besonders der Hintergrund, scheint immer noch wie zu schwimmen. Die wichtigsten Inhalte des Bildes (Personen im Vordergrund) sind soweit ordentlich zu erkennen, aber der Hintergrund macht was er will. Sorry, weiß leider nicht wie ich das sonst beschreiben soll. Vielleicht ist das nur ein sehr starkes Rauschen was mich da stört, aber weder der Einsatz von PeachSmoother noch von Convolution3D brachte mich merklich weiter. :(
    Hat jemand noch einen Tip? Ich weiß leider langsam nicht mehr weiter ...

    Grüße
    Dietmar

  • Zitat von Dietmar


    nachdem ich jetzt mit VirtualDubVCR und meiner BT878 Hauppauge Karte endlich das erste analoge Band auf meinen Rechner gebannt habe will ich nun über AviSysnth zu einem ordentlichen Material kommen. Leider will mir das nicht so recht gelingen.
    ...
    Vielleicht ist das nur ein sehr starkes Rauschen was mich da stört, aber weder der Einsatz von PeachSmoother noch von Convolution3D brachte mich merklich weiter. :(
    Hat jemand noch einen Tip? Ich weiß leider langsam nicht mehr weiter ...


    Hast Du es mal ohne Filter probiert? Mit den falschen Einstellungen kann man sich eine gute Quelle schnell "kaputtfiltern".
    Der Convolution3D mit diesem Preset VHSBadQuality bügelt da auch ganz schön was weg, vielleicht mal mit DVD Noisy Source oder so probieren.
    Ein Screenshot/ Schnipsel des Ausgangsmaterials könnte auch helfen, um zu beurteilen, was eigentlich gemacht werden muß.


    Zap

    "Wer grundlegende Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu gewinnen, verdient weder Freiheit noch Sicherheit."
    Benjamin Franklin

    mein Rechenknecht

  • ui, das ist schon ganz schön schlecht.
    vielleicht kannst du beim VCR noch was an der Spur drehen (Tracking), um die Qualität zu erhöhen?
    Ansonsten solltest Du (bei einem Interlace-Capture, was du hoffentlich gemacht hast :D ) vor dem Anwenden von Filtern (besonders Convolution3D) mit:

    Code
    separateFields()
    >Filter<
    Weave()


    die Felder trennen und dann wieder verbinden. Sonst werden die zwei Halbbilder vermanscht...

    Zap

    EDIT: achja, und du hast in HuffYUV aufgezeichnet wie im Guide empfohlen?

    "Wer grundlegende Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu gewinnen, verdient weder Freiheit noch Sicherheit."
    Benjamin Franklin

    mein Rechenknecht

  • Ja, in HuffYUV hab ich aufgezeichnet. An der Spur kann ich nicht drehen, mein VCR hat sowas nicht.
    Das Script Deinterlaced ja zuerst über "TomsMoComp(-1,5,0)", dann ist doch das separate und weave überflüssig, oder? Also mein Script ist wirklich nur so, wie das was ich gepostet hab.

  • TomsMoComb ist gut, ja, aber um das hier sauber deinterlacen zu können, müsste er ein Wunder vollbringen. Also erst die Filterung wie von ZapBee vorgeschlagen und dann erst deinterlacen.

  • Zitat von scharfis_brain

    probiere mal

    SwapFields()

    :ja: Jawoll!!!

    Also mein Script sieht jetzt wie folgt aus:

    Ist das jetzt soweit i.O. oder hab ich da irgendeine Funktion doppelt drin bzw. in ungünstiger Reihenfolge? Das Bild ist durch das swapFields() zwar sehr viel besser geworden (Kanten sind viel schärfer als vorher), aber das Rauschen ist noch nicht wirklich weg. Könnte ich sonst noch irgendwas testen oder war's das dann? Im Anhang nochmal ein aktuelles Bild.

  • nach der Anwendung von swapfields() scheint das video progressive zu sein.
    D.h. Du kannst separatefields() und weave() weglassen!

    ausserdem solltest Du Dich unbedingt mal im Dschungel der denoiser umschauen!

    Pixiedust() aus dustv5.dll ist z.B. recht gut!

    Und gegen diese Massive überschärfung kannt Du ja mal blinddehalo3() von Didée probieren!
    findest Du bei http://forum.doom9.org

  • oder ...FluxSmoothST (7,7)
    ist auch sehr sehr gut für Captures. Filtert unheimlich was weg und erhält dennoch die
    Details.
    PixieDust ist natürlich super, allerdings dauert es ewig damit.

  • Ok, ich hab jetzt noch BindDeHalo3 und FluxSmoothST mit reingenommen. Wird immer besser. Aber ist das bereits verwendete Convolution3d nicht auch schon ein denoiser? Ist es dann jetzt nicht doppelt gemoppelt?

  • Und noch eine Frage. Bei meinem Material ist es jetzt so, dass oben ein schwarzer Balken ist (durch das TopBoarder ändern im BT8x8 Tweaker) und der linke Rad ist recht schlecht (sicher technisch Bedingt). Solange man sich die DVD dann nur auf einem 4:3 TV anschaut ist das ja egal, aber wenn die DVD jemand an einem Plasma anschaut sieht er doch das gesamte Bild, und damit auch diese unschönen Seiten. Sollte mir das egal sein und ich es so lassen oder noch beginnen zu croppen und dann zu resizen um wieder auf meine 720x576 Pixel zu kommen?

  • croppen: ja, da das auch die Komprimierbarkeit erhöht.

    Aber wie Scharfis_brain schon sagte nach Möglichkeit (wenns eine DVD werden soll) nicht resizen (v.a. vertikal nicht!), sondern die weggecroppten Ränder durch Addborders wieder schwarz anfügen.

    Außer du wandelst in MPEG4, dann musst du je nach Datenrate resizen um ausreichende Komprimierbarkeit zu erhalten bzw. um das richtige AR zu erzielen. Such mal im Forum

    Bei Crop sicherheitshalber nur gerade Werte verwenden.

    Bei Addborders für die Ränder möglichst durch 16 od. 8 od. zumindest 4 teilbare Werte verwenden um dem Encoder die Arbeit zu erleichtern.

    Beispiel:
    avisource(...)
    crop(4, 0, -12, -16) # li 4, ob 0, re 12, un 16 (alles gerade Zahlen)
    Denoise usw.
    addborders(8, 8, 8, 8) # li, ob, re, un jeweils 8 (alles teilbar durch 16, 8 od. 4)

    Dadurch hat der Clip wieder die Ursprungsauflösung und der Bildinhalt wurde exakt in die Mitte gerückt.


    Und ja: auch Conv3d ist ein Denoiser - genaugenommen ein spatialer+temporaler. Ich würde nach Möglichkeit auf einen spatialen und einen temporalen Denoiser beschränken oder einen kombinierten benutzen. Zusätzlich nur noch Undot (immer!).

    Gute Ergebnisse habe ich bei analogen Capture z.B. damit erzielt (Werte für mthreshold, pthreshold und scdthr anpassen!):
    Cnr2(mode="oxx",scdthr=10,ln=35,lm=192,un=60,um=255,vn=60,vm=255,log=false,sceneChroma=false)
    RemoveDirt(mthreshold=50,pthreshold=20)
    UnDot()

  • Ok, undot ist auch sinnvoll. Steht jetzt auch mit drin. Ist es schlimm wenn ich Convolution3D und FluxSmoothST zusammen nutze? Ich find die aktuellen Ergebnisse sehen recht gut aus.
    Das croppen und mit AddBorders hab ich auch so gemacht wie gesagt. Kam ich inzwischen selbst drauf, denn leider kam seit gestern keine Mail mit Hinweis auf neue Beiträge mehr.
    Hier nochmal mein aktuelles Script:

    Kann ich das so lassen oder sind da noch schwerwiegende Fehler drin?

  • Braucht einer der Filter tats. zwingend YV12?

    Statt Addborders(4,14,4,14) würde ich Addborders(4,16,4,12) od. Addborders(4,16,4,12) verwenden, da dann der eine Rand oben bzw. unten genau Makroblockbreite hat und der gegenüber zumindest durch 4 teilbar ist. Das spart Bitrate bzw. bringt Komprimierbarkeit und Speed.

    Natürlich ist es nicht "schlimm", wenn du mehrere Filter verwendest - wenn das Ergebnis stimmt ist's OK.

  • Zitat von grua

    Braucht einer der Filter tats. zwingend YV12?

    Statt Addborders(4,14,4,14) würde ich Addborders(4,16,4,12) od. Addborders(4,16,4,12) verwenden, da dann der eine Rand oben bzw. unten genau Makroblockbreite hat und der gegenüber zumindest durch 4 teilbar ist. Das spart Bitrate bzw. bringt Komprimierbarkeit und Speed.

    Convolution3D wollte YV12, sonst hätt ich es nicht reingenommen. Ich pack's auf DVD und da hab ich erstmal Platz für ausreichend Bitrate. Ich denke ich lass lieber so viel Material wie möglich vom Original da.

  • Zitat von Dietmar

    Ich denke ich lass lieber so viel Material wie möglich vom Original da.

    Mein Vorschlag Addborders(4,16,4,12) schneidet ja nicht mehr weg als Addborders(4,14,4,14), sondern verschiebt das Bild nur um 2 Pixel weiter nach unten. Diese Aussermittigkeit sieht kein Mensch, der volle Bildinhalt bleibt weiterhin vorhanden, und es bringt was!

  • Nach meinem geschmack zu viel Denoise Filters....
    Covulution3d und noch FluxSmooth...beides einzeln schon sehr stark.
    Habe ich auch früher immer viel zusammen reingehauen..

    Momentan nehme ich immer wenig ins Script.
    Also einen räumlichen und einen zeitlichen oder einen räumlichzeitlichen allein....

    Viele Denoiser verweichen teils zu viel und verlängern unnötig das encoding.
    Selbst bei sehr verrauschten Analog Captures reicht mir zb PixieDust oder FluxSmooth(7,7) mit noch Undot() dazu völlig.

    Gruss

Jetzt mitmachen!

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