Home
RecentChanges

Search:

» AviSynth is a powerful video FrameServer for Win32.

AviSynth Links:
»Download
»Learn to script
»FAQ
»Manual
»Discussion fora
»Project page
»External filters
»FeedBack

» You can add pages to this website immediately. No login required.
Edit this document

» AboutAviSynth

 

Avisynth 
Logo

Overlay Deutsch

Overlay(clip clip, clip overlay [,int x, int y, clip mask, float opacity, string mode, bool greymask, string output, bool ignore_conditional, bool pc_range])

Overlay legt zwei Clips �bereinander, wobei man das �berlagernde Bild positionieren kann und zwischen verschiedenen Methoden, wie �berlagert werden soll, w�hlen kann. Weiterhin kann man die Transparenz des �berlagernden Clips einstellen.

Overlay akzeptiert als Quelle alle Farbformate. Die Quellclips werden intern in ein allgemeines YUV Format (ohne Subsampling) konvertiert, so dass der Filter auch ein anderes Farbformat ausgeben kann als das Quell-Farbformat. Es ist auch nicht notwendig, dass die beiden Quellclips im gleichen Farbformat sind, da sie eh erstmal intern konvertiert werden. Es wird aber nicht empfohlen, Overlay nur f�r einen Wechsel des Farbformates zu verwenden, da es langsamer und von etwas schlechterer Qualit�t ist als die Standard-Konvertierungen.

Im Allgemeinen werden alle Clips mit Werten zwischen 0 bis 255 verarbeitet. Soll hei�en, die Werte werden nicht auf den CCIR 601 Bereich beschnitten. Dazu kann man im Nachhinein Limiter nutzen. Die Masken sollte auch Werte von 0 bis 255 haben. Man kann Histogram mit Histogram("levels") nutzen, um sich die Farbverteilung anzusehen. Falls die Maske im CCIR 601 Bereich ist, verwende vorher ColorYUV mit ColorYUV(levels="TV->PC"), um die Farbwerte hochzurechnen.

Es wird nicht empfohlen, interlaced Material zu �berlagern, es sei denn, man wei� wirklich, was man da tut.

Parameter:

clip

Dies ist der grundlegende Clip, auf den man dann etwas �berlagern kann.

overlay

Dies ist der Clip, der �berlagert wird. Der Farbraum und/oder die Aufl�sung muss nicht mit der vom darunterliegenden Clip �bereinstimmen.

x

Bestimmt die Position des �berlagerten Clips in horizontaler Richtung in Pixel. Der Parameter kann positive und negative Werte annehmen. Standard ist 0.

y

Bestimmt die Position des �berlagerten Clips in vertikaler Richtung in Pixel. Der Parameter kann positive und negative Werte annehmen. Standard ist 0.

mask

Hier kann man einen Clip angeben, der als Transparenz-Maske f�r den �berlagerten Clip fungiert. Die Maske muss die selbe Aufl�sung haben wie der �berlagerte Clip. Selbstverst�ndlich wird nur die Helligkeit (Luma) vom Clip f�r die Maske verwendet. Um so dunkler der Maske ist, um so transparenter wird der �berlagerte Clip. Es gibt keinen Standard, aber wenn man nichts weiter angibt, so ist gleichbedeutend mit einem 255 (wei�) Clip.

opacity

Dies definiert, wie transparent der �berlagerte Clip allgemein sein soll. Der Wert geht von 0.0 bis 1.0, wobei 0.0 komplett transparent ist und 1.0 v�llig undurchl�ssig ist (falls es keinen mask Clip gibt). Wenn man eine Maske verwendet, wird dieser Wert mit dem Masken-Wert multipliziert f�r die endg�ltige Transparenz. Standard ist 1.0.

mode

Mit diesem Parameter (in Anf�hrungszeichen!) kann man bestimmen, wie die Clips �berlagert werden (Standard ist Blend):

  • Blend: Wenn opacity=1.0 ist und es keine Maske gibt, dann wird der �berlagernde Clip einfach �ber den grundlegenden Clip gelegt. Ansonsten wird der Clip transparent miteingeblendet.
  • Add: Dies addiert den �berlagernden Clip zu dem anderen Clip, was das Video heller macht. Um dies vergleichbar zu RGB zu machen, beeinflussen �berm��ig helle Fl�chen die Farben, indem sie wei�er werden.
  • Subtract: Das Gegenteil von Add. Dies macht Fl�chen dunkler.
  • Multiply: Dies macht das Bild auch dunkler, aber es funktioniert anders als Subtract.
  • Chroma: Es werden nur die Farbinformationen des �berlagernden Clips genutzt.
  • Luma: Es werden nur die Helligkeitsinformationen des �berlagernden Clips genutzt.
  • Lighten: Es werden nur die hellen Informationen des �berlagernden Clips kopiert, aber nur wenn sie heller sind als die Werte des grundlegenden Clips.
  • Darken: Es werden nur die hellen Informationen des �berlagernden Clips kopiert, aber nur wenn sie dunkler sind als die Werte des grundlegenden Clips.
  • Softlight: Dies macht den grundlegenden Clip heller oder dunkler, basierend auf der Helligkeit des �berlagernden Clips. Falls dieser dunkler als luma=128 ist, wird das grundlegende Bild dunkler; falls dieser heller als luma=128 ist, wird das grundlegende Bild heller. Dies ist sinnvoll, wenn man Schatten hinzuf�gen will. Komplett schwarz oder wei� resultiert in deutlich dunkleren beziehungsweise helleren Fl�chen, aber niemals komplett schwarz oder wei�.
  • Hardlight: Dies macht den grundlegenden Clip heller oder dunkler, basierend auf der Helligkeit des �berlagernden Clips. Falls dieser dunkler als luma=128 ist, wird das grundlegende Bild dunkler; falls dieser heller als luma=128 ist, wird das grundlegende Bild heller. Dies ist sinnvoll, wenn man Schatten hinzuf�gen will. Komplett schwarz oder wei� resultiert in komplett schwarz beziehungsweise wei�.
  • Difference: Dies zeigt die Unterschiede zwischen den beiden Clips an. Beachte, dass die Unterschiede wie bei Subtract mit grau=127 angezeigt werden. Wenn du die reinen Unterschiede willst, verwende ColorYUV(off_y=-127).
  • Exclusion: Es wird der grundlegende Clip invertiert basierend auf der Helligkeit des �berlagernden Clips. Ist dieser komplett wei�, so werden die Farben vollst�ndig invertiert; ist dieser schwarz, so passiert gar nichts.

greymask

Mit diesem Parameter kann man angeben, ob die Farbe der Maske f�r die Farbtransparenz genutzt werden soll. Allgemein sollte man diese Option nicht deaktivieren. Externe Plugins wie mSharpen oder Masktools sind in der Lage, exakte Farbkarten zu erstellen. Standard ist true.

output

Hiermit kann man das Farbformat des resultierenden Clips �ndern. M�gliche Werte sind "YV12", "YUY2", "RGB24" und "RGB32" (in Anf�hrungsstrichen!). Standard ist das Farbformat der Quelle.

ignore_conditional

Hiermit kann man Overlay dazu bringen, die bedingten Variablen zu ignorieren. Standard ist false. Dies ist n�tzlich, wenn man Overlay mehrfach anwendet.

Conditional Variables:

Die globalen Variablen OL_opacity_offset, OL_x_offset und OL_y_offset werden bei jeden Frame abgefragt und angewendet. Man kann sie �ber FrameEvaluate modifizieren. Die Werte der Variablen werden zu den Werten des Filters addiert, so dass, wenn z.B. x=100 bei Filter und ol_x_offset=50 als globale Variable definiert ist, der von Overlay genutzte Wert f�r x=150 ist.

pc_range

Bei true wird bei allen internen RGB -> YUV -> RGB Farbraumkonvertierung von einem Helligkeitsbereich von 0 bis 255 ausgegangen anstatt des standardm��en Bereiches von 16 -> 235. Man sollte diesen Parameter nur �ndern, wenn man wei�, was man da tut. Siehe auch den Hinweis "RGB Hinweise" unten. Standard ist false.

RGB Hinweise:

Die Sektion beschreibt Sachen, warum Overlay funktioniert, wenn man ihm eine oder mehrere RGB Quellen liefert.

Eine oder mehrere RGB Quellen sind bei Overlay erlaubt. Da aber Overlay die Daten intern im YUV Farbraum verarbeitet, wird dann eine RGB -> YUV Konvertierung gemacht. Es gibt dabei zwei Modi, die man mit dem pc_range Parameter einstellt. Dieser Parameter erweitert den YUV Bereich von 16-235 (wird von alle AviSynth Konvertern genutzt) auf 0-255. Es gibt aber einige F�lle, wo es eine gute Idee ist, den erweiterten PC Bereich zu w�hlen:

  • Wenn einen RGB Clip �berlagert mit Add, Subtract oder Multiply, der PC Bereich (0-255) ist f�r den �berlagernden Clip besser, da so komplett schwarze Fl�chen nicht beeinflusst werden (ansonsten werden 16 zu jedem Wert hinzuaddiert).
  • Wenn man bei der Ausgabe KEINE Farbraumkonvertierung hat. Falls der Ziel-Farbraum (RGB vs. YUV) unterschiedlich von der Quelle ist, ist die Skalierung falsch. Bei pc_range=true und einer RGB Quelle und YUY2 als Zielformat, wird YUY2 eine ung�ltigen Bereich haben anstatt dem CCIR 601 Bereich.

Ausgabe von RGB:

Es kann eine gute Idee sein, dass Overlay als Zielformat YUY2 liefert, auch wenn die Quelle RGB ist, da dies eine Farbraumkonvertierung zu RGB erspart. Man sollte aber darauf achten, dass die Daten nicht "�berskaliert" sind, wie oben erw�hnt, wenn man pc_range=true setzt. Dies kann man dann mit ColorYUV(levels="PC->TV") auf den g�ltigen 16-235 Bereich korrigieren.

RGB Masken Clips:

RGB Masken k�nnen sich etwas anders verhalten, als man denkt. Falls du immer eine grauskalierte Maske verwendest und greymask nicht deaktivierst, wirst du alles wie erwartet funktionieren. Man sollte wissen, dass die Masken nie auf den 16->235 Bereich skaliert werden, so dass man bei RGB immer den 0->255 Bereich hat.

Verwendung des RGB32 Alpha Kanales:

Overlay verwendet nie den Alpha Kanal eines RGB32 Clips. Wenn du diesen Alpha Kanal haben willst, kannst du ShowAlpha verwenden, um die Alpha Informationen zu extrahieren. F�r h�chstm�gliche Qualit�t sollte man den Alpha Kanal in RGB extrahieren.

Beispiele:

Bereitet einige Quelle vor:

bg = ColorBars(512,384).ConvertToYUY2()

text = BlankClip(bg).Subtitle("ColorBars").ColorYUV(levels="TV->PC")

Diese �berlagert den Text in drei unterschiedlichen Versionen:

Overlay(bg,text,x=50,y=20,mode="subtract",opacity=0.25)

Overlay(text,x=50,y=120,mode="add",opacity=0.5)

Overlay(text,x=50,y=240,mode="blend",opacity=0.7)

Changelog:

v2.54: Erstes Release

SourceForge Logo

 


Edit this document | View document history
Document last modified Fri, 16 Jan 2004 06:53:55