diff options
author | kraymer <kraymer@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-06-05 05:02:47 +0000 |
---|---|---|
committer | kraymer <kraymer@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-06-05 05:02:47 +0000 |
commit | 5c8cb3d02201dbbb0ed95ff5b5a2b9296df621b6 (patch) | |
tree | d711421be35b37c011c3ccf312de280e67eac681 | |
parent | 5a368332d968ad1dc86f306a7542ffab1f224666 (diff) | |
download | mpv-5c8cb3d02201dbbb0ed95ff5b5a2b9296df621b6.tar.bz2 mpv-5c8cb3d02201dbbb0ed95ff5b5a2b9296df621b6.tar.xz |
initial import of some missing German xml translation, review(s) pending
Translation was done by Kurt Lettmaier (k . lettmaier @at@ onlinehome.de ), thank you!
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18569 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | DOCS/xml/de/encoding-guide.xml | 4963 | ||||
-rw-r--r-- | DOCS/xml/de/formats.xml | 531 | ||||
-rw-r--r-- | DOCS/xml/de/history.xml | 119 | ||||
-rw-r--r-- | DOCS/xml/de/mencoder.xml | 692 | ||||
-rw-r--r-- | DOCS/xml/de/ports.xml | 844 | ||||
-rw-r--r-- | DOCS/xml/de/skin.xml | 1244 | ||||
-rw-r--r-- | DOCS/xml/de/users-vs-dev.xml | 258 | ||||
-rw-r--r-- | DOCS/xml/de/video.xml | 2788 |
8 files changed, 11439 insertions, 0 deletions
diff --git a/DOCS/xml/de/encoding-guide.xml b/DOCS/xml/de/encoding-guide.xml new file mode 100644 index 0000000000..7af99f4ef6 --- /dev/null +++ b/DOCS/xml/de/encoding-guide.xml @@ -0,0 +1,4963 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- In sync with rev. 1.50 --> +<chapter id="encoding-guide"> +<title>Encodieren mit <application>MEncoder</application></title> + +<sect1 id="menc-feat-dvd-mpeg4"> +<title>Erzeugen eines hochwertigen MPEG-4-Rips ("DivX") eines DVD-Films</title> + +<para> + Eine häufig gestellte Frage ist "Wie mache ich den hochwertigsten + Rip für eine gegebene Größe?". Eine weitere Frage ist "Wie mache den qualitativ + bestmöglichen DVD-Rip? Die Dateigröße ist mir egal, ich will einfach nur + die beste Qualität." +</para> + +<para> + Die letzte Frage ist zumindest etwas falsch gestellt. Wenn du dir + schließlich keine Gedanken um die Dateigröße machst, warum kopierst Du + dann nicht einfach den kompletten MPEG-2-Videostream der DVD? + Sicherlich, deine AVI wird am Ende 5GB groß sein, so oder so, jedoch ist + dies mit Sicherheit deine beste Option, wenn du die beste Qualität + erhalten willst und dich nicht um die Größe kümmerst. +</para> + +<para> + Tatsache ist, der Grund eine DVD eigens in MPEG-4 umzuencodieren ist + gerade <emphasis role="bold">weil</emphasis> dir die Größe wichtig ist. +</para> + +<para> + Es ist sehr schwierig, ein Rezept zum Erzeugen eines sehr + hochwertigen DVD-Rips anzubieten. Es gilt mehrere Faktoren zu + berücksichtigen und du solltest dich mit diesen Details auskennen oder + du wirst voraussichtlich am Ende von den Resultaten enttäuscht. + Nachfolgend werden wir einige dieser Themen etwas näher untersuchen + und uns danach ein Beispiel ansehen. Wir gehen davon aus, dass Du + <systemitem class="library">libavcodec</systemitem> zum Encodieren des + Videos verwendest, obwohl diese Theorie genauso gut auf andere Codecs + zutrifft. +</para> + +<para> + Ist dies alles zu viel für Dich, solltest du womöglich auf einen der vielen + guten Frontends zurückgreifen, die in der + <ulink url="http://www.mplayerhq.hu/design7/projects.html#mencoder_frontends">MEncoder-Sektion</ulink> + unserer diesbezüglichen Projektseite zu finden sind. + Auf diese Weise solltest du in der Lage sein, hochwertige Rips zu + erhalten ohne viel nachdenken zu müssen, da die meisten dieser Tools entworfen + wurden, clevere Entscheidungen für dich zu treffen. +</para> + +<sect2 id="menc-feat-dvd-mpeg4-preparing-encode"> +<title>Vorbereitung aufs Encodieren: Identifizieren Sie Quellmaterial und Framerate</title> +<para> + Bevor du über das Encodieren eines Films nachdenkst, solltest du einige einleitende + Schritte vornehmen. +</para> + +<para> + Der erste und allerwichtigste Schritt vor dem Encodieren sollte sein, + festzustellen, mit welchem Inhaltstyp du umgehst. + Kommt dein Quellmaterial von einer DVD oder einem Rundfunk-/Kabel-/Satelliten-TV, + wird es in einem von zwei Formaten abgespeichert: NTSC für Nord-Amerika und Japan, + PAL für Europa usw. + Es ist wichtig, sich klar zu machen, dass dies ganz einfach die Formatierung + für die Präsentation auf einem Fernsehgerät ist und häufig + <emphasis role="bold">nicht</emphasis> mit dem originalen Format des Films + korrespondiert. Die Erfahrung zeigt, dass NTSC-Material schwieriger zu + encodieren ist, da mehr Elemente in der Quelle zu identifizieren sind. + Um eine geeignete Encodierung zu produzieren, solltest du das originale + Format kennen. + Fehler, dies sollte man berücksichtigen, führen zu diversen Fehlerstellen + in deiner Encodierung, einschließlich hässlicher Kammartefakte (combing/interlacing) + und doppelten oder gar verlorenen Frames. + Abgesehen davon, dass sie unschön sind, beeinflussen diese Artefakte die + Codierungseffizienz negativ: + du erhältst eine schlechtere Qualität pro Bitrateneinheit. +</para> + +<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps"> +<title>Identifizieren der Quellframerate</title> +<para> + Hier ist eine Liste der verbreiteten Typen des Quellmaterials, in der Du + diese und ihre Eigenschaften wahrscheinlich finden wirst: +</para> +<itemizedlist> +<listitem><para> + <emphasis role="bold">Standardfilm</emphasis>: Produziert für + theatralische Anzeige bei 24fps. +</para></listitem> +<listitem><para> + <emphasis role="bold">PAL-Video</emphasis>: Aufgenommen mit einer + PAL-Videokamera bei 50 Feldern pro Sekunde. + Ein Feld besteht ganz einfach aus den ungerade oder gerade nummerierten + Zeilen eines Frames. + Fernsehen wurde entworfen, diese Felder im Wechsel als billige Form + einer analogen Komprimierung zu aktualisieren. + Das menschliche Auge kompensiert dies angeblich, aber wenn Du + interlacing einmal verstanden hast, wirst du lernen, es auch auf + dem TV-Bildschirm zu erkennen und nie wieder Spass am Fernsehen haben. + Zwei Felder machen <emphasis role="bold">keinen</emphasis> kompletten + Frame, da sie in einer 50-stel Sekunde zeitlich getrennt aufgenommen + werden und so nicht Schlange stehen solange keine Bewegung da ist. +</para></listitem> +<listitem><para> + <emphasis role="bold">NTSC-Video</emphasis>: Aufgenommen mit einer + NTSC-Videokamera bei 60000/1001 Feldern pro Sekunde oder 60 Feldern + pro Sekunde zu Zeiten vor der Farbe. + Ansonsten ähnlich wie PAL. +</para></listitem> +<listitem><para> + <emphasis role="bold">Animation</emphasis>: Üblicherweise bei + 24fps gezeichnet, kommt jedoch auch in Arten mit gemischter Framerate vor. +</para></listitem> +<listitem><para> + <emphasis role="bold">Computer Graphics (CG)</emphasis>: Kann + irgend eine Framerate sein, jedoch sind einige üblicher als andere; + 24 und 30 Frames pro Sekunde sind typisch für NTSC und 25fps ist + typisch für PAL. +</para></listitem> +<listitem><para> + <emphasis role="bold">Alter Film</emphasis>: Diverse niedrigere + Frameraten. +</para></listitem> +</itemizedlist> +</sect3> + +<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material"> +<title>Identifizieren des Quellmaterials</title> +<para> + Filme, die sich aus Frames zusammensetzen, werden den progressiven + zugeordnet, während die aus unabhängigen Feldern bestehenden + entweder interlaced (engl. für verschachteln) oder Video + genannt werden - somit ist letzterer Terminus zweideutig. +</para> +<para> + Um das ganze noch zu komplizieren, sind manche Filme ein + Gemisch aus einigen der oben Beschriebenen. +</para> +<para> + Das wichtigste Unterscheidungsmerkmal zwischen all diesen + Formaten ist, dass einige Frame-basiert andere wiederum + Feld-basiert sind. + <emphasis role="bold">Immer</emphasis> wenn ein Film für die + Anzeige auf dem Fernseher vorbereitet wird (einschließlich + DVD), wird er in ein Feld-basiertes Format konvertiert. + Die zahlreichen Methoden mit denen dies bewerkstelligt werden + kann, werden insgesamt dem "pulldown" zugeordnet, von welchem + das verrufene NTSC "3:2 telecine" eine Abart darstellt. + Solange das Originalmaterial Feld-basiert war (bei gleicher + Feldrate), erhältst du einen Film in einem anderen Format als + das Original. +</para> + +<itemizedlist> +<title>Es gibt einige verbreitete Typen des pulldown:</title> +<listitem><para> + <emphasis role="bold">PAL 2:2 pulldown</emphasis>: Das schönste von + allen. + Jeder Frame wird durch das wechselweise Extrahieren und Anzeigen + der geradzahligen und ungeradzahligen Zeilen für die Dauer von zwei + Feldern dargestellt. + Hat das Originalmaterial 24fps, beschleunigt dieser Prozess den Film + um 4%. +</para></listitem> +<listitem><para> + <emphasis role="bold">PAL 2:2:2:2:2:2:2:2:2:2:2:3 pulldown</emphasis>: + Jeder 12-te Frame, anstatt nur jeder 2-te, wird für die Dauer von zwei + Feldern dargestellt. + Dies vermeidet die 4% Geschwindigkeitssteigerung, macht jedoch das + Umkehren des Prozesses viel schwieriger. + Es ist üblicherweise in Musical-Produktionen zu sehen, wo das Anpassen der + Geschwindigkeit um 4% sicherlich das musikalische Ergebnis kaputt machen würde. +</para></listitem> +<listitem><para> + <emphasis role="bold">NTSC 3:2 telecine</emphasis>: Frames werden + abwechselnd für die Dauer von 3 oder 2 Feldern angezeigt. + Dies verleiht der Feldrate das 2.5-fache der originalen Framerate. + Das Resultat wird dadurch auch leicht von 60 Feldern pro Sekunde auf + 60000/1001 Felder pro Sekunde verlangsamt, um die NTSC-Felddrate + beizubehalten. +</para></listitem> +<listitem><para> + <emphasis role="bold">NTSC 2:2 pulldown</emphasis>: Verwendet zur + Darstellung von 30fps Material auf NTSC. + Schön, wie das 2:2 PAL pulldown. +</para></listitem> +</itemizedlist> + +<para> + Es gibt auch Methoden zur Konvertierung zwischen NTSC- und PAL-Video, + jedoch liegen diese Themen jenseits des Rahmens dieser Anleitung. + Wenn du auf solch einen Film stößt und ihn encodieren willst, solltest + du besser eine Kopie im originalen Format suchen. + Die Konvertierung zwischen diesen beiden Formaten ist hochdestruktiv und + kann nicht spurlos rückgängig gemacht werden, somit wird deine Encodierung + außerordentlich darunter leiden, wenn sie aus einer konvertierten Quelle + erzeugt wurde. +</para> +<para> + Wenn ein Video auf DVD gespeichert wird, werden fortlaufend Feldpaare + als Frames gruppiert, auch wenn nicht beabsichtigt ist, diese gleichzeitig + zu zeigen. + Der bei DVD und digitalem TV verwendete MPEG-2-Standard bietet einen Weg + für beides, die originalen progressiven Frames zu encodieren und die Anzahl + der Felder, für die ein Frame gezeigt werden soll, im Header dieses Frames + zu speichern. + Wurde diese Methode angewandt, wird dieser Film oft als "soft telecined" + beschrieben, da der Prozess eher nur den DVD-Player anweist, pulldown + auf den Film anzuwenden, als den Film selbst abzuändern. + Dieser Fall sollte möglichst bevorzugt werden, da er (eigentlich ignoriert) + leicht vom Encoder rückgängig gemacht werden kann und da er die maximale + Qualität beibehält. + Wie auch immer, viele DVD- und Rundfunkproduktionsstudios verwenden + keine passenden Encodiertechniken, sie produzieren stattdessen Filme mit + "hard telecine", bei denen Felder sogar in encodiertes MPEG-2 dupliziert + werden. +</para> +<para> + Die damit arbeitenden Produzenten werden + <link linkend="menc-feat-telecine">später in diesem Handbuch</link> + mit einbezogen. + Wir lassen dich jetzt mit einigen Anleitungen zur Identifizierung der + Materialtypen zurück, mit denen du es zu tun hast: +</para> + +<itemizedlist> +<title>NTSC-Bereiche:</title> +<listitem><para> + Wenn <application>MPlayer</application> angibt, dass die Framerate + während des Betrachtens des Films nach 24000/1001 gewechselt ist + und diese nie wieder zurückwechselt, handelt es sich meist mit + Sicherheit um progressiven Inhalt, der "soft telecined" wurde. +</para></listitem> +<listitem><para> + Wenn <application>MPlayer</application> anzeigt, dass die Framerate + zwischen 24000/1001 und 30000/1001 vor und zurück wechselt, und Du + siehst hin und wieder "combing", dann gibt es mehrere Möglichkeiten. + Die Segmente mit 24000/1001 fps sind meist mit Sicherheit progressiver + Inhalt, "soft telecined", jedoch die Teile mit 30000/1001 fps könnten + entweder "hard telecined" 24000/1001 fps Inhalt oder 60000/1001 Felder + pro Sekunde NTSC-Video sein. + Verwende die selben Richtwerte wie in folgenden zwei Fällen, um zu + bestimmen, um was es sich handelt. +</para></listitem> +<listitem><para> + Wenn <application>MPlayer</application> nie einen Frameratenwechsel + anzeigt und jeder einzelne Frame mit Bewegung gekämmt (combed) erscheint, + ist dein Film ein NTSC-Video bei 60000/1001 Feldern pro Sekunde. +</para></listitem> +<listitem><para> + Wenn <application>MPlayer</application> nie einen Frameratenwechsel + anzeigt und zwei von fünf Frames gekämmt (combed) erscheinen, ist + dein Film "hard telecined" 24000/1001fps Inhalt. +</para></listitem> +</itemizedlist> + +<itemizedlist> +<title>PAL-Bereiche:</title> +<listitem><para> + Wenn du niemals irgend ein Combing siehst, ist dein Film 2:2 pulldown. +</para></listitem> +<listitem><para> + Siehst du alle halbe Sekunde abwechselnd ein und ausgehendes Combing, + dann ist dein Film 2:2:2:2:2:2:2:2:2:2:2:3 pulldown. +</para></listitem> +<listitem><para> + Hast du immer während Bewegungen Combing gesehen, dann ist dein Film + PAL-Video bei 50 Feldern pro Sekunde. +</para></listitem> +</itemizedlist> + +<note><title>Hint:</title> +<para> + <application>MPlayer</application> kann das Filmplayback + mittels der Option -speed verlangsamen oder Frame für Frame abspielen. + Versuche <option>-speed</option> 0.2 zu verwenden, um den Film sehr lamgsam + anzusehen oder drücke wiederholt die Taste "<keycap>.</keycap>", um jeweils + einen Frame abzuspielen und identifiziere dann das Muster, wenn du bei voller + Geschwindigkeit nichts erkennen kannst. +</para> +</note> +</sect3> +</sect2> + +<sect2 id="menc-feat-dvd-mpeg4-2pass"> +<title>Konstantenquantisierer vs. Multipass</title> + +<para> + Es ist möglich, deinen Film in einer großen Auswahl von Qualitäten zu + encodieren. + Mit modernen Videoencodern und ein wenig Pre-Codec-Kompression + (Herunterskalierung (downscaling) und Rauschunterdrückung (denoising)), kann eine sehr gute + Qualität bei 700 MB erreicht werden, für einen 90-110 Minute Breitwandfilm. + Des Weiteren können alle - sogar die längsten - Filme mit nahezu perfekter + Qualität bei 1400 MB encodiert werden. +</para> + +<para> + Es gibt drei Annäherungen für das Encodieren eines Videos: konstante Bitrate + (CBR), konstanter Quantisierer und Multipass (ABR, oder mittlere Bitrate). +</para> + +<para> + Die Komplexität der Frames eines Filmes und somit die Anzahl der für + deren Komprimierung erforderlichen Bits kann von einer Szene zur anderen + außerordentlich variieren. + Moderne Videoencodern können sich durch Variieren der Bitrate an diese + Anforderungen anpassen. + In einfachen Modi wie CBR, kennen die Encoder jedoch nicht den + Bitratenbedarf zukünftiger Szenen und sind somit nicht in der Lage, + die angeforderte mittlere Bitrate über längere Zeitspannen zu + überschreiten. + Erweiterte Modi wie etwa Multipass-Encodierung können die Statistik + früherer Durchgänge berücksichtigen; dies behebt das oben erwähnte + Problem. +</para> + +<note><title>Beachten Sie:</title> +<para> + Die meisten Codecs, die ABR-Encodierung unterstützen, unterstützen nur + die Encodierung in zwei Durchgängen (two pass) während einige andere wie + etwa <systemitem class="library">x264</systemitem>, + <systemitem class="library">XviD</systemitem> + und <systemitem class="library">libavcodec</systemitem> Multipass + unterstützen, was die Qualität bei jedem Durchgang leicht verbessert, + jedoch ist diese Verbesserung nicht mehr messbar noch ist sie nach dem + 4-ten Durchgang oder so spürbar. + Aus diesem Grund werden in diesem Abschnitt die Encoderierung mit 2 Durchläufen + (two pass) und Multipass abwechselnd angewandt. +</para> +</note> + +<para> + In jedem dieser Modi bricht der Videocodec (wie etwa + <systemitem class="library">libavcodec</systemitem>) + den Videoframe in 16x16 Pixel Macroblöcke und wendet danach einen + Quantisierer auf jeden Macroblock an. Je niedriger der Quantisierer desto + besser die Qualität und desto höher die Bitrate. + Die Methode, die der Filmencoder zur Bestimmung des auf einen gegebenen + Macroblock anzuwendenden Quantisierer verwendet, variiert und ist in + hohem Maße einstellbar. (Dies ist eine extreme übertriebene Vereinfachung + des aktuellen Prozesses, aber nützlich das Grundkonzept zu verstehen.) +</para> + +<para> + Wenn du eine konstante Bitrate festlegst, wird der Videocodec das Video + so encodieren, dass so viele Details wie notwendig und so wenig + wie möglich ausgesondert werden, um unterhalb der vorgegebenen Bitrate zu + bleiben. Wenn du dich wirklich nicht um die Dateigröße kümmerst, könntest + du auch CBR verwenden und eine nahezu endlose Bitrate festlegen. + (In der Praxis bedeutet dies einen Wert, der hoch genug ist kein Limit + aufzuwerfen wie 10000Kbit.) Ohne echte Einschränkung der Bitrate wird + der Codec als Ergebnis den niedrigsten möglichen Quantisierer für jeden + Macroblock anwenden (wie durch <option>vqmin</option> für + <systemitem class="library">libavcodec</systemitem> + spezifiziert, standardmäßig ist dies 2). + Sobald du eine Bitrate festlegst, die niedrig genug ist, den + Codec zur Anwendung eines höheren Quantisierers zu zwingen, bist Du + nahezu sicher dabei, die Qualität deines Videos zu ruinieren. + Um dies zu vermeiden, solltst du möglicherweise dein Video wie + in der später in diesem Handbuch beschriebenen Methode reduzieren. + Im Allgemeinen solltst du CBR vollkommen meiden, wenn dir Qualität + wichtig ist. +</para> + +<para> + Mit konstantem Quantisierer wendet der Codec den selben Quantisierer, wie + durch die Option <option>vqscale</option> (für + <systemitem class="library">libavcodec</systemitem>) spezifiziert, auf jeden + Macroblock an. + Willst du einen Rip mit höchstmöglicher Qualität und ignorierst dabei + wiederum die Bitrate, kannst du <option>vqscale=2</option> verwenden. + Dies wird die selbe Bitrate und PSNR (peak signal-to-noise ratio) liefern + wie CBR mit <option>vbitrate</option>=infinity und dem standardmäßigen + <option>vqmin</option> von 2. +</para> + +<para> + Das Problem mit konstantem Quantisierer ist, dass der vorgegebene Quantisierer + zum Einsatz kommt, egal ob der Macroblock ihn benötigt oder nicht. Dies heißt, + es wäre möglich, einen höheren Quantisierer auf einen Macroblock anzuwenden, + ohne sichtbare Qualität zu opfern. Warum die Bits für einen unnötig kleinen + Quantisierer verschwenden? deine CPU hat soundso viele Arbeitsgänge Zeit zur + Verfügung, die Festplatte jedoch nur soundso viele Bits. +</para> + +<para> + Bei einer Encodierung mit zwei Durchläufen (two pass), wird der erste Durchgang + den Film so rippen, als würde CBR vorliegen, jedoch wird ein Log die Eigenschaften + jedes Frames beibehalten. Diese Daten werden danach während des zweiten Durchgangs + dazu verwendet, intelligente Entscheidungen zur Wahl des Quantisierers zu treffen. + Während schneller Aktionen oder hochdetaillierter Szenen werden womöglich + höhere Quantisierer, während langsamen Bewegungen und Szenen mit weniger Details + niedrigere Quantisierer verwendet. + Normalerweise ist die Anzahl der Bewegungen wichtiger als die der Details. +</para> + +<para> + Wenn du <option>vqscale=2</option> verwendest, verschwendest du Bits. Wenn + du <option>vqscale=3</option> anwendest, wirst du keinen Rip mit bestmöglicher + Qualität erhalten. Angenommen du rippst eine DVD mit <option>vqscale=3</option> + und das Resultat ist 1800Kbit. Wenn du in zwei Durchgängen (two pass) mit + <option>vbitrate=1800</option> encodierst, wird das daraus resultierende Video + eine <emphasis role="bold">bessere Qualität</emphasis> bei + <emphasis role="bold">gleicher Bitrate</emphasis> haben. +</para> + +<para> + Da du nun davon überzeugt bist, dass zwei Durchgänge (two pass) den besten + Weg darstellen, stellt sich jetzt tatsächlich die Frage, welche Bitrate + verwendet werden soll? Die Antwort ist, dass es nicht nur eine + Antwort gibt. Idealerweise willst du eine Bitrate wählen, die die beste Balance + zwischen Qualität und Dateigröße ergibt. Die kann abhängig vom Quellvideo + variieren. +</para> + +<para> + Interessiert die Größe nicht, stellen etwa 2000Kbit plus oder minus 200Kbit + einen guten Ausgangspunkt für einen sehr hochqualitativen Rip dar. + Bei einem Video mit schnellen Aktionen oder hohen Details, oder wenn du schlicht + und ergreifend ein sehr kritisches Auge besitzst, könntest du dich für 2400 + oder 2600 entscheiden. + Bei einigen DVDs kannst du eventuell keinen Unterschied bei 1400Kbit feststellen. + um ein besseres Gefühl zu bekommen, ist es eine gute Idee, mit Szenen bei + unterschiedlichen Bitraten herum zu experimentieren. +</para> + +<para> + Wenn du eine bestimmte Größe anvisierst, mußt du die Bitrate irgendwie + kalkulieren. + Aber zuvor solltest du wissen, wieviel Platz du für den/die Audiotrack(s) + reservieren mußt, daher solltest Du + <link linkend="menc-feat-dvd-mpeg4-audio">diese(n) zuerst rippen</link>. + du kannst die Bitrate mit folgender Gleichung berechnen: + <systemitem>Bitrate = (zielgroesse_in_MByte - soundgroesse_in_MByte) * + 1024 * 1024 / laenge_in_sek * 8 / 1000</systemitem> + Um zum Beispiel einen zweistündigen Film auf eine 702MB CD mit einem 60MB + Audiotrack zu bekommen, sollte die Videobitrate folgendermaßen sein: + <systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000 + = 740kbps</systemitem> +</para> + +</sect2> + + +<sect2 id="menc-feat-dvd-mpeg4-constraints"> +<title>Randbedingungen für effizientes Encodieren</title> + +<para> + Aufgrund der Natur der MPEG-Komrimierung, gibt es zahlreiche + Randbedingungen, denen du zum Erreichen maximaler Qualität folgen + solltest. + MPEG splittet das Video in Macroblöcke genannte 16x16 Quadrate auf, + jeder davon zusammengesetzt aus 4 8x8 Blöcken mit + Luma-(Intensitäts)-Informationen und zwei halb-auflösenden 8x8 + Chroma-(Farb)-Blöcken (einer für die Rot-Zyan-Achse und der andere für + die Blau-Gelb-Achse). + Selbst wenn breite und Höhe deines Films kein Vielfaches von 16 sind, + wird der Encoder ausreichend 16x16 Macroblöcke zur Abdeckung des + gesamten Bildbereichs verwenden und der Extraplatz wird verschwendet. + Folglich ist es keine gute Idee, im Interesse der Maximierung der + Qualität bei fester Dateigröße, Abmessungen zu verwenden die kein + Vielfaches von 16 sind. +</para> + +<para> + Die meisten DVDs besitzen ein bestimmtes Maß schwarzer Ränder + an ihren Kanten. Diese dort zu belassen, kann die Qualität auf + verschiedene Art und Weise negativ beeinflussen. +</para> + +<orderedlist> +<listitem> +<para> + MPEG-Kompression hängt ebenso in höchstem Maße von den + Frequenzbereichs-Transformationen ab, insbesondere von der + Discrete Cosine Transform (DCT), die der Fourier Transform ähnelt. + Diese Art Encodierung ist für darstellende Muster und weiche + Übergänge effizient, hat jedoch große Probleme mit scharfen Kanten. + Um diese zu encodieren muß sie viel mehr Bits verwenden, + oder andernfalls wird ein als Klingeln (ringing) bekannter Artefakt + auftreten. +</para> + +<para> + Die Frequency Transform (DCT) erfolgt separat auf jeden + Macroblock (eigentlich auf jeden Block), somit trifft dieses Problem + nur zu, wenn sich in einem Block eine scharfe Kante befindet. + Beginnt dein schwarzer Rand exakt an den Grenzen zum Vielfachen von + 16 Pixeln, stellt dies kein Problem dar. + Seis drum, die schwarzen Ränder bei DVDs werden in den seltensten + Fällen schön angeordnet, daher wirst du sie in der Praxis immer + abschneiden müssen um diesen Nachteil zu vermeiden. +</para> +</listitem> +</orderedlist> + +<para> + Zusätzlich zu den Frequenzbereichs-Transformationen, verwendet die + MPEG-Kompression Bewegungsvektoren, um den Wechsel von einem Frame + zum anderen darzustellen. + Bewegungsvektoren arbeiten bei Inhalt, der von den Kanten eines Bildes + her einfließt, normalerweise weniger effizient, da dieser im vorherigen + Frame nicht vorhanden ist. Solange sich das Bild bis voll zur Kante des + encodierten Bereichs hin vergrößert, haben Bewegungsvektoren kein Problem + mit Inhalt, der sich aus den Kanten des Bildes hinausbewegt. Die Präsenz + schwarzer Ränder kann jedoch Ärger machen: +</para> + +<orderedlist continuation="continues"> +<listitem> +<para> + Die MPEG-Kompression speichert für jeden Macroblock einen Vektor, + um ausfindig zu machen, welcher Teil des vorherigen Frames in diesen + Macroblock als Basis zur Vorhersage des nächsten Frames kopiert + werden soll. Nur die verbleibenden Unterschiede müssen encodiert werden. + Überspannt der Macroblock die Kante des Bildes und enthält einen + Teil des schwarzen Randes, werden Bewegungsvektoren aus anderen + Teilen des Bildes den schwarzen Rand überschreiben. Dies bedeutet, dass + jede Menge Bits entweder zur wiederholten Schwärzung des überschriebenen + Randes aufgewendet werden müssen oder es wird (eher) erst gar kein + Bewegungsvektor genutzt und alle Änderungen innerhalb dieses Macroblocks + müssen explizit encodiert werden. So oder so wird die Encodiereffizienz + außerordentlich reduziert. +</para> + +<para> + Nochmal, dieses Problem trifft nur dann zu, wenn keine schwarzen Ränder + an den Grenzen eines Vielfachen von 16 anstehen. +</para> +</listitem> + +<listitem> +<para> + Zuletzt noch was, angenommen wir haben einen Macroblock im Inneren des + Bildes und ein Objekt bewegt sich aus Richtung Nähe der Kante des Bildes + her in diesen Block hinein. Die MPEG-Encodierung kann nicht sagen + "kopiere den Teil, der innerhalb des Bildes liegt, den schwarzen Rand + aber nicht". Somit wird der schwarze Rand ebenfalls mit hinein kopiert + und jede Menge Bits müssen zur Encodierung des Teils des Bildes, der + dort angenommen wird, aufgewendet werden. +</para> + +<para> + Läuft das Bild ständig zur Kante des encodierten Bereichs, besitzt + MPEG spezielle Optimierungen, um immer wieder dann die Pixel am Rand des + Bildes zu kopieren, wenn ein Bewegungsvektor von außerhalb des + encodierten Bereichs ankommt. Dieses Feature wird nutzlos, wenn der Film + schwarze Ränder hat. Im Gegensatz zu den Problemen 1 und 2, hilft hier + kein Anordnen der Ränder am Vielfachen von 16. +</para> +</listitem> + +<listitem> +<para> + Trotzdem die Ränder komplett schwarz sind und sich nie ändern, ist + zumindest ein minimaler Overhead damit verbunden, mehr Macroblöcke + zu besitzen. +</para> +</listitem> +</orderedlist> + +<para> + Aus all diesen Gründen wird empfohlen, schwarze Ränder voll abzuschneiden. + Mehr noch, liegt ein Bereich mit Rauschen/Verzerrung an der Kante des Bildes, + steigert dessen Abschneiden ebenso die Encodiereffizienz. Videophile Puristen, + die den Originalzustand so nah wie möglich sichern wollen, + mögen dieses Abschneiden (cropping) beanstanden, wenn du jedoch nicht planst, + bei konstantem Quantisierer zu encodieren, wird der Qualitätsgewinn, den Du + durch dieses Abschneiden erreichst, beträchtlich über dem Verlust an Informationen + an den Kanten liegen. +</para> +</sect2> + + +<sect2 id="menc-feat-dvd-mpeg4-crop"> +<title>Abschneiden und Skalieren</title> + +<para> + Wiederaufruf der vorherigen Sektion, dass die letzte von Dir + encodierte Bildgröße ein Vielfaches von 16 sein sollte (bei beidem, + Breite und Höhe). + Diese kann durch Abschneiden, Skalieren erreicht werden oder durch + eine Kombination von beidem. +</para> + +<para> + Beim Abschneiden gibt es ein paar Richtwerte, die befolgt werden müssen, + um eine Zerstörung des Films zu vermeiden. + Das normale YUV-Format, 4:2:0, speichert Chroma-(Farb)-Informationen + in einer Unterstichprobe (subsampled), z.B. wird Chroma nur halb so oft + in jede Richtung gesampelt wie Luma-(Intensitäts)-Informationen. + Beobachte dieses Diagramm, in dem L Luma-Samplingpunkte bedeuten und C + für Chroma steht. +</para> + +<informaltable> +<?dbhtml table-width="40%" ?> +<?dbfo table-width="40%" ?> +<tgroup cols="8" align="center"> +<colspec colnum="1" colname="col1"/> +<colspec colnum="2" colname="col2"/> +<colspec colnum="3" colname="col3"/> +<colspec colnum="4" colname="col4"/> +<colspec colnum="5" colname="col5"/> +<colspec colnum="6" colname="col6"/> +<colspec colnum="7" colname="col7"/> +<colspec colnum="8" colname="col8"/> +<spanspec spanname="spa1-2" namest="col1" nameend="col2"/> +<spanspec spanname="spa3-4" namest="col3" nameend="col4"/> +<spanspec spanname="spa5-6" namest="col5" nameend="col6"/> +<spanspec spanname="spa7-8" namest="col7" nameend="col8"/> + <tbody> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + <row> + <entry spanname="spa1-2">C</entry> + <entry spanname="spa3-4">C</entry> + <entry spanname="spa5-6">C</entry> + <entry spanname="spa7-8">C</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + <row> + <entry spanname="spa1-2">C</entry> + <entry spanname="spa3-4">C</entry> + <entry spanname="spa5-6">C</entry> + <entry spanname="spa7-8">C</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + </tbody> +</tgroup> +</informaltable> + +<para> + Wie du sehen kannst, kommen Zeilen und Spalten des Bildes natürlich paarweise. + Folglich <emphasis>müssen</emphasis> deine Abschneide-(crop)-Offsets und + Abmessungen geradzahlig sein. + Sind sie dies nicht, wird Chroma nicht mehr korrekt mit Luma abgeglichen. + In der Theorie ist es möglich, mit ungeraden Offsets abzuschneiden, jedoch + erfordert dies ein Resampling von Chroma, was potentiell eine mit Verlust + verbundene (lossy) Operation bedeutet und vom Crop-Filter nicht unterstützt + wird. +</para> + +<para> + Weiterhin wird interlaced Video folgendermaßen gesampelt: +</para> + +<informaltable> +<?dbhtml table-width="80%" ?> +<?dbfo table-width="80%" ?> +<tgroup cols="16" align="center"> +<colspec colnum="1" colname="col1"/> +<colspec colnum="2" colname="col2"/> +<colspec colnum="3" colname="col3"/> +<colspec colnum="4" colname="col4"/> +<colspec colnum="5" colname="col5"/> +<colspec colnum="6" colname="col6"/> +<colspec colnum="7" colname="col7"/> +<colspec colnum="8" colname="col8"/> +<colspec colnum="9" colname="col9"/> +<colspec colnum="10" colname="col10"/> +<colspec colnum="11" colname="col11"/> +<colspec colnum="12" colname="col12"/> +<colspec colnum="13" colname="col13"/> +<colspec colnum="14" colname="col14"/> +<colspec colnum="15" colname="col15"/> +<colspec colnum="16" colname="col16"/> +<spanspec spanname="spa1-2" namest="col1" nameend="col2"/> +<spanspec spanname="spa3-4" namest="col3" nameend="col4"/> +<spanspec spanname="spa5-6" namest="col5" nameend="col6"/> +<spanspec spanname="spa7-8" namest="col7" nameend="col8"/> +<spanspec spanname="spa9-10" namest="col9" nameend="col10"/> +<spanspec spanname="spa11-12" namest="col11" nameend="col12"/> +<spanspec spanname="spa13-14" namest="col13" nameend="col14"/> +<spanspec spanname="spa15-16" namest="col15" nameend="col16"/> + <tbody> + <row> + <entry namest="col1" nameend="col8">Oberes Feld</entry> + <entry namest="col9" nameend="col16">Unteres Feld</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + </row> + <row> + <entry spanname="spa1-2">C</entry> + <entry spanname="spa3-4">C</entry> + <entry spanname="spa5-6">C</entry> + <entry spanname="spa7-8">C</entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + </row> + <row> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + </row> + <row> + <entry></entry> + <entry></entry> |