http://www.freenet.de/freenet/computer_und_technik/software/dvd_software/xvid_einstellungen/
(22.03.2004)
XviD ist DivX rückwärts
Übersicht:
XviD im Detail
von Bernd Schiedl
XviD ist ein kostenloser
MPEG-4 Codec, der als Open Source-Projekt von einer treuen Gemeinde
im Internet weiterentwickelt wird. Das Release der Version 1.0 steht
kurz bevor. Leider wurde in letzter Zeit die gesamte Energie in die
Programmierung und nicht in die Dokumentation gesteckt. Daher haben
wir für Sie XviD genau aufgeschlüsselt und erklären
Ihnen in diesem Artikel den Umgang mit dem Codec. Neben Einsteigern
wendet sich dieser Workshop auch an fortgeschrittene Anwender, die
die eine oder andere Funktionen des XviD-Codecs noch nicht kennen.
Voraussetzung ist zunächst natürlich, dass Sie
XviD installiert haben. Sie können die Software zum Beispiel
aus unserem Downloadbereich
laden. XviD ist ein Codec für Videos und installiert neben
einem Encoder- auch einen Dekoder-Filter. Dieser Dekoder-Filter wird
automatisch aktiv, wenn sie einen XviD-Film abspielen. Darum
brauchen Sie sich nicht zu kümmern. Den Encoder erreichen Sie
in den meisten Videoschnittprogrammen über die Exportfunktion.
Hier können Sie Ihren Film als AVI exportieren. Unter den
erweiterten Optionen zu den AVI-Files erhalten Sie eine Auswahlliste
mit diversen Codecs, einer davon ist XviD.
Zuerst müssen wir in
XviD die Grundeinstellungen vornehmen. Dies erledigen wir unter
"Profile@Level / more", dort im Profile Kartereiter. Sie
sollten sich über den Verwendungszweck Ihrer Videos im Klaren
sei. Sollen die Videos nur auf dem PC oder auch auf einem
Standalone-Player lauffähig sein? Schalten Sie dazu das Profil
auf "AS@L5 - Advanced Simple Profile Level 5". Dieses
Profil unterstützt eine Auflösung von bis zu 720x576
Pixeln bei 30 Bilder/Sek, also genau richtig für ein Video mit
TV-Auflösung oder darunter. Wenn sie höhere Werte
benötigen, stellen Sie das Profil bitte auf "Unrestricted".
Quartel Pixel & GMC
Wenn das Video nur für
den PC vorgesehen ist, schalten Sie einer höheren Bildqualität
zuliebe "Quartel Pixel" und Global Motion Compensation"
ein. Dadurch wird die Bewegungsvektorsuche feiner (Quartel Pixel)
und der Encoder spart Speicherplatz in Szenen, in denen sich das
gesamte Bild bewegt (GMC). Aktuelle Hardwareplayer unterstützen
diese komplexen Features meist nicht. Deshalb müssen Sie diese
deaktivieren, wenn das Video auf dem Player im Wohnzimmer lauffähig
sein soll.
Adaptive Quantization
"Adaptive Quantization" schlägt sich
ebenfalls in einer besseren Bildqualität nieder, da der Encoder
die zur Verfügung stehenden Bits besser verteilen kann. Er
nutzt dabei die Schwächen menschlicher Augen aus und verteilt
weniger Bits an sehr helle und dunkle Stellen, da wir diesen Bereich
nicht mehr erkennen können. Die "Adaptive Quantization"
(früher Lumi Masking, Psychovisual Model bei DivX) ist noch
recht experimentell und deshalb mit Vorsicht zu genießen.
Interlaced Encoding
Bleibt noch das
"Interlaced Encoding" übrig. Das sollten Sie nur
verwenden, wenn Ihr Eingangsvideo wirklich "interlaced"
(also 50 Halbbilder statt 25 Vollbilder) ist.
Quantization
Type
XivD erlaubt dem Anwender eigene
Quantisierungsmatrizen (Quantization Type) zu verwenden. Verkürzt
kann man sagen, dass die Quantisierungsmatrix bestimmt, wie stark
die Details des Originalvideos reduziert werden. Unterschiedliche
Matrizen beeinflussen dieses Verfahren unterschiedlich stark. Man
kann so zu Beispiel für Cartoons oder Videos, die sehr stark
komprimiert werden müssen, eigene optimierte Matrizen anlegen.
Mit der Standardmatrix H.263 fährt man vor allem bei niedrigen
Bitraten gut, da diese Matrix das Bild etwas weichzeichnet. Die
MPEG-Matrix ist das Gegenteil und liefert viele Details, die jedoch
nur bei hohen Bitraten zur Geltung kommen. XviD liefert noch eine
Menge anderer Matrizen mit, die für spezielle Anwendungszwecke
optimiert wurden. Experimentieren Sie ruhig ein bißchen.
Was
sind Quantizer?
Einfach gesagt, stellt ein Quantizer
einen Faktor dar, der aussagt, wie stark die Qualität eines
Videobildes reduziert werden soll. Ein niedriger Quantizer (zum
Beispiel 2) reduziert das Originalbild nur sehr wenig, was in einer
sehr guten Bildqualität resultiert. Leider braucht dieses Bild
relativ viel Speicherplatz. Ein hoher Quantizer dagegen reduziert
die Qualität sehr stark, was sich im Extremfall in den
typischen Blöcken im Video zeigt. Solch ein Bild benötigt
sehr wenig Speicherplatz.
B-Frames
Um
ein Video optimal zu komprimieren verwendet MPEG ein spezielles
Verfahren, das darauf beruht, nicht immer komplette Bilder zu
speichern, sondern nur deren Unterschiede. Die Grundlage dafür
bilden I- und P-Frames. I-Frames sind immer Vollbilder (auch
Keyframes genannt), die einfach ein JPG-Bild darstellen. Die
P-Frames sind keine vollwertigen Bilder mehr, sondern nur
Informationen, wie der Dekoder ein komplettes Bild nachbilden kann.
Ein P-Frame besteht zum Großteil aus Bewegungsvektoren, die im
Vergleich mit einem vollständigen Bild nur sehr wenig
Speicherplatz belegen. Eine typische Bildfolge besteht immer aus
sehr vielen P-Frames und nur am Anfang einer neuen Szene sitzt ein
I-Frame.
XviD beherrscht zusätzlich zu den I- und
P-Frames auch B-Frames. Diese sind den P-Frames sehr ähnlich,
allerdings sind sie weiter optimiert und belegen deshalb noch
weniger Speicherplatz. Die Quantizer der I- und P-Frames legt Xvid
automatisch auf den optimalen Wert fest, darum müssen Sie sich
nicht kümmern. Der Quantizer der B-Frames wird zwar von Xvid
auch selbst errechnet, Sie können aber Einfluss darauf nehmen.
Der Quantizer der B-Frames liegt immer höher als der Quantizer
der Umliegenden P-Frames, daraus ergibt sich zwar eine etwas
schlechteren Bildqualität, Sie sparen jedoch Speicherplatz ein.
Wie viel höher der B-Frame-Quantizer liegt, hängt vom
Quantizer Ratio und Quantizer Offset ab. Beide Werte (Ratio und
Offset) wurden eingeführt, um zu bestimmen, wie stark die
Qualität eines B-Frames gegenüber den anderen Frames
reduziert werden soll. Als Faustregel gilt, je höher der Ratio-
und Offset-Wert, desto niedriger ist die Qualität des B-Frames.
Max consecutive BVOPs
Max consecutive BVOPs
bestimmt, wie viele B-Frames am Stück verwendet werden sollen.
Ein Wert von 0 schaltet die B-Frames ab, ein Wert von 1 benutzt nur
immer einen B-Frame in Folge und ist kompatibel mit DivX 5. Ein Wert
von 2 ist optimal und benutzt immer zwei Frames in Folge.
Theoretisch sind auch höhere Werte möglich.
Quantizer
Ratio
Das Quantizer Ratio bestimmt den Quantizer eines
B-Frames. Dabei wird der Mittelwert des Quantizers des
vorhergehenden und nachfolgenden Bildes mit dem Quantizer Ratio
verrechnet. Haben die beiden benachbarten Frames einen Quantizer von
2 und 4 ergibt sich ein Mittelwert von 3, multipliziert mit einem
Quantizer Ratio von 1,5 ergibt sich ein Quantizer von 4,5 für
den B-Frame.
Quantizer Offset
Der Quantizer
Offset wird intern zu dem Resultat des Quantizer Ratio hinzugezählt.
Ein Offset von 2 würde in unserem Beispiel (Ergebnis des
Quantizer Ratio = 4,5) also einen Quantizer von 6,5 (4,5 + 2 = 6,5)
ergeben.
ier gibt es drei
Möglichkeiten, die einige Anwendern bereits bekannt sein
dürften. Die erste Möglichkeit ist der Single Pass, wobei
hier das Video in einem Durchgang komprimiert wird. Die Qualität
reicht jedoch nicht an die des 2-Pass-Encodings heran. Allerdings
gibt es einige Anwendungen, die nur als Single Pass encodiert werden
können. Diese sind zum Beispiel Streams von TV-Karten und
anderen Echtzeitanwendungen.
Für das
Single-Pass-Encoding sind drei Werte definierbar, bei denen Sie in
der Regel nichts verändern müssen. Die Werte sind bereits
gut gewählt.
Interessanter wird es beim
2-Pass-Encoding. Für den ersten Pass gibt es drei Optionen, die
relevant sind. Zum einen das Stats-File, in dem die Statistiken für
den zweiten Pass abgelegt werden. In der Regel errechnet XviD nur
eine Annäherung für den ersten Pass, was sehr viel
schneller geht als ein kompletter Durchgang. Wenn Sie dennoch einen
kompletten Durchgang wünschen, aktivieren Sie "Full
Quality First Pass". Zu guter letzt sollte "Discard first
pass" aktiviert sein, damit XviD die Videodatei des ersten
Durchgangs wieder löscht. Sie könnten die Datei auch
behalten und wie ein normales Video ansehen, das ist aber nur in
Einzelfällen notwendig.
In den Optionen für den
zweiten Durchgang finden Sie auch wieder das "Stats-File".
Aufgrund der Infos aus dieser Datei nimmt der Encoder im zweiten
Pass seine Optimierungen vor.
I-Frame tuning
Der
"I-Frame boost" vergibt mehr Bits an die I-Frames. Bei
einem Wert von 10% erhält jeder I-Frame im Verhältnis 10%
mehr Bits. Dieser Wert, wie auch die beiden folgenden müssen
nicht verändert werden, denn die Werte sind gut ausgewählt.
Overflow Treatment
Das "Overflow Treatment" ist dafür
zuständig, dass das Endergebnis, also das fertige Video, genau
der errechneten Zielgröße entspricht. Auch hier sind die
Werte optimal gewählt und müssen nicht verändert
werden.
Curve Compression
Mittels der Curve
Compression haben Sie Einfluss auf die Bitratenverteilung des
gesamten Videos. Über die High Bitrate Scene Degradation können
Sie einen bestimmten Bitanteil von Szenen die viel Bitrate
benötigen, freigeben. Diese gesparten Bits werden dann
gleichmäßig über den gesamten Film aufgeteilt. Mit
dem Low Bitrate Scene Improvement nehmen Sie Bits aus dem gesamten
Film und verteilen diese in Szenen mit niedriger Bitrate. Szenen mit
hoher Bitrate sind meist Actionszenen mit viel Bewegung. Szenen mit
wenig Bitrate sind in der Regel Szenen mit sehr wenig Bewegung und
Standbilder.
Xvid bietet seit geraumer
Zeit einen Bitratenrechner, der die Installation eines
Extra-Programms überflüssig macht. Die Bedienung ist
denkbar einfach. Sie erreichen sie über den calc-Button.
Tragen Sie in "Target Size" die Größe
des Speichermediums ein, für die der Film vorgesehen ist. Die
Werte für eine 650 MB- und 700 MB-CD sind bereits vorgegeben.
Wenn Sie im Video Untertitel verwenden wollen, sollten Sie die Größe
unter "Subtitles" angeben. Sie können auch
Untertitelfile auswählen. Xvid übernimmt dann die exakte
Größe.
Wichtig ist die Angabe des korrekten
Containerformats, da die gebräuchlichsten Formate wie AVI, OGM
und Matroska andere Overheads benutzen und diese leichten Einfluss
auf die endgültige Größe des Films haben. Unter
"Video" tragen Sie die genaue Länge ihres Videos in
Stunden, Minuten und Sekunden ein - die Bildrate in Bilder pro
Sekunde (fps) nicht vergessen. Zum Abschluss ist noch die Angabe der
Audiospur notwendig, die neben der Videospur den größten
Speicherplatz beansprucht. Sie haben die Wahl zwischen MP3 mit
variabler (VBR) und kontstanter Bitrate (CBR), OGG, AC3 und auch
DTS, für die Sie die entsprechende Bitrate eintragen, oder wenn
Sie diese nicht kennen, die Größe in kBytes.
Wenn
Sie alles eingegeben haben, erhalten Sie eine Größenangabe
in kBytes und eine zugehörige Bitrate. Einen der beiden Werte
können Sie im Hauptdialogfeld eintragen, um nach der
Encodierung den Film in der richtigen Größe zu erhalten.
Das "Zone Encoding"
ist eine praktische Erfindung, denn damit können Sie die
Videoqualität für unterschiedliche Bereiche ihres Videos
getrennt beeinflussen. An einem praktischen Beispiel bedeutet dies,
dass der Abspann eines Film mit sehr viel niedriger Qualität
komprimiert werden kann, als der Film selbst.
Um dies zu
bewerkstelligen, definieren Sie zwei Zonen. Eine Zone startet bei
Frame 0 mit einem Weight-Wert von 1. Die zweite Zone startet am
Anfang des Abspanns und erhält eine unterschiedliche Gewichtung
oder einen festen Quantizer. Der Weight-Parameter ist relativ zur
gesamten Bitrate des Videos zu sehen. Ein Weight-Wert von 1 ändert
nichts am Video. Bei einem Wert von 2 würde der Abspann die
doppelte Bitrate des restlichen Videos erhalten. Ein Wert von 0,5
weißt dem Abspann nur die Hälfte der durchschnittlichen
Bitrate des Videos zu. Für unseren Fall ist also ein niedriger
Wert im Bereich von 0.3 bis 0,7 sinnvoll. Geben Sie einen Quantizer
an, wird dieser Videoteil immer mit diesem festen Quantizer codiert.
Wie gut oder schlecht die Qualität wird, hängt deshalb
auch von den Quantizern der anderen Zonen ab.
"Begin
with a keyframe" legt den Beginn einer Zone immer auf einen
Keyframe fest. Diese Option sollten Sie wählen. "Grayscale
Encoding" spart Speicherplatz, indem es jegliche
Farbinformation weglässt und in Graustufen encodiert. Diese
Option ist sehr nützlich für einen Abspann, denn dieser
weist in der Regel keine Farbe auf. Der "Chroma Optimizer"
reduziert die Farbblöcke an scharfen Kanten. Leider geht dies
auf Kosten der Geschwindigkeit. Das encodierte Bild verändert
sich zwar im Vergleich zum Original stärker als ohne diese
Option, die subjektive Bildqualität steigt aber an.
Motion
Tab
MPEG spart den meisten Speicherplatz bei der
Videokompression ein, indem es Bildteile durch Bewegungsvektoren
nachbildet. Um diese Bewegungsvektoren zu finden, bietet XviD
unterschiedlich aufwändige Verfahren an. Eingestellt werden
sie über die "Motion Search Precision". Diesen
sollten sie nach Möglichkeit auf dem höchsten Wert - 6 -
Ultra High belassen. Je niedriger der Wert wird, desto schneller
geht die Vektorsuche vonstatten. Dies schlägt sich allerdings
in einer Verschlechterung der Bildqualität nieder. Bei diesen
Verfahren werden nur die Helligkeitswerte des Videos in die Suche
einbezogen.
Der "VHQ-Mode" intensiviert die
Vektorsuche weiter und verbessert damit auch die Bildqualität.
Allerdings nimmt die Encodinggeschwindigkeit sehr stark ab. "Use
Chroma Motion" schaltet zu der Bewegungsvektorsuche nach
Helligkeitswerten auch die Suche nach Farbwerten mit ein. Diese
Option sollten Sie aktivieren. Der "Turbo Modus"
beschleunigt die Vektorsuche, wenn Qpel und B-Frames verwendet
werden, wobei die Qualität nicht nachteilig beeinflusst wird.
Der Turbo kann also sinnvoll sein und einen leichten
Geschwindigkeitsgewinn mit sich bringen.
"Drop
Frame Value" sollte Sie immer auf 0 belassen. Das "Maximum
I-Frame Interval" definiert einen Wert in Bildern, nach dem
unter allen Umständen ein I-Frame gesetzt wird. Ein Richtwert
ist 10 mal die Bildrate pro Sekunde. Für PAL also 250.
Bleibt letztendlich noch der "Cartoon Mode". Wie
der Name bereits verrät, optimiert er die Encodingoptionen für
Cartoons. Der Encoder vernachlässigt das Bildrauschen, was
sich in einem etwas weniger detaillierten aber saubereren Bild
niederschlägt. Außerdem wird die "Motionestimation"
für statische Szenen angepasst. Lange rede Kurzer sinn, wenn
Sie klassische Cartoons wie die Simpsons oder Futurama encodieren,
sollten Sie diese Option testen.
Quantization
Neben
der Angabe der Bitrate sind die Quantizer das wichtigste Kriterium,
um die Videoqualität zu beeinflussen. Die Quantizer bestimmen,
wie stark das Originalvideo in der Qualität reduziert
(quantisiert) wird. Niedrige Werte beeinflussen das Video sehr
wenig. Hohe Quantizer dagegen führen zu einer starken
Komprimierung.
In XviD können Sie für alle drei
Framearten (I-, P-, B-Frame) die minimalen und maximalen Quantizer
setzen. Die voreingestellten Werte von min 1 und max 31 bedeuten in
der Praxis, dass das Video im Idealfall fast nicht komprimiert wird
(Q=1), wenn nötig aber sehr stark (Q=31). XviD ist in der
Zwischenzeit so intelligent geworden, dass es zu keinen Patzern in
der Quantizeranpassung mehr kommt. Der Encoder wählt für
jede Szene den passenden Quantizer und damit auch die passende
Qualität. Sie können diese Werte also getrost auf ihren
Standardwert belassen. Falls einige Szenen wider erwarten zu
schlechte Qualität aufweisen, können Sie dennoch
versuchen, die maximalen Quantizer zu reduzieren.
Die
Quantisierung des Videos basiert auf einem relativ simplen Prozess,
der leicht optimiert werden kann. Diese Optimierung nennt sich
"Trellis Quantisierung". Sie optimiert die Quantizer, die
für die Qualitätsreduzierung verwendet werden und kann
deshalb eine höhere Bildqualität aufrecht erhalten.
Debug
An den "Debug Optionen" muss nichts
verstellt werden. Diese definieren vor allem die CPU-Optimierungen
des Encoders. Sollten die automatischen Einstellungen falsch sein,
können Sie diese auch manuell angeben.
Interessant ist
noch der FourCC-Code. Mit diesem Code identifiziert der Bilddekoder
den verwendeten Codec. Sie können hier den XviD-Code einstellen
(XVID), oder aber auch die Codes für DivX (DIVX, DX50). Diese
gaukelt dem Decoder einen anderen Codec vor. In der Regel ist dies
aber nicht nötig.
Top-Freeware
Download:
•
xviD
XviDs Ziel ist es, Videos
nach den MPEG-4 Spezifikationen zu erzeugen. Dies kann jedoch nur
gelingen, wenn Sie einige wenige Dinge beachten.
Verwenden
Sie immer die vordefinierten Profile und niemals "Unrestricted".
Dieses Profil liegt außerhalb der Spezifikationen und Sie
sollten es nur verwenden, wenn die MPEG-Normen nicht eingehalten
werden müssen.
Die Videoauflösung muss immer ein
vielfaches von 16 sein, also zum Beispiel 720x576 (720=16x45 |
576=16x36). XviD kann sehr wohl andere Auflösungen verarbeiten.
Dies ist in den Spezifikationen jedoch nicht vorgesehen und kann
Probleme mit anderen Dekodern oder Hardwareplayern verursachen.
Zusammenfassung für Einsteiger
Hier
finden Sie eine kleine Zusammenfassung für Einsteiger, damit
Sie immer wissen, welche Optionen sinnvoll sind und mit welchen
Werten diese am besten arbeiten.
Verwenden Sie nach Möglichkeit immer das 2-Pass-Encoding
Profil: AS@Level 5
Motion Search Precision: 6 - Ultra High (langsam aber gut)
VHQ Modus 1 ist meist ausreichend
Quantization Type: Niedrige Bitrate - H.263, Hohe Bitrate - MPEG
Benutzen Sie B-Frames mit maximal 2 Frames (Maximum B-frames)
Packed Bitstream deaktivieren
Folgende Einstellungen können Sie auf den vordefinierten Werten belassen: Interlaced encoding, greyscale, Debug Einstellungen, Curve compression, overflow treatment, GMC, Reduced Resolution, and Aspect Ratios
Maximum I-frame interval auf 250 setzen
Chroma Optimizer und Chroma Motion sind sehr zu empfehlen