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

FPS Deutsch

( This site in flag-uk.gif english )

AssumeFPS

AssumeFPS(clip, float fps, bool "sync_audio")

AssumeFPS(clip, int numerator [, int denominator], bool "sync_audio")

AssumeFPS �ndert die Framerate, ohne die Frameanzahl zu �ndern. Das Video wird also schneller bzw. langsamer abgespielt, es wird lediglich die Framerate ver�ndert.

Parameter:

fps

Gibt die neue Framerate als Dezimalzahl an.

numerator

Gibt die neue Framerate als Ganzzahl. Die Framerate kann noch durch denominator ver�ndert werden.

denominator

Man kann hiermit die Framerate noch �ndern. Die tats�liche Framerate ergibt sich nach Framerate = numerator / denominator.

sync_audio

Mit sync_audio=true wird auch die Samplingrate vom Ton entsprechend ver�ndert, damit die Spieldauer vom Ton gleich der des Videos ist. Die Tonh�he �ndert sich dadurch. Kann auch dazu eingesetzt werden, nur die Samplingrate des Tones zu �ndern, wenn der Quellclip keine Videospur enth�lt.

Beispiele:

Beschleunigt ein PAL Video auf die doppelte Framerate:

AssumeFPS(50.0)

�ndert die Framerate auf 29,97 fps:

AssumeFPS(30000,1001)

Changelog:


ChangeFPS

ChangeFPS(clip, float fps [, bool linear])

ChangeFPS(clip, int numerator [, int denominator, bool linear])

Dieses Filter �ndert die Framerate, indem Frames gel�scht oder dupliziert werden.

Parameter:

fps

Gibt die neue Framerate als Dezimalzahl an.

numerator

Gibt die neue Framerate als Ganzzahl. Die Framerate kann noch durch denominator ver�ndert werden.

denominator

Man kann hiermit die Framerate noch �ndern. Die tats�liche Framerate ergibt sich nach Framerate = numerator / denominator.

linear

Hiermit fragt AviSynth die Frames linear nacheinander ab, wenn Frames �bergangen werden. Standard ist true.

Beispiele:

�ndert die Framerate auf 29,97 fps:

ChangeFPS(29.97)

Alternative Syntax zum obigen Beispiel:

ChangeFPS(30000,1001)

Changelog:

v2.54: Der optionale Parameter linear=true/false wurde hinzugef�gt

v2.06: Anstatt das Video zu beschneiden oder aufzugef�llen, um die Spieldauer und Abspielgeschwindigkeit (die Anzahl der Frames wird nicht ver�ndert) zu erhalten, wird nun die Anzahl der Frames erh�ht oder vermindert wie bei ConvertFPS


ConvertFPS [YUY2]

ConvertFPS(clip, float "new_rate", int "zone", int "vbi")

[funktioniert in AviSynth v2.5 noch nicht]

ConvertFPS ist seit AviSynth v1.0beta7 enthalten.

Der Filter versucht, die Framerate von clip zu new_rate zu konvertieren ohne das Weglassen oder dublizieren von Frames. Dadurch wird eine weiche Konvertierung, �hnlich der von Konverter-Hardware. Das Ergebnis wird (fast) die gleiche Filml�nge haben wie clip, aber die Anzahl der Frames wird ge�ndert entsprechend dem Verh�ltnis aus Quell- und Ziel-Framerate.

Der Filter hat zwei Modi. Falls das optinale Argument zone nicht angegeben ist, werden angrenzende Frames gemischt, wobei diese Mischung mit dem zeitlichen Abstand der beiden Frames zum Zielframe gewichtet wird (quot;Mischen Modus"). Wenn zone angegeben ist, wird immer von einem Frame zum n�chsten umgeschaltet, wenn der neue Zielframe beginnt ("Schalten Modus"), das heisst irgendwo in der Mitte des Zielframes. Dabei wird angenommen, dass das Bild auf einem TV betrachtet wird (nicht auf einem PC!)und jeder Frame von oben nach unten abgetastet wird. Der Parameter zone gibt die Breite der �bergangsregion an, in der die zwei Frames gemischt werden (um scharfekantige �berg�nge zu vermeiden).

Der Modus "Mischen" erzeugt eine leichte Unsch�rfe bei Bewegungen, was ein typisches Artefakt bei Framerate-Umwandlungen ist (kann auch bei kommerziellen Videos oder TV-Programmen beobachtet werden). Bei interlaced Material muss der Filter auf die einzelnen Felder angewendet werden, nicht auf die interlaced Frames (siehe Beispiel).

Der Modus "Schalten" ist ein Versuch, diese Unsch�rfe zu vermeiden, allerdings kann ein leichtes Flackern und Bewegungsartefakte entstehen. Besonders Schwenks sind anf�llig daf�r, da die einzelnen Frames bei Szenen mit Bewegung gebogene oder unterbrochene senkrechte Linien zeigen. Auch Szenenwechsel k�nnen in der Mitte des Frames sichtbar werden. Trotzdem sieht das Ergebnis weniger unscharf aus.

Kein Modus ist also perfekt. Welcher der bessere ist, h�ngt vom eigenen Geschmack und dem verwendeten Filmmaterial ab. Der "Schalten" Modus ist wahrscheinlich nur brauchbar, wenn man sich das Ergebnis auf einem Fernseher und nicht auf dem PC ansieht.

Aufwendigere Framerate-Konvertierungen verwenden Algorithmen zur Bewegungsinterpolation, die schwierig zu erstellen sind, aber dann wesentlich bessere Ergebnisse liefern.

Filmmaterial sollte nicht mehrfach mit diesem Filter umgewandelt werden. Es kommt schnell zu Unsch�rfen bei mehrfacher Anwendung.

Der Ton wird nicht ver�ndert, er bleibt synchron, die L�nge des Tones kann sich ganz leicht von der Videol�nge nach der Umwandlung unterscheiden, da das Ergebnis ja eine ganzzahlige Anzahl von Frames haben muss. Dieser Effekt wirkt sich st�rker aus bei kurzen Clips, der entstehende L�ngenunterschied kann aber ignoriert werden.

Parameter:

new_rate Die Ziel-Framerate (Ganz- oder Dezimalzahl). Im Modus "Mischen" muss new_rate mindestens 2/3 der Quell-Framerate sein. Ansonsten wird einen Fehler ausgegeben. F�r st�rkeres Herabsetzen der Famerate muss man den Modus "Schalten" verwenden.
zone (Optional) Wenn angegeben, wird der Filter im Modus "Schalten" betrieben, der Wert ist eine Ganzzahl gr��er 0. Falls er dennoch auf 0 steht, wird ein extrem "Schalten" durchgef�hrt, d.h. es wird augenblicklich der n�chste Frame vor dem Schalten genommen. Ist der Wert gr�szlig;er als 0, gibt er die H�he der Zone an, in der die Frames ineinander �bergeblendet werden. Ein Wert von 80 ergibt gute Ergebnisse bei Vollbild (480/576 Linien). Der Wert von zone muss kleiner oder gleich der Anzahl der Linien des Zielframes sein, die der Dauer eines Quell-Frames entsprechen. Das sind normalerweise 5/6 oder 6/5 von der Ziel-Frameh�he, also einige hundert Linien. Ein Fehler wird erzeugt, wenn ein zu grosser Wert gew�hlt wird.
vbi (Optional) Im Modus "Schalten" wird damit eine Korrektur f�r die vertikale Austastl�cke angegeben. Der Wert gibt die H�he beim Zielframe in Zeilen an, typische Werte sind vbi=49 bei PAL und vbi=45 bei NTSC (der Wert ist nicht kritisch). Wird ignoriert im "Mischen" Modus.

Beispiel:

NTSC->PAL Umwandlung:

AVISource("NTSC_clip.avi") # Clip laden

Bob() # Felder trennen und auf volle H�he bringen

BicubicResize(768,576) # Gr��e auf PAL (quadratische Pixel) anpassen (f�r CCIR muss 720,576 verwendet werden)

ConvertFPS(50) # Feldrate auf PAL wandeln, Modus "Mischen"

SeparateFields.SelectEvery(4,0,3) # Bob r�ckg�ngig machen, "Even Field First". SelectEvery(4,1,2) f�r "Odd Field first"

Weave # zur�ckwandeln von Feldern in Frames

Dieses Beispiel funtioniert auch bei framebasiertem NTSC-Material und telecine-Film.

Bei Filmmaterial ist aber das Ergebnis bei einem inverse-telecine Filter und einer Anpassung der Framerate von 23.976 auf 25fps besser.

SourceForge Logo

 


Edit this document | View document history
Document last modified Mon, 12 Jan 2004 10:05:39