Encoden mit Avisynth

Da es bei den allermeisten Neueinsteigern die Gleichen, beziehungsweise sehr ähnliche Probleme beim Erstellen der ersten Videos auftreten, sollen hier einige Basics zusammengeführt werden. Diese sollen jedoch nicht darüber hinwegtäuschen, dass das Encoden eine “learning-by-doing”-Geschichte ist. Niemand wird also umhin kommen, sich auf einschlägigen Websiten zu informieren und viel zu experimentieren. Damit wir hier die Basics zumindest starten können, werden hier nach und nach die Topics aufgeführt, die dann von versierten Encodern erklärt werden können.
Es sollen für Anfänger Tipps sein, was man falsch machen kann oder wo man sich grob richten kann.

Video aus *.ts Sourcen erstellen

1. Was braucht man

2ND SEASON 02 (NTV MPEG2-TS 1440×1080).ts
DGIndex (Mpeg2)
Avisysynth

2. Index erstellen
DGIndex

 

 

 

 

 

 

 

Dann zieht man einen TS Stream rein.

690px-DGIndex2

 

 

 

 

 

 

 

 

 

Geht auf Save Project.

690px-DGIndex3

 

 

 

 

 

 

 

 

 

Dann auf Speichern.

690px-DGIndex4

 

 

 

 

 

 

 

 

 

Dann erstellt er eine Index Datei, was ein paar Minuten dauern kann.

 

3. Kleines Avisynth Skript schreiben, wo man auch die Werbung rausschneiden kann.

* DGDECODE_MPEG2Source("C:\Users\xxx\Desktop\Encode Projekte\Kimi ni Todoke\Episode 01\2ND SEASON 02 (NTV MPEG2-TS 1440x1080).d2v", cpu=0,info=3)
* colormatrix(hints=true,interlaced=true,threads=4)
* Teil1 = Trim(3661, 5604)
* Teil2 = Trim(8303, 27392)
* Teil3 = Trim(30097 ,49511)
* Teil4 = Trim(52215, 52504)
* Teil5 = Trim(53855 ,54006)
* Teil1  + Teil2 + Teil3 + Teil4  + Teil5
* tfm(order=1,field=1)
* TDecimate(1)

Wichtige Zeilen in Schwarz.

Andere Deinterlacing Methoden gibt es auch noch, aber jeder verwendet sowieso etwas anderes und selbst hier gibts noch viele Einstellungsmöglichkeiten.
Hier wird also nur der Standard gezeigt

Andere Spielereien wie Anime TV Logos entfernen oder Schärfe Filter sollte man immer nach eigenen Geschmack anwenden, was es einem halt Wert ist, auch wenn “nix” Filtern, meistens am besten ist, wenn man nicht weiß, was man tut.

4. Einfach in Megui oder anderen Programmen zum Encoden öffnen.

Video aus *.mp4 / *.mkv Sourcen erstellen

Hier gibt es viele Möglichkeiten, die man verwenden kann. 

* Directshowsource("...mkv") # oder mp4, ist aber nicht Framegenau.
* DSS2("...mkv") # oder mp4
* FFVideoSource("...mkv") # oder mp4

Außerdem gibt es noch Index Möglichkeiten.

* AVCSource("...dga") # oder mp4, aber leider Veraltet und kann Artefakte verursachen.

Wer eine Nvidia Grafikkarte hat, kann auch für einen kleinen Geldbetrag, seine Grafikkarte decoden lassen.
DGDecNV AVC/MPG/VC1 Decoder and Frame Server
oder auch für etwas Geld den schnellsten Decoder, den es im moment gibt (?) verwenden.
DGAVCDecDI AVC Decoder and Frame Server

Video auf DVD/BluRay-Grundlage

Text wird noch nachgetragen

Aspect Ratio-Problematik

<p lang="en" style="font-variant: normal;font-style: normal;font-weight: normal;line-height: 0.2in"Der häufigste Fehler sind DVDs. Die Auflösung einer normalen neuen DVD beträgt 720×480, durch Croppen von Schwarzen Rändern und weiteren spiele rein kann sie sich geringfügig ändern.
Beispiel wären z.B. normale DVD Rips die so im Netz landen.

Saint
Seiya – 01 (DVD 720×480 H264 AAC Chap).​mkv
OAD AIR GEAR Kuro no Hane to Nemuri no Mori -Break on the sky-(DVD H264 720×480 24fps AC3 2.​0+2.​0).​mkv
[Zero-Raws] Kimi ni Todoke Live-Action Movie (DVD 720×480 x264 AC3).​mkv

Die Auflösung beträgt 720×480, was auch die richtige DVD Auflösung ist und normal dann auch richtig wäre zu Encoden?
Leider ist es genau der Fehler. Bei DVDs wird beim abspielen das Bild gestreckt und genau das hat man, wenn man DVD Rips hat oder selbst DVDs rippt halt nicht, man
hat nur das Bild was da ist. Normal sollte man sowas auch sehen, das alles gestreckt ist im Bild, aber der Fehler kommt immer noch zu häufig vor und das man das Bild dann einfach übernimmt, weil es die Rips sind oder die DVD selbst, ist normal. Also Blind in dem Moment ist.

Anpassung wäre z.B.

* BilinearResize(848,480) # LanczosResize, BicibucResize...

Das sollte man allerdings an der Aspect Ratio sehen, wie die Auflösung genau sein muss. Im MKV Container kann man auch eine Aspect Ratio angeben, sodass man normal auch 720×480 Encoden kann und das Bild dann nur beim Abspielen gestreckt wird, wie bei einer DVD.

Bildverbesserungen (matsch, kriesel, …)

Aliasing Effekt – 

Anti-Aliasing

Mögliche Filter/Skripte in Avisynth

Aliased Anti-aliasing

AAF, AAA, AntiAliasing, MAA, SAA, SharpAAMC…

 

Dirt (Dreck) Effekt

Mögliche Filter/Skripte in Avisynth

Dirt_Avisynth

RemoveDirt… 

Dot Crawl Effekt

Mögliche Filter/Skripte in Avisynth

DotCrawl3

Checkmate, DeDot, LUTDeCrawl, TComb… 

 

Halo Effekt –

DeHalo_alpha

Mögliche Filter/Skripte in Avisynth

Ohne_Dehalo Mit_Dehalo_Alpha

abcxyz, DeHalo_alpha, EdgeCleaner, YAHR

 

Kamm Effekt – Interlaced Nachbearbeitung

Mögliche Filter/Skripte in Avisynth

Kaemme

Vinverse, VinverseD 

Rainbow (Regenbogen) Effekt

Mögliche Filter/Skripte in Avisynth

Alien9rainbow

Bitfrost, DeRainbow, DFMDeRainbow, mfRainbow, rainbow_smooth 

 

Ringing Effekt

Mögliche Filter/Skripte in Avisynth

800px-Ringing2

AWarpSharpDering, HQDering

Anmerkung:Jedes Skript und jeder Filter verändert das Bild. Auch wenn sie einen Effekt verbessern, das Bild schärfen oder Schwarze Linien verstärken, haben sie auch einen Negativen Effekt.
Man sollte sich also immer überlegen, ob die Zeit des Filters + der “gute” Effekt es auch Wert ist.
Am besten sollte man sowieso überhaupt gar nicht Filtern, gerade bei neueren BD Quellen, außer man weiß genau, was man tut.

Anpassung der Framerate

Gerade MP4-Raws haben eine Variable Framerate, die man konvertieren sollte. Auch bei TS Streams hat man normal Interlaced als Quelle und 29.970 Frames
anstatt 23.976.
Einfache Umwandlungsfilter bzw. Quellfilter wären:

Directshowsource</span("…mp4", fps=23.976,convertfps=true)
Dss2("…mp4",fps=23.976) # konvertiert variable Frameraten automatisch, kann aber keine Audio verarbeiten.
AssumeFPS(23.976) # verändert die Framerate ohne Frames zu löschen, ändert also nur die Schnelligkeit des Videos und macht es langsamer oder schneller
ChangeFPS(23.976) # Dieses Filter ändert die Framerate, indem Frames gelöscht oder dupliziert werden.
TDecimate(1) # Anime Modus, z.B. bei TS Streams, nach TFM() oder anderen Deinterlacing Filter nützlich, da er gleiche Frames löscht und die Framerate von 29.970 auf 23.976 reduziert.

Anmerkung Durch Löschen von Frames kann das Video auch stocken. Wenn der Bildfluss nicht mehr gegeben ist und die falschen Frames gelöscht werden, ist es auch nicht richtig, was man da treibt.

 

Einbauen von Bildern/AFX und Co.

Wenn man ein AFX Video hat, gibt es ein sehr gutes Skript.
Das Skript insertsign aus dem AnimeSuki Forum “Avisynth Help Thread”.

* insertsign(clip, overlayclip, startframe [, endframe])

Also (“Video, Video zum Drüber blenden, Startbild, Schlussbild”)
Ein einfaches Skript Beispiel wäre dann: 

* Vid=AVISource("C:\Users\###\Desktop\Encode Projekte\Blub.avi")
* AFX1=AVISource("C:\Users\###\Desktop\Encode Projekte\Anime\Schild1HD.avi")
* insertsign(Vid,AFX1,4333,4413)

Bei Bildern muss man noch einen Zwischenfilter einfügen und zwar ImageReader. 

* DirectShowsource("MM2.avi",fps=119.88,convertfps=true).Fdecimate(23.976)
* logo = ImageReader("MMLOGOGerSub.png",0,770,fps=23.976,use_DevIL=true,pixel_type="rgb32")
* insertsign(logo,935)

Wenn man noch etwas mehr rumspielen will, kann man z.B. auch das Bild langsam einblenden oder ausblenden lassen mit fadein, fadeout.
Müsste man dann z.B. hier einfügen:

* ImageReader("xxx.png",0,770,fps=23.976,use_DevIL=true,pixel_type="rgb32").fadein(12).fadeout(1)

Die Zahl bestimmt die Bilder, wielang es langsam einblenden und ausblenden soll.

Referenzen

Leave a Reply

Your email address will not be published. Required fields are marked *