Ergebnis 1 bis 6 von 6
  1. #1
    Mitglied Avatar von gleisse
    Registriert seit
    Oct 2005
    Beiträge
    1.742

    Standard Tutorial: TV-Logo entfernen mit DeLogo und GordianKnot

    Mitschnitte von TV-Sendungen sehen meist so aus --> Beispiel.avi. Ich möchte hier zeigen, wie man bei Mitschnitten in "einem Rutsch" encoded und das Logo entfernt.


    Was brauchen wir:

    Gordian Knot
    XviD-Codec
    VirtualDubMod
    DeLogo 1.3.2 Filter
    Beispiel-MPEG (Teil1, Teil2)

    Hinweis: Im GordianKnot-Paket sind schon XviD-Codec und VDMod enthalten.

    Installiert GK und kopiert den DeLogo-Filter in das Plugin-Verzeichnis von VirtualDubMod.


    1. Filmdatei vorbereiten

    GordianKnot starten und "VOBs vorbereiten" wählen.

    Die Filmdatei öffnen und mit "Save Project" abspeichern. Ihr erhaltet eine "Beispiel.d2v" und die demuxte Tonspur "Beispiel T01 2_0ch 448Kbps DELAY 0ms.ac3".


    Wenn Ihr den AC3-Ton beibehalten wollt geht es gleich bei 3. weiter und Ihr könnt Punkt 2 überspringen.

    2. Tonspur umwandeln.

    Besweet starten, die Tonspur (AC3 oder mpa) bei Input auswählen, Profile "DSPguru_MP3_for_AVI" doppelklicken und dann den Button AC3 to MP3.

    Das dauert jetzt einen Moment und Ihr erhaltet eine mp3 "Beispiel T01 2_0ch 448Kbps DELAY 0ms.mp3".

    3. Bitrate einstellen

    Öffnet die "Beispiel.d2v" und ladet die Tonspur bei Audio A.

    Stellt die den Codec und die gewünschte Endgröße ein. (Bei einer Serienfolge von 40 Minuten z.B. 1CD = 695MB und Number CD auf 1/2 CD, da wir ja eine Endgröße von 350MB wollen.)

    4. Auflösung einstellen

    Einmal auf Auto Crop klicken um die schwarzen Ränder zu entfernen. Das Ergebnis kann auch manuell angepasst und Dank des Vorschaufenster kontrolliert werden.

    Auflösung einstellen z.B. 640 x 352 für 16:9 Bild.

    Seid Ihr mit Euren Einstellungen zufrieden im Vorschaufenster auf "Speichern und Encoden".


    5. Filter einstellen

    Resize Filter "Lanczos (scharf)" und Field Deinterlace wählen.

    Auf "Bearbeiten" klicken. Es öffnet sich ein Fenster mit dem AviSynth-Script, welches folgendermassen aussehen sollte:
    Code:
    # Created with Gordian Knot
    #
    # http://gknot.doom9.org
    
    #  PLUGINS
    LoadPlugin("C:\PROGRA~1\GORDIA~1\DGMPGDec\DGDecode.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\decomb.dll")
    #LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\KernelDeInt.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\UnDot.dll")
    #LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\dgbob.dll")
    #LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\Convolution3d.dll")
    #LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\FluxSmooth.dll")
    #LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\TomsMoComp.dll")
    #LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\VSFilter.dll")
    #LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\SimpleResize.dll")
    
    #  SOURCE
    mpeg2source("D:\DeLogo Tutorial\Beispiel.d2v")
    
    #  TRIM
    #trim(startframe,endframe)
    
    #  IVTC
    #Telecide(order=1,guide=1).Decimate()
    #  or use
    #IVTC(44,11,95)
    #GreedyHMA(1,0,4,0,0,0,0,0)
    
    #  DEINTERLACING (1)
    FieldDeinterlace()
    #FieldDeinterlace(blend=false)
    #TomsMoComp(1,5,1)
    
    #  DEINTERLACING (2)
    #KernelDeInt(order=1,sharp=true)
    #  or maybe
    #DGBob(order=1,mode=0)
    
    #  DEINTERLACING (3) - special requests
    #GreedyHMA(1,0,0,0,0,0,0,0)
    #Telecide()
    #SeparateFields()
    
    #  CROPPING
    crop(10,2,698,568)
    
    #  SUBTITLES
    #VobSub("FileName")
    
    #  RESIZING
    LanczosResize(640,352)
    
    #  DENOISING: choose one combination (or none)
    Undot()
    
    #  1) little noise
    #Temporalsoften(2,3,3,mode=2,scenechange=6)
    #mergechroma(blur(1.3))
    #FluxSmoothST(5,7)
    
    #  2) medium noise
    #Temporalsoften(3,5,5,mode=2,scenechange=10)
    #Convolution3d("moviehq") 
    #FluxSmoothST(7,7)
    
    #  3) heavy noise
    #Temporalsoften(4,8,8,mode=2,scenechange=10)
    #Convolution3d("movielq") 
    #FluxSmoothST(10,15)
    
    #  BORDERS
    #AddBorders(left,top,right,bottom)
    
    #  COMPRESSIBILITY CHECK
    #  !!!!Snip Size now has to be 14 for use in GKnot!
    #SelectRangeEvery(280,14)
    
    #  FOOL CCEnc
    #empty = BlankClip()
    #AudioDub(last,empty)
    6. Alles so lassen wie es ist erst einmal (nicht schliessen !) und VirtualDubMod starten.

    7. DeLogo-Maske erstellen

    Öffnet die Filmdatei "Beispiel.mpg" und sucht über den Schieberegler ein Bild wo das Logo gut zu sehen ist.

    Macht mit CTRL-1 oder "Video/Copy source frame to clipboard" einen Screenshot des Videobildes.

    Öffnet ein Grafikprogramm Eurer Wahl (z.B. das windowseigene Paint ist völlig ausreichend) und fügt das Bild aus der Zwischenablge ein.

    Malt das Logo mit reinem Rot (RGB 255,0,0) und einem Sicherheitsrand von +2 Pixeln nach. Alles andere macht schwarz (RGB 0,0,0) und lasst um das Logo etwas vom Originalbild, damit der DeLogo-Filter etwas zum analysieren hat.
    Euer Bild sollte jetzt so aussehen:

    Speichert dies als Analyse.bmp ab.

    8. DeLogo-Filter konfigurieren.

    Fügt über "Video/Filters.../Add..." den DeLogo-Filter hinzu.

    Ladet die soeben erstellte Analyse-Maske und klickt auf "Show Preview". Jetzt auf "Sample Video" - diese Schaltfläche wird erst aktiv, wenn das Vorschaufenster geöffnet ist.

    Wählt die Art der Analyse - ich bevorzuge "All Frames" - dauert am längsten ist aber auch am genauesten.

    Nach der Analys seht Ihr im Vorschaufenster schon das Ergebniss.

    Dies ist noch nicht ganz so wie es sein soll.
    Jetzt heisst es feintunen. Hier gibt es leider kein Patentrezept dafür. Ich zeige einfach mal meine Vorgehensweise.

    - Deblend Shift auf 0.0
    - Alpha to Repair auf 0
    - Deblend Falloff auf 0
    - Repair Radius auf 0
    - Preview auf Repair umschalten und Alpha to Repair so lange verändern bis das Logo schon deutlich zu sehen ist.

    - Repair Radius verändern, bis das Logo eine einheitliche Fläche ist

    - Preview auf DeBlend umschalten und Deblend Shift verändern, bis das Logo eine einheitliche Fläche ist

    - Preview auf Standard umschalten und das Ergebnis sieht doch schonmal gut aus.

    - Einfach im Preview kontrollieren - dabei fällt auf, dass an einigen Stellen das Logo so ausschaut:

    - Den Pixel Aspect Regler verschieben auf z.B. 16:1 und voila schon sieht es besser aus:

    - nochmals kontrollieren und ich denke dass kann sich jetzt sehen lassen....

    9. Einstellungen sichern

    Jetzt die einzelnen Masken abspeichern über die "Save as" Buttons. Es empfiehlt sich immer den jeweiligen Maskennamen mit anzugeben.

    Das wars mit der Konfiguration. Den Filter mit "Close" schliessen und das Ganze als processing settings (beispiel.vcf) abspeichern.

    Diese vcf könnt Ihr mit jedem Texteditor öffnen und sollte so aussehen:
    Code:
    VirtualDub.RemoveInputStreams();
    VirtualDub.stream[0].SetSource(0x73647561,0);
    VirtualDub.stream[0].SetMode(0);
    VirtualDub.stream[0].SetInterleave(1,500,1,0,0);
    VirtualDub.stream[0].SetClipMode(1,1);
    VirtualDub.stream[0].SetConversion(0,0,0,0,0);
    VirtualDub.stream[0].SetVolume();
    VirtualDub.stream[0].SetCompression();
    VirtualDub.stream[0].EnableFilterGraph(0);
    VirtualDub.stream[0].filters.Clear();
    VirtualDub.video.SetDepth(24,24);
    VirtualDub.video.SetMode(3);
    VirtualDub.video.SetFrameRate(0,1);
    VirtualDub.video.SetIVTC(0,0,-1,0);
    VirtualDub.video.SetRange(0,0);
    VirtualDub.video.SetCompression();
    VirtualDub.video.filters.Clear();
    VirtualDub.video.filters.Add("DeLogo 1.3.2");
    VirtualDub.video.filters.instance[0].Config(1, "", "D:/DeLogo Tutorial/orf_deblend.bmp", "D:/DeLogo Tutorial/orf_alpha.bmp", "D:/DeLogo Tutorial/orf_color.bmp", "D:/DeLogo Tutorial/orf_repair.bmp", 15, 40, 0, -120);
    VirtualDub.subset.Delete();
    Uns interessiert gleich nur der rot markierte Eintrag.

    VirtualDubMod kann jetzt geschlossen werden.

    10. Script anpassen

    GK haben wir ja noch offen. Als 1. fügen wir unter Plugins folgende Zeile ein, wobei der grün markierte Teil Euer Pfad zum Filter sein muss:
    Code:
    LoadVirtualDubPlugin("C:\Programme\AutoGK\AGK\VDubMod\plugins\delogo.vdf", "delogo")
    Als nächstes kommt der Aufruf des Filters. Dieser sollte an 1. Stelle nach dem DEINTERLACING sein, damit das Logo entfernen als erstes passiert, bevor irgendwelche weiteren Änderungen an der Bildsource erfolgen.

    Code:
    converttoRGB32()
    delogo(1, "", "orf_deblend.bmp", "orf_alpha.bmp", "orf_color.bmp", "orf_repair.bmp", 15, 40, 0, -81).ConvertToYV12()
    Der rot markierte Teil ist dabei der Teil aus dem beispiel.vcf.

    Euer Script sollte jetzt so aussehen:
    Code:
    # Created with Gordian Knot
    #
    # http://gknot.doom9.org
    
    #  PLUGINS
    LoadPlugin("C:\PROGRA~1\GORDIA~1\DGMPGDec\DGDecode.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\decomb.dll")
    #LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\KernelDeInt.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\UnDot.dll")
    #LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\dgbob.dll")
    #LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\Convolution3d.dll")
    #LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\FluxSmooth.dll")
    #LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\TomsMoComp.dll")
    #LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\VSFilter.dll")
    #LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\SimpleResize.dll")
    LoadVirtualDubPlugin("C:\Programme\AutoGK\AGK\VDubMod\plugins\delogo.vdf", "delogo")
    
    #  SOURCE
    mpeg2source("D:\DeLogo Tutorial\Beispiel.d2v")
    
    #  TRIM
    #trim(startframe,endframe)
    
    #  IVTC
    #Telecide(order=1,guide=1).Decimate()
    #  or use
    #IVTC(44,11,95)
    #GreedyHMA(1,0,4,0,0,0,0,0)
    
    #  DEINTERLACING (1)
    FieldDeinterlace()
    #FieldDeinterlace(blend=false)
    #TomsMoComp(1,5,1)
    
    converttoRGB32()
    delogo(1, "", "D:/DeLogo Tutorial/orf_deblend.bmp", "D:/DeLogo Tutorial/orf_alpha.bmp", "D:/DeLogo Tutorial/orf_color.bmp", "D:/DeLogo Tutorial/orf_repair.bmp", 15, 40, 0, -120).ConvertToYV12()
    
    #  DEINTERLACING (2)
    #KernelDeInt(order=1,sharp=true)
    #  or maybe
    #DGBob(order=1,mode=0)
    
    #  DEINTERLACING (3) - special requests
    #GreedyHMA(1,0,0,0,0,0,0,0)
    #Telecide()
    #SeparateFields()
    
    #  CROPPING
    crop(10,2,698,568)
    
    #  SUBTITLES
    #VobSub("FileName")
    
    #  RESIZING
    LanczosResize(640,352)
    
    #  DENOISING: choose one combination (or none)
    Undot()
    
    #  1) little noise
    #Temporalsoften(2,3,3,mode=2,scenechange=6)
    #mergechroma(blur(1.3))
    #FluxSmoothST(5,7)
    
    #  2) medium noise
    #Temporalsoften(3,5,5,mode=2,scenechange=10)
    #Convolution3d("moviehq") 
    #FluxSmoothST(7,7)
    
    #  3) heavy noise
    #Temporalsoften(4,8,8,mode=2,scenechange=10)
    #Convolution3d("movielq") 
    #FluxSmoothST(10,15)
    
    #  BORDERS
    #AddBorders(left,top,right,bottom)
    
    #  COMPRESSIBILITY CHECK
    #  !!!!Snip Size now has to be 14 for use in GKnot!
    #SelectRangeEvery(280,14)
    
    #  FOOL CCEnc
    #empty = BlankClip()
    #AudioDub(last,empty)
    Das Ganze jetzt als "beispiel.avs" speichern in dem Ihr auf "Speichern und Encoden" klickt.


    11. Encoden
    Bei Audio1 nur muxen einstellen.

    Xvid-Einstellungen für Standalone-Player Kompatibilität:

    - First Pass wählen
    - Profile: MTK-PAL
    - Encoding Type: Twopass - 1st pass

    - Quantization type: h.263 (auf more neben Profile klicken)

    - Discard First pass (auf more neben Encoding Type klicken)
    http://img174.imageshack.us/my.php?i...ssmore2ei9.jpg

    - Secon Pass wählen
    - die gleichen Profile-Einstellungen wie bei First pass machen
    - Encoding Type: Twopass - 2nd pass
    - Target size sollte die gleiche Größe wie im darunter liegenden Fenster angezeigt haben
    http://img406.imageshack.us/my.php?i...ondpassmy7.jpg

    (Die letzten beiden Bilder konnte ich durch die Boardbeschränkungen nur als Link einfügen.)

    Job zur Warteschlange hinzufügen und encoden lassen.

    Das ist dass Ergebniss... Beispiel_Ergebniss.avi



    Da dass ORF-Logo aus einem transparenten und deckenden Teil besteht könnte man, um ein noch besseres Ergebniss zu erlangen, das Logoentfernen 2teilen.

    Einmal eine Maske und Filtereinstellungen erstellen nur für den transparenten und einmal für den deckenden Teil und diese dann nacheinander im Avisynth-Script aufrufen.

    Anmerkungen und Kritiken (vor allem von den Freaks hier ) sind gerne gesehen. Ich bezeichne das einfach mal als Quick&Dirty-Methode.

    Nachtrag: Sollten grobe Fehler enthalten sein, dann Sorry... ich habe gestern das erste Mal ne Logoentfernung durchgeführt.
    Geändert von gleisse (15. 07. 2007 um 16:33 Uhr)

  2. #2
    (schein)heilig

    Moderator

    Avatar von Brother-John
    Registriert seit
    Mar 2001
    Ort
    Aiur
    Beiträge
    4.790

    Standard Re: Tutorial: TV-Logo entfernen mit DeLogo und GordianKnot

    Was mir spontan und als DeLogo-Laie einfällt:
    • Deinterlacing nach DeLogo? Kann das gutgehen? Es widerspricht jedenfalls der Richtlinie, solche grundsätzlichen Eingriffe wie IVTC/Deinterlacing immer als erstes durchzuführen. Was ziemlich sicher sein dürfte ist, dass DeLogo an der Logostelle die Zeilenstruktur des interlaced Bildes zerstört. Das ist fürs Deinterlacing hinterher auf jeden Fall suboptimal.
    • Nach dem Logo entfernen wäre ein ConvertToYV12() nicht verkehrt. Zum einen funktionieren manche Filter nicht mit RGB, zum anderen führt spätestens der Encoder die Konvertierung sowieso durch.
    • Was ist mit Didées DeLogo-Skript für AviSynth (Link)? Dass es sicher schweinelangsam ist, klar, kommt ja von Didée. Aber wie macht es sich sonst im Vergleich?
    • Wenn du die auskommentierten Zeilen aus den Skripten rausschmeißt, wird das viel übersichtlicher.

  3. #3
    Mitglied

    (Threadstarter)

    Avatar von gleisse
    Registriert seit
    Oct 2005
    Beiträge
    1.742

    Standard Re: Tutorial: TV-Logo entfernen mit DeLogo und GordianKnot

    Zitat Zitat von Brother John
    Was mir spontan und als DeLogo-Laie einfällt:
    Deinterlacing nach DeLogo? Kann das gutgehen? Es widerspricht jedenfalls der Richtlinie, solche grundsätzlichen Eingriffe wie IVTC/Deinterlacing immer als erstes durchzuführen. Was ziemlich sicher sein dürfte ist, dass DeLogo an der Logostelle die Zeilenstruktur des interlaced Bildes zerstört. Das ist fürs Deinterlacing hinterher auf jeden Fall suboptimal.
    Mein Fehler - beim 1. Versuch hatte ich es auch so. Ändere ich sofort.

    Zitat Zitat von Brother John
    Nach dem Logo entfernen wäre ein ConvertToYV12() nicht verkehrt.
    Ist doch drin Nur in verkürzter Schreibweise.

    delogo(1, "", "D:/DeLogo Tutorial/orf_deblend.bmp", "D:/DeLogo Tutorial/orf_alpha.bmp", "D:/DeLogo Tutorial/orf_color.bmp", "D:/DeLogo Tutorial/orf_repair.bmp", 15, 40, 0, -120).ConvertToYV12()

    Wenn du die auskommentierten Zeilen aus den Skripten rausschmeißt, wird das viel übersichtlicher.
    Gebe ich Dir auch recht - wollte dadurch nur demenstprechende Fragen vermeiden, da doch viele überfordert sind, sobald ein Skript abweicht.

  4. #4
    (schein)heilig

    Moderator

    Avatar von Brother-John
    Registriert seit
    Mar 2001
    Ort
    Aiur
    Beiträge
    4.790

    Standard Re: Tutorial: TV-Logo entfernen mit DeLogo und GordianKnot

    Zitat Zitat von gleisse
    Ist doch drin
    Hoppla. *rotwerd*

  5. #5
    Mitglied
    Registriert seit
    May 2007
    Beiträge
    127

    Standard Re: Tutorial: TV-Logo entfernen mit DeLogo und GordianKnot

    könntest du die Bilder vielleicht neu Hochladen? die gehen nicht mehr.

  6. #6
    The dark side of BDs

    Moderator

    Avatar von CCS
    Registriert seit
    Aug 2003
    Beiträge
    23.899

    Standard Re: Tutorial: TV-Logo entfernen mit DeLogo und GordianKnot

    ^^ letzter Beitrag des Autors: 08.12.2008 Vlt. mal per Mail oder so direkt anschreiben...

    -> CLOSED!

    Cee ya, CCS

  7.  
     
     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •