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.
Occupy Kiel: Massiver Sachschaden...
Heute, 20:15 in gulli:news