Levels bei dunklen Videos

  • Hi,

    ich capture z. Zt. meine alten VHS Kassetten und lass diese dann von AVI2SVCD in SVCD`s umrechen. Verwendeter Encoder CCE. Dabei ist mir aufgefallen das einige Videos nach dem Umrechnen noch dunkler sind als das Original.
    Hab mich dann hier im Forum umgeschaut und hab in einem Thread was von "Levels" gelesen und diesen auch sofort getestet. Das funzt auch ganz gut aber:

    Die Videos haben schon beim abspielen streifen bzw. ein flimmern in der Horizontalen, das nach dem aufhellen noch viel deutlicher zu sehen ist.
    Habe dann um diese hellen Streifen zu entfernen den Rauschfilter temporalcleaner(3,6) benutzt. Leider mit wenig Erfolg. Danach hab ich den Convolution3D (0, 32, 128, 32, 128, 10, 0) s. SVCD guide benutzt. Dieser "zermatscht" (unscharf) das Video aber mächtig bzw. tritt so ein Ghosteffekt auf.

    Wie kann ich das Script anpassen, dass ich bei dunklen Szenen auch was sehe, ohne das die Streifen noch verstärkt werden?

    mein Script:
    plugins laden
    avi laden
    resize
    deinterlace
    levels
    Convo3D

    Hab auch schon Levels und Convo3D getauscht. Hat an der Quali nix geändert, nur der CCE war noch langsamer als er ohnehin schon mit dem script ist. Sobald ich den Convo3D benutze wirds laaaaaaangsam.

    Danke schon mal. Hoffe ihr könnt mir noch viel Tipps geben.

  • Noch besser wäre das resizen zum Schluss zu machen. So werden eventuel auftretende Fehler minimiert und die Filter haben mehr infos zum Bearbeiten. Das einzige was ich nach einem resize noch mache sind Untertitel.

    AC-Chan(Robert Vincenz)
    PS: Wir sollten mal Stickie eine Reinfolge von Filtern erstellen.

    AC-Sama(Robert Vincenz)
    (werde für das -Chan zu alt :zunge: )

  • Danke für die schnellen Antworten!

    @Scharfis
    interlaced lassen oder deinterlacen ist so eine Sache :mad: wie deine sig. schon sagt.
    Das ist für mich alles noch Neuland, ich gehe noch strickt nach dem Guide bei Gleitz vor. Sobald ich "Kämme" erkennen kann wird deinterlaced, da ich schon ca. 15 CD`s in den Müll geschmissen hab, weil die Kämme dann auch auf dem TV zu sehen waren (ohne deinterlace)? Ich hab schon oft gelesen die avi`s interlaced zu lassen, weil das auf dem TV nicht sichtbar ist. Irgendwie raff ich diese Geschichte nicht ganz. Oder ist das wieder vom DVD Player, TV abhängig?

    @scharfis und ac-chan
    resize hatte ich Anfangs auch gegen Ende des Scripts. Hab da wohl ein Denkfehler, dachte resize vor allen anderen Filtern ist besser und schneller da das Video schon einen kleinere Auflösung hat.
    Ok, ich häng den resize wieder ans Ende :ja:

    So ein Stickie wär echte super!

  • wenn interlaCE am tv sichtbar ist, hast Du falsch resized!
    ein interlaced-resize geht so:
    separatefields().bicubicresize(x,y).weaVE()

    wobei x die neue Breite und
    y die Haelfte der neuen Höhe darstellt.

    wenn Du auf 640x480 resizen willst muss es also
    separatefields().bicubicresize(640,240).weaVE()
    benutzen


    wenn man kämme sieht, heisst das nicht zwangsläufig, dass das video auch 'echt' interlaced ist.

    Telecide(order=1,post=0) anstelle des Deinterlacers hilft manchmal wunder!

  • ok, ich werd das alles mal testen. momentan läuft ein test mit folgendem script

    LoadPlugin("C:\PROGRA~1\DVD2SVCD\AVISYN~1.5PL\Mpeg2dec\MPEG2D~1.DLL")
    LoadPlugin("C:\PROGRA~1\DVD2SVCD\AVISYN~1.5PL\InverseTelecine\decomb.dll")
    LoadPlugin("C:\Programme\DVD2SVCD\Avisynth2.5 Plugins\convol\Convolution3D.dll")
    LoadPlugin("C:\Programme\DVD2SVCD\Avisynth2.5 Plugins\undot\undot.dll")
    AVISource("D:\HDD\fete1_t.AVI",False)
    Levels(0,1.3,255,0,255)
    Convolution3D (0, 32, 128, 32, 128, 10, 0)
    undot()
    fielddeinterlace(full=false)
    LanczosResize(448,544,6,32,692,512)
    AddBorders(16,16,16,16)

    sah im MediaPlayer als avs ganz gut aus. wie es dann auf dem tv aussieht??? gibts da ne möglichkeit das zu testen ohne jedesmal ne CD zu brennen? mein DVD liest keine CD RW.

    sorry, noch ein paar fragen
    1.wie erkenn ich "echtes" interlaced? wenn nach dem resize mit separatefields und dem telecide noch kämme da sind?

    2. was kann an meinem sript verbessert werden? oder ist das schrott :hm:

  • Ich weiß nicht, ob es so sinnvoll ist, erst Rauschminderung durchzuführen (Conv.3D, UnDot), und danach erst zu deinterlacen. Ich würde das anders herum machen, weil in den interlaceten bereichen eben gerade nicht rauschgemindert wird, weil da die Kontraste so hoch sind.

  • hab heute noch mal mit der von scharfis brain vorgeschlagenen methode getestet 'separatefields().bicubicresize(x,y).weaVE()'
    das sieht schon besser aus.
    jetzt hab ich mir folgendes script gebastelt, hab hier darüber was gelesen http://forum.gleitz.info/showthread.php…ight=interlaced

    script:
    LoadPlugin("C:\PROGRA~1\DVD2SVCD\AVISYN~1.5PL\Mpeg2dec\MPEG2D~1.DLL")
    LoadPlugin("C:\PROGRA~1\DVD2SVCD\AVISYN~1.5PL\InverseTelecine\decomb.dll")
    LoadPlugin("C:\Programme\DVD2SVCD\Avisynth2.5 Plugins\convol\Convolution3D.dll")
    #LoadPlugin("C:\Programme\DVD2SVCD\Avisynth2.5 Plugins\temporalcleaner\temporalcleaner.dll")
    LoadPlugin("C:\Programme\DVD2SVCD\Avisynth2.5 Plugins\undot\undot.dll")
    AVISource("D:\HDD\fete2_t.AVI",False)
    #AssumeFieldBased
    telecide()
    SeparateFields()
    bfield = SelectOdd().Convolution3D (0, 32, 128, 16, 64, 10, 0).undot().Levels(0,1.3,255,0,255)
    tfield = SelectEven().Convolution3D (0, 32, 128, 16, 64, 10, 0).undot().Levels(0,1.3,255,0,255)
    interleave(bfield,tfield)
    BicubicResize(448,240,0,0.6,16,22,672,240).weave()
    AddBorders(16,48,16,48)

    das video sieht im MediaPlayer richtig gut aus. aber das encoden dauert ewig, ich hab ausgerechnet das der CCE für 100min Video ca. 12h rechnet. wie lange dauert das bei euch im schnitt? (mein PC XP2400+ 512MB, 120Gb Seagate 8MB Cache)

    achja eine letzte Frage noch: Telecide(order=1,post=0) funzt bei mir nicht. VdubMod stürzt ohne FM ab?! was bedeuten die parameter? hab in der hilfe nix gefunden.

    Danke an alle die geholfen haben. echt klasse hier! :daumen:

  • a) Du wertest bei Levels() nur das Gamma auf! Eine typische Falle, denn Videos sehen am PC meist dunkler aus und werden am TV dann richtig dargestellt, daher würde ich mal lieber die Finger vom Gamma lassen, wenn du dich damit nicht auskennst. Was bei mir aber bei vielen Captures der Fall ist, dass die "Tiefen" und "Höhen" in den Broadcastings nicht stimmen.
    Sehe mal bei Avisynth.org nach, dort findest du eine Methode, wie du mit Vdub die richtigen werte für Levels() in Avisynth finden kannst.

    b) Die Encodierzeit ist für eine (effektive) 2000mhz CPU viel zu lang! Convo3d nimmt zwar was an Leistung, aber 600%ige Enkodierzeit ist heavy!

    c) Wenn Vdub abstürzt, kanns an deiner AvisynthVersion liegen (2.0x, oder 2.5x??) oder du hast einen Filterkonflikt im PluginsOrdner, ... das hatte ich auch mal, als ich das Teil voll mit Filtern hatte, ... daher ziehe ich jetzt lieber "generell" die LoadPluginMethode vor. ;)

  • Zu a): Gamma-Korrektur ist tatsächlich nur sinnvoll, wenn man das Ergebnis am PC-Monitor sehen will; der Fernsehbildschirm hat seinerseits ebenfalls einen höheren Gamma-Wert als ein Monitor. Aber mit der Farbigkeit ist es ähnlich: Auch die wird beim Fernseher zum Teil etwas satter dargestellt.

Jetzt mitmachen!

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