aboutsummaryrefslogtreecommitdiffhomepage
path: root/DOCS
diff options
context:
space:
mode:
authorGravatar kraymer <kraymer@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-09-27 08:59:17 +0000
committerGravatar kraymer <kraymer@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-09-27 08:59:17 +0000
commit172e0cccb4546ddd2da843babe9e6f8d4c72707e (patch)
tree9fae5f24f09fa91599a6a32f13a3c13c0316598b /DOCS
parent4c4d035904b0171a6d17a5e97ab0ef11900b4ef8 (diff)
cosmetics: reformatting, aligning
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19988 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'DOCS')
-rw-r--r--DOCS/xml/de/audio.xml111
-rw-r--r--DOCS/xml/de/bugreports.xml829
-rw-r--r--DOCS/xml/de/containers.xml1067
-rw-r--r--DOCS/xml/de/documentation.xml382
-rw-r--r--DOCS/xml/de/encoding-guide.xml9967
-rw-r--r--DOCS/xml/de/install.xml1343
-rw-r--r--DOCS/xml/de/ports.xml1851
7 files changed, 7916 insertions, 7634 deletions
diff --git a/DOCS/xml/de/audio.xml b/DOCS/xml/de/audio.xml
index 899f966065..f84063ce44 100644
--- a/DOCS/xml/de/audio.xml
+++ b/DOCS/xml/de/audio.xml
@@ -1,61 +1,60 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- in sync with r17322 -->
+
<chapter id="audio">
-<title>Audioausgabegeräte</title>
-<sect1 id="sync">
-<title>Audio/Video-Synchronisation</title>
-
-<para>
-Soundkartentreiber für Linux bereiten Kompatibilitätsprobleme. Dies liegt
-daran, dass sich <application>MPlayer</application> auf ein eingebautes
-Feature von <emphasis>ordentlich</emphasis> programmierten Soundkartentreibern
-verlässt, das es ermöglicht, korrekte Audio/Video-Synchronisation beizubehalten.
-Leider ist es jedoch so, dass sich manche Schreiber der Treiber um dieses
-Feature nicht kümmern, da es zum Abspielen von MP3s oder für Soundeffekte
-nicht benötigt wird.
-</para>
-
-<para>
-Andere Mediaplayer wie <ulink url="http://avifile.sf.net">aviplay</ulink>
-oder <ulink url="http://xinehq.de">xine</ulink> funktionieren vermutlich
-deshalb von Haus aus mit diesen Treibern, da sie "einfache" Methoden
-mit internem Timing verwenden. Messungen haben gezeigt, dass deren Methoden
-nicht so effizient sind wie die von <application>MPlayer</application>.
-</para>
-
-<para>
-Die Benutzung von <application>MPlayer</application> mit einem ordentlich
-geschriebenen Audiotreiber wird niemals zu mit Audio im Zusammenhang
-stehender A/V-Desynchronisation führen, außer bei sehr schlecht erstellten
-Dateien (siehe Manpage für Umgehungsmöglichkeiten).
-</para>
-
-<para>
-Sollte es der Fall sein, dass du einen schlechten Audiotreiber hast, probiere
-die Option <option>-autosync</option>, diese sollte deine Probleme lösen.
-Siehe Manpage für detaillierte Informationen.
-</para>
-</sect1>
-
-<sect1 id="troubleshooting">
-<title>Troubleshooting/Problemlösung</title>
-
-<para>Ein paar Anmerkungen:</para>
-
-<para>
- Wenn du ALSA Version 0.5 in nutzt, musst du fast immer
- <option>-ao alsa5</option> verwenden, da ALSA 0.5 fehlerhaften Code für die
- OSS-Emulation enthält und <application>MPlayer</application>
- <emphasis role="bold"> zum Absturz bringen wird</emphasis>, mit einer
- Nachricht wie dieser:
- <screen>
-DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!<!--
---></screen>
-</para>
-<para>
- Wenn du bei der Wiedergabe von CD-ROM Klicken hörst, schalte IRQ-Unmasking
- an wie im Abschnitt <link linkend="drives">CD-ROM</link> beschrieben.
-</para>
-</sect1>
+ <title>Audioausgabegeräte</title>
+ <sect1 id="sync">
+ <title>Audio/Video-Synchronisation</title>
+
+ <para>
+ Soundkartentreiber für Linux bereiten Kompatibilitätsprobleme. Dies liegt
+ daran, dass sich <application>MPlayer</application> auf ein eingebautes
+ Feature von <emphasis>ordentlich</emphasis> programmierten Soundkartentreibern
+ verlässt, das es ermöglicht, korrekte Audio/Video-Synchronisation beizubehalten.
+ Leider ist es jedoch so, dass sich manche Schreiber der Treiber um dieses
+ Feature nicht kümmern, da es zum Abspielen von MP3s oder für Soundeffekte
+ nicht benötigt wird.
+ </para>
+
+ <para>
+ Andere Mediaplayer wie <ulink url="http://avifile.sf.net">aviplay</ulink>
+ oder <ulink url="http://xinehq.de">xine</ulink> funktionieren vermutlich
+ deshalb von Haus aus mit diesen Treibern, da sie "einfache" Methoden
+ mit internem Timing verwenden. Messungen haben gezeigt, dass deren Methoden
+ nicht so effizient sind wie die von <application>MPlayer</application>.
+ </para>
+
+ <para>
+ Die Benutzung von <application>MPlayer</application> mit einem ordentlich
+ geschriebenen Audiotreiber wird niemals zu mit Audio im Zusammenhang
+ stehender A/V-Desynchronisation führen, außer bei sehr schlecht erstellten
+ Dateien (siehe Manpage für Umgehungsmöglichkeiten).
+ </para>
+
+ <para>
+ Sollte es der Fall sein, dass du einen schlechten Audiotreiber hast, probiere
+ die Option <option>-autosync</option>, diese sollte deine Probleme lösen.
+ Siehe Manpage für detaillierte Informationen.
+ </para>
+ </sect1>
+
+ <sect1 id="troubleshooting">
+ <title>Troubleshooting/Problemlösung</title>
+
+ <para>Ein paar Anmerkungen:</para>
+
+ <para>
+ Wenn du ALSA Version 0.5 in nutzt, musst du fast immer
+ <option>-ao alsa5</option> verwenden, da ALSA 0.5 fehlerhaften Code für die
+ OSS-Emulation enthält und <application>MPlayer</application>
+ <emphasis role="bold"> zum Absturz bringen wird</emphasis>, mit einer
+ Nachricht wie dieser:
+ <screen>DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!</screen>
+ </para>
+ <para>
+ Wenn du bei der Wiedergabe von CD-ROM Klicken hörst, schalte IRQ-Unmasking
+ an wie im Abschnitt <link linkend="drives">CD-ROM</link> beschrieben.
+ </para>
+ </sect1>
</chapter>
diff --git a/DOCS/xml/de/bugreports.xml b/DOCS/xml/de/bugreports.xml
index b930cd367d..4ff597e6e8 100644
--- a/DOCS/xml/de/bugreports.xml
+++ b/DOCS/xml/de/bugreports.xml
@@ -1,429 +1,450 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- in sync with r19715 -->
+
<appendix id="bugreports">
-<title>Wie Fehler (Bugs) berichtet werden</title>
-<para>
-Gute Fehlerberichte sind ein sehr wertvoller Beitrag zur Entwicklung jedes
-Softwareprojekts. Aber genau wie das Schreiben guter Software erfordert das
-Anfertigen von Problemberichten etwas Arbeit. Bitte sei dir darüber im
-klaren, dass die meisten Entwickler sehr beschäftigt sind und eine unverschämt
-hohe Anzahl Mails bekommen. Verstehe daher, dass wir dir, obwohl dein Feedback für die
-Verbesserung von <application>MPlayer</application> sehr wichtig ist und geschätzt
-wird, <emphasis role="bold">alle</emphasis> Informationen, die wir fordern, zur
-Verfügung stellen und dass du die Anweisungen dieses Dokuments strikt befolgen musst.
-</para>
-<sect1 id="bugreports_security">
-<title>Berichte sicherheitsrelevante Fehler</title>
-<para>
-Falls du einen Exploit-fähigen Fehler gefunden hast und gern das richtige tun
-möchtest und uns diesen beseitigen lässt, bevor du ihn veröffentlichst, würden wir uns
-freuen, deinen Rat zur Sicherheit unter
-<ulink url="mailto:&#115;&#101;&#99;&#117;&#114;&#105;&#116;&#121;&#64;&#109;&#112;&#108;&#97;&#121;&#101;&#114;&#104;&#113;&#46;&#104;&#117;">&#115;&#101;&#99;&#117;&#114;&#105;&#116;&#121;&#64;&#109;&#112;&#108;&#97;&#121;&#101;&#114;&#104;&#113;&#46;&#104;&#117;</ulink>
-zu erhalten.
-Füge dem Betreff bitte [SECURITY] oder [ADVISORY] hinzu.
-Stelle bitte sicher, dass dein Bericht eine vollständige und detaillierte Analyse des Fehlers enthält.
-Die Einsendung einer Lösung nehmen wir sehr gerne dankend an.
-Bitte zögere deinen Bericht nicht hinaus, um einen Proof-of-concept-Exploit zu schreiben, den
-kannst du in einer weiteren Mail schicken.
-</para>
-</sect1>
-<sect1 id="bugreports_fix">
-<title>Wie Fehler beseitigt werden</title>
-<para>
-Wenn du das Gefühl hast, dass du die nötigen Kenntnisse hast, bist du dazu eingeladen,
-dich selbst an der Lösung des Fehlers zu versuchen. Vielleicht hast du das schon?
-Bitte lies
-<ulink url="../../tech/patches.txt">dieses kurze Dokument</ulink>, um herauszufinden,
-wie dein Code Teil von <application>MPlayer</application> werden kann. Die Leute der
-Mailing-Liste
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
-werden dir zur Seite stehen, wenn du Fragen hast.
-</para>
-</sect1>
-<sect1 id="bugreports_regression_test">
-<title>Wie Regressionstests mit Subversion durchgeführt werden</title>
-<para>
-Ein Problem, das manchmal auftreten kann ist &quot;es hat vorher funktioniert, jetzt
-tut es das nicht mehr...&quot;.
-Hier eine Schritt-für-Schritt-Verfahren, um herauszufinden, wann das Problem
-aufgetreten ist. Dies ist <emphasis role="bold">nichts</emphasis> für Gelegenheitsanwender.
-</para>
-<para>
-Zuerst musst du dir MPlayers Sourcenverzeichnis aus dem Subversion-Repository besorgen.
-Eine Anleitung hierzu kann unten auf
-<ulink url="http://www.mplayerhq.hu/dload.html">dieser Seite</ulink>
-gefunden werden.
-</para>
-<para>
-Du wirst dann im mplayer/-Verzeichnis ein Abbild des Subversion-Baums auf der Client-Seite
-haben.
-Führe jetzt ein Update für dieses Abbild auf das von dir gewünschte Datum durch:
-<screen>
-cd mplayer/
-svn update -r {"2004-08-23"}
-</screen>
-Das Datumsformat ist YYYY-MM-DD HH:MM:SS.
-Die Benutzung des Datumsformats stellt sicher, dass du in der Lage sein wirst,
-Patches anhand des Datums, an dem sie eingespielt wurden, extrahieren kannst, wie im
-<ulink url="http://mplayerhq.hu/pipermail/mplayer-cvslog/">MPlayer-cvslog-Archiv</ulink>.
-</para>
-<para>
-Gehe nun wie bei einem normalen Update vor:
-<screen>
-./configure
-make
-</screen>
-</para>
-<para>
-Falls ein Nicht-Programmierer dies liest: Der schnellste Weg, zu dem Punkt zu
-gelangen, bei dem das Problem auftrat ist eine Binärsuche - das bedeutet:
-Suche das Datum der Bruchstelle, indem du das Suchintervall wiederholt halbierst.
-Zum Beispiel, wenn das Problem 2003 auftrat, starte in der Mitte des Jahres und
-frage "Ist das Problem schon da?".
-Wenn ja, gehe zurück zum 1. April; wenn nicht, gehe zum 1. Oktober und so weiter.
-</para>
-<para>
-Wenn du viel Festplattenspeicher frei hast (eine vollständige Compilierung
-benötigt momentan 100 MB, und ungefähr 300-350 MB, wenn Debugging-Symbole mit
-dabei sind), kopiere vor einem Update die älteste Version, von der bekannt ist,
-dass sie funktioniert; das spart Zeit, wenn du zurückgehen musst.
-(Es ist normalerweise nicht nötig, 'make distclean' vor einer erneuten Compilierung
-einer früheren Version auszuführen. Wenn du also keine Backup-Kopie deines
-Original-Sourcebaums machst, wirst du alles neu compilieren müssen, wenn du beim
-gegenwärtigen wieder angekommen bist.)
-</para>
-<para>
-Wenn du den Tag gefunden hast, an dem das Problem auftrat, fahre mit der Suche mit
-dem mplayer-cvslog-Archiv (sortiert nach Datum) und einem genaueren svn update,
-welches Stunde, Minute und Sekunde beinhaltet, fort:
-<screen>
-svn update -r {"2004-08-23 15:17:25"}
-</screen>
-Dies wird es dir leicht machen, exakt den verursachenden Patch zu finden.
-</para>
-<para>
-Hast du den Patch gefunden, der Ursache des Problems ist, hast du fast gewonnen;
-Berichte darüber im
-<ulink url="http://bugzilla.mplayerhq.hu/">MPlayer Bugzilla</ulink>-System oder melde
-dich bei
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users">MPlayer-Users</ulink>
-an und mach es dort bekannt.
-Es besteht die Chance, dass der Autor einspringt und eine Lösung vorschlägt.
-Du kannst auch solange einen genauen Blick auf den Patch werfen, bis er genötigt ist,
-zu offenbaren, wo der Fehler steckt :-).
-</para>
-</sect1>
-<sect1 id="bugreports_report">
-<title>Wie Fehler berichtet werden</title>
-<para>
-Probiere vor allem zu allererst die letzte Subversion-Version von <application>MPlayer</application>,
-da dein Problem dort möglicherweise schon behoben ist. Die Entwicklung geht extrem schnell
-voran, die meisten Probleme in offiziellen Versionen werden innerhalb von Tagen oder sogar
-Stunden den Entwicklern mitgeteilt. Benutze daher bitte <emphasis role="bold">nur
-Subversion</emphasis> beim Berichten von Fehlern. Dies gilt auch für Binärpakete von
-<application>MPlayer</application>. Subversion-Anweisungen findest du am unteren Ende <ulink
-url="http://www.mplayerhq.hu/dload.html">dieser Seite</ulink> oder in der README.
-Wenn dies nicht hilft, ziehe die Liste <link linkend="bugs">bekannter Fehler</link> und den
-Rest der Dokumentation zu Rate. Ist dein Problem nicht bekannt oder kann es durch unsere
-Anweisungen nicht gelöst werden, dann teil uns den Fehler mit.
-</para>
+ <title>Wie Fehler (Bugs) berichtet werden</title>
+ <para>
+ Gute Fehlerberichte sind ein sehr wertvoller Beitrag zur Entwicklung jedes
+ Softwareprojekts. Aber genau wie das Schreiben guter Software erfordert das
+ Anfertigen von Problemberichten etwas Arbeit. Bitte sei dir darüber im
+ klaren, dass die meisten Entwickler sehr beschäftigt sind und eine unverschämt
+ hohe Anzahl Mails bekommen. Verstehe daher, dass wir dir, obwohl dein Feedback für die
+ Verbesserung von <application>MPlayer</application> sehr wichtig ist und geschätzt
+ wird, <emphasis role="bold">alle</emphasis> Informationen, die wir fordern, zur
+ Verfügung stellen und dass du die Anweisungen dieses Dokuments strikt befolgen musst.
+ </para>
-<para>
-Sende bitte keine Fehlerberichte privat an einzelne Entwickler. MPlayer ist
-Gemeinschaftsarbeit, also wird es vielleicht mehrere interessierte Leute geben. Es
-kommt auch teilweise vor, dass derselbe Fehler von anderen Benutzern gefunden wurde,
-die bereits eine Lösung zur Umgehung des Problems haben, auch wenn es sich um einen
-Fehler im <application>MPlayer</application>-Code handelt.
-</para>
+ <sect1 id="bugreports_security">
+ <title>Berichte sicherheitsrelevante Fehler</title>
+ <para>
+ Falls du einen Exploit-fähigen Fehler gefunden hast und gern das richtige tun
+ möchtest und uns diesen beseitigen lässt, bevor du ihn veröffentlichst, würden wir uns
+ freuen, deinen Rat zur Sicherheit unter
+ <ulink url="mailto:&#115;&#101;&#99;&#117;&#114;&#105;&#116;&#121;&#64;&#109;&#112;&#108;&#97;&#121;&#101;&#114;&#104;&#113;&#46;&#104;&#117;">&#115;&#101;&#99;&#117;&#114;&#105;&#116;&#121;&#64;&#109;&#112;&#108;&#97;&#121;&#101;&#114;&#104;&#113;&#46;&#104;&#117;</ulink>
+ zu erhalten.
+ Füge dem Betreff bitte [SECURITY] oder [ADVISORY] hinzu.
+ Stelle bitte sicher, dass dein Bericht eine vollständige und detaillierte Analyse des Fehlers enthält.
+ Die Einsendung einer Lösung nehmen wir sehr gerne dankend an.
+ Bitte zögere deinen Bericht nicht hinaus, um einen Proof-of-concept-Exploit zu schreiben, den
+ kannst du in einer weiteren Mail schicken.
+ </para>
+ </sect1>
-<para>
-Bitte beschreibe dein Problem so detailliert wie möglich. Dazu gehört ein klein
-wenig Detektivarbeit, um die Umstände einzuengen, unter denen das Problem auftritt.
-Tritt der Fehler nur in bestimmten Situationen auf? Ist er abhängig von Dateien oder
-Dateitypen? Tritt er nur bei einem Codec auf oder ist er davon unabhängig? Kannst
-du den Fehler mit allen Ausgabetreibern reproduzieren? Je mehr Informationen du zur
-Verfügung stellst, desto besser sind die Chancen, dass das Problem gelöst wird.
-Bitte vergiss nicht, auch die unten angeforderten wertvollen Informationen miteinzubeziehen.
-Ansonsten sind wir vermutlich nicht in der Lage, das Problem genau zu untersuchen.
-</para>
+ <sect1 id="bugreports_fix">
+ <title>Wie Fehler beseitigt werden</title>
+ <para>
+ Wenn du das Gefühl hast, dass du die nötigen Kenntnisse hast, bist du dazu eingeladen,
+ dich selbst an der Lösung des Fehlers zu versuchen. Vielleicht hast du das schon?
+ Bitte lies
+ <ulink url="../../tech/patches.txt">dieses kurze Dokument</ulink>, um herauszufinden,
+ wie dein Code Teil von <application>MPlayer</application> werden kann. Die Leute der
+ Mailing-Liste
+ <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
+ werden dir zur Seite stehen, wenn du Fragen hast.
+ </para>
+ </sect1>
-<para>
-Eine exzellente und gut geschriebene Anleitung dazu, wie Fragen in öffentlichen Foren
-gestellt werden sollen, ist
-<ulink url="http://www.catb.org/~esr/faqs/smart-questions.html">How To Ask Questions
-The Smart Way</ulink> von <ulink url="http://www.catb.org/~esr/">Eric S. Raymond</ulink>.
-Es gibt noch einen namens
-<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">How to Report
-Bugs Effectively</ulink> von <ulink url="http://www.chiark.greenend.org.uk/~sgtatham/">Simon
-Tatham</ulink>.
-Befolgst du diese Richtlinien, solltest du Hilfe bekommen können. Bitte hab aber Verständnis,
-dass wir alle den Mailinglisten freiwillig in unserer Freizeit folgen. Wir sind sehr
-beschäftigt und können nicht garantieren, dass du eine Lösung oder auch nur eine Antwort zu
-deinem Problem erhältst.
-</para>
+ <sect1 id="bugreports_regression_test">
+ <title>Wie Regressionstests mit Subversion durchgeführt werden</title>
+ <para>
+ Ein Problem, das manchmal auftreten kann ist &quot;es hat vorher funktioniert, jetzt
+ tut es das nicht mehr...&quot;.
+ Hier eine Schritt-für-Schritt-Verfahren, um herauszufinden, wann das Problem
+ aufgetreten ist. Dies ist <emphasis role="bold">nichts</emphasis> für Gelegenheitsanwender.
+ </para>
+ <para>
+ Zuerst musst du dir MPlayers Sourcenverzeichnis aus dem Subversion-Repository besorgen.
+ Eine Anleitung hierzu kann unten auf
+ <ulink url="http://www.mplayerhq.hu/dload.html">dieser Seite</ulink>
+ gefunden werden.
+ </para>
+ <para>
+ Du wirst dann im mplayer/-Verzeichnis ein Abbild des Subversion-Baums auf der Client-Seite
+ haben.
+ Führe jetzt ein Update für dieses Abbild auf das von dir gewünschte Datum durch:
+<screen>cd mplayer/
+svn update -r {"2004-08-23"}</screen>
+ Das Datumsformat ist YYYY-MM-DD HH:MM:SS.
+ Die Benutzung des Datumsformats stellt sicher, dass du in der Lage sein wirst,
+ Patches anhand des Datums, an dem sie eingespielt wurden, extrahieren kannst, wie im
+ <ulink url="http://mplayerhq.hu/pipermail/mplayer-cvslog/">MPlayer-cvslog-Archiv</ulink>.
+ </para>
+ <para>
+ Gehe nun wie bei einem normalen Update vor:
+<screen>./configure
+make</screen>
+ </para>
+ <para>
+ Falls ein Nicht-Programmierer dies liest: Der schnellste Weg, zu dem Punkt zu
+ gelangen, bei dem das Problem auftrat ist eine Binärsuche - das bedeutet:
+ Suche das Datum der Bruchstelle, indem du das Suchintervall wiederholt halbierst.
+ Zum Beispiel, wenn das Problem 2003 auftrat, starte in der Mitte des Jahres und
+ frage "Ist das Problem schon da?".
+ Wenn ja, gehe zurück zum 1. April; wenn nicht, gehe zum 1. Oktober und so weiter.
+ </para>
+ <para>
+ Wenn du viel Festplattenspeicher frei hast (eine vollständige Compilierung
+ benötigt momentan 100 MB, und ungefähr 300-350 MB, wenn Debugging-Symbole mit
+ dabei sind), kopiere vor einem Update die älteste Version, von der bekannt ist,
+ dass sie funktioniert; das spart Zeit, wenn du zurückgehen musst.
+ (Es ist normalerweise nicht nötig, 'make distclean' vor einer erneuten Compilierung
+ einer früheren Version auszuführen. Wenn du also keine Backup-Kopie deines
+ Original-Sourcebaums machst, wirst du alles neu compilieren müssen, wenn du beim
+ gegenwärtigen wieder angekommen bist.)
+ </para>
+ <para>
+ Wenn du den Tag gefunden hast, an dem das Problem auftrat, fahre mit der Suche mit
+ dem mplayer-cvslog-Archiv (sortiert nach Datum) und einem genaueren svn update,
+ welches Stunde, Minute und Sekunde beinhaltet, fort:
+ <screen>svn update -r {"2004-08-23 15:17:25"}</screen>
+ Dies wird es dir leicht machen, exakt den verursachenden Patch zu finden.
+ </para>
+ <para>
+ Hast du den Patch gefunden, der Ursache des Problems ist, hast du fast gewonnen;
+ Berichte darüber im
+ <ulink url="http://bugzilla.mplayerhq.hu/">MPlayer Bugzilla</ulink>-System oder melde
+ dich bei
+ <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users">MPlayer-Users</ulink>
+ an und mach es dort bekannt.
+ Es besteht die Chance, dass der Autor einspringt und eine Lösung vorschlägt.
+ Du kannst auch solange einen genauen Blick auf den Patch werfen, bis er genötigt ist,
+ zu offenbaren, wo der Fehler steckt :-).
+ </para>
+ </sect1>
-</sect1>
+ <sect1 id="bugreports_report">
+ <title>Wie Fehler berichtet werden</title>
+ <para>
+ Probiere vor allem zu allererst die letzte Subversion-Version von <application>MPlayer</application>,
+ da dein Problem dort möglicherweise schon behoben ist. Die Entwicklung geht extrem schnell
+ voran, die meisten Probleme in offiziellen Versionen werden innerhalb von Tagen oder sogar
+ Stunden den Entwicklern mitgeteilt. Benutze daher bitte <emphasis role="bold">nur
+ Subversion</emphasis> beim Berichten von Fehlern. Dies gilt auch für Binärpakete von
+ <application>MPlayer</application>. Subversion-Anweisungen findest du am unteren Ende
+ <ulink url="http://www.mplayerhq.hu/dload.html">dieser Seite</ulink> oder in der README.
+ Wenn dies nicht hilft, ziehe die Liste <link linkend="bugs">bekannter Fehler</link> und den
+ Rest der Dokumentation zu Rate. Ist dein Problem nicht bekannt oder kann es durch unsere
+ Anweisungen nicht gelöst werden, dann teil uns den Fehler mit.
+ </para>
-<sect1 id="bugreports_where">
-<title>Wo Fehler berichtet werden sollen</title>
-<para>
-Melde dich bei der Mailingliste MPlayer-users an:
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users"/>
-und sende deinen Fehlerbericht an
-<ulink url="mailto:mplayer-users@mplayerhq.hu"/>, wo dieser diskutiert werden kann.
-</para>
-<para>
-Wenn du es bevorzugst, kannst du statt dessen auch unseren brandneuen
-<ulink url="http://bugzilla.mplayerhq.hu/">Bugzilla</ulink> verwenden.
-</para>
-<para>
-Die Sprache der Liste ist <emphasis role="bold">Englisch</emphasis>. Bitte
-befolge die Standard-
-<ulink url="http://www.ietf.org/rfc/rfc1855.txt">Netiquette-Richtlinien</ulink>
-und <emphasis role="bold">sende keine HTML-Mails</emphasis> an eine unserer
-Mailinglisten. Du wirst ignoriert oder ausgeschlossen werden. Wenn du nicht
-weißt, was eine HTML-Mail ist oder warum sie böse ist, lies dieses
-<ulink url="http://expita.com/nomime.html">feine Dokument</ulink>. Es erklärt
-alle Details und beinhaltet Instruktionen, wie man HTML abschalten kann. Beachte
-auch, dass wir keine Kopien (CC, carbon-copy) verschicken. Es ist daher eine
-gute Sache, sich anzumelden, um auch wirklich eine Antwort zu erhalten.
-</para>
-</sect1>
+ <para>
+ Sende bitte keine Fehlerberichte privat an einzelne Entwickler. MPlayer ist
+ Gemeinschaftsarbeit, also wird es vielleicht mehrere interessierte Leute geben. Es
+ kommt auch teilweise vor, dass derselbe Fehler von anderen Benutzern gefunden wurde,
+ die bereits eine Lösung zur Umgehung des Problems haben, auch wenn es sich um einen
+ Fehler im <application>MPlayer</application>-Code handelt.
+ </para>
-<sect1 id="bugreports_what">
-<title>Was berichtet werden soll</title>
-<para>
-Du wirst wahrscheinlich Logdateien, Konfigurationsinformationen und Beispieldateien
-in deinen Fehlerbericht aufnehmen müssen. Werden einige von ihnen ziemlich groß,
-ist es besser, wenn du sie auf unseren
-<ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/">FTP-Server</ulink> hochlädst,
-und zwar in komprimierter Form (gzip und bzip2 bevorzugt). Gib dann in deinem
-Fehlerbericht nur den Pfad- und den Dateinamen an. Unsere Mailinglisten haben ein
-Nachrichten-Größenlimit von 80k, wenn du etwas größeres hast, musst du es
-komprimieren und hochladen.
-</para>
+ <para>
+ Bitte beschreibe dein Problem so detailliert wie möglich. Dazu gehört ein klein
+ wenig Detektivarbeit, um die Umstände einzuengen, unter denen das Problem auftritt.
+ Tritt der Fehler nur in bestimmten Situationen auf? Ist er abhängig von Dateien oder
+ Dateitypen? Tritt er nur bei einem Codec auf oder ist er davon unabhängig? Kannst
+ du den Fehler mit allen Ausgabetreibern reproduzieren? Je mehr Informationen du zur
+ Verfügung stellst, desto besser sind die Chancen, dass das Problem gelöst wird.
+ Bitte vergiss nicht, auch die unten angeforderten wertvollen Informationen miteinzubeziehen.
+ Ansonsten sind wir vermutlich nicht in der Lage, das Problem genau zu untersuchen.
+ </para>
-<sect2 id="bugreports_system">
-<title>Systeminformationen</title>
-<para>
-<itemizedlist>
-<listitem><para>
-Deine Linuxdistribution, Betriebssystem und Version, z.B.:
- <itemizedlist>
- <listitem><para>Red Hat 7.1</para></listitem>
- <listitem><para>Slackware 7.0 + Entwicklerpakete von 7.1 ...</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-Kernelversion:
-<screen>uname -a</screen>
-</para></listitem>
-<listitem><para>
-libc-Version:
-<screen>ls -l /lib/libc[.-]*</screen>
-</para></listitem>
-<listitem><para>
-gcc- und ld-Versionen:
-<screen>
-gcc -v
-ld -v
-</screen>
-</para></listitem>
-<listitem><para>
-binutils-Version:
-<screen>
-as --version
-</screen>
-</para></listitem>
-<listitem><para>
-Wenn du Probleme mit dem Vollbildmodus hast:
- <itemizedlist>
- <listitem><para>Window-Manager-Typ und Version</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-Wenn du Probleme mit XVIDIX hast:
- <itemizedlist>
- <listitem><para>Farbtiefe von X:
-<screen>xdpyinfo | grep &quot;depth of root&quot;</screen>
- </para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-Wenn nur die GUI fehlerhaft ist:
- <itemizedlist>
- <listitem><para>GTK-Version</para></listitem>
- <listitem><para>GLIB-Version</para></listitem>
- <listitem><para>libpng-Version</para></listitem>
- <listitem><para>GUI-Situation, in welcher der Fehler auftritt</para></listitem>
- </itemizedlist>
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
+ <para>
+ Eine exzellente und gut geschriebene Anleitung dazu, wie Fragen in öffentlichen Foren
+ gestellt werden sollen, ist
+ <ulink url="http://www.catb.org/~esr/faqs/smart-questions.html">How To Ask Questions
+ The Smart Way</ulink> von <ulink url="http://www.catb.org/~esr/">Eric S. Raymond</ulink>.
+ Es gibt noch einen namens
+ <ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">How to Report Bugs Effectively</ulink>
+ von
+ <ulink url="http://www.chiark.greenend.org.uk/~sgtatham/">Simon Tatham</ulink>.
+ Befolgst du diese Richtlinien, solltest du Hilfe bekommen können. Bitte hab aber Verständnis,
+ dass wir alle den Mailinglisten freiwillig in unserer Freizeit folgen. Wir sind sehr
+ beschäftigt und können nicht garantieren, dass du eine Lösung oder auch nur eine Antwort zu
+ deinem Problem erhältst.
+ </para>
+ </sect1>
-<sect2 id="bugreports_hardware">
-<title>Hardware und Treiber</title>
-<para>
-<itemizedlist>
-<listitem><para>
-CPU-Info (funktioniert nur unter Linux):
-<screen>cat /proc/cpuinfo</screen>
-</para></listitem>
-<listitem><para>
-Videokartenhersteller und -modell, z.B.:
- <itemizedlist>
- <listitem><para>ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM</para></listitem>
- <listitem><para>Matrox G400 DH 32MB SGRAM</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-Videotreibertyp und -version, .z.B.:
- <itemizedlist>
- <listitem><para>eingebauter Treiber von X</para></listitem>
- <listitem><para>nVidia 0.9.623</para></listitem>
- <listitem><para>Utah-GLX CVS 2001-02-17</para></listitem>
- <listitem><para>DRI von X 4.0.3</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-Soundkartentyp und -treiber, z.B.:
- <itemizedlist>
- <listitem><para>Creative SBLive! Gold mit OSS-Treiber von oss.creative.com</para></listitem>
- <listitem><para>Creative SB16 mit Kernel-OSS-Treibern</para></listitem>
- <listitem><para>GUS PnP mit OSS-Emulation von ALSA</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-Füge bei Linuxsystemen im Zweifel die Ausgabe von <command>lspci -vv</command> bei.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
+ <sect1 id="bugreports_where">
+ <title>Wo Fehler berichtet werden sollen</title>
+ <para>
+ Melde dich bei der Mailingliste MPlayer-users an:
+ <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users"/>
+ und sende deinen Fehlerbericht an
+ <ulink url="mailto:mplayer-users@mplayerhq.hu"/>, wo dieser diskutiert werden kann.
+ </para>
+ <para>
+ Wenn du es bevorzugst, kannst du statt dessen auch unseren brandneuen
+ <ulink url="http://bugzilla.mplayerhq.hu/">Bugzilla</ulink> verwenden.
+ </para>
+ <para>
+ Die Sprache der Liste ist <emphasis role="bold">Englisch</emphasis>. Bitte
+ befolge die Standard-
+ <ulink url="http://www.ietf.org/rfc/rfc1855.txt">Netiquette-Richtlinien</ulink>
+ und <emphasis role="bold">sende keine HTML-Mails</emphasis> an eine unserer
+ Mailinglisten. Du wirst ignoriert oder ausgeschlossen werden. Wenn du nicht
+ weißt, was eine HTML-Mail ist oder warum sie böse ist, lies dieses
+ <ulink url="http://expita.com/nomime.html">feine Dokument</ulink>. Es erklärt
+ alle Details und beinhaltet Instruktionen, wie man HTML abschalten kann. Beachte
+ auch, dass wir keine Kopien (CC, carbon-copy) verschicken. Es ist daher eine
+ gute Sache, sich anzumelden, um auch wirklich eine Antwort zu erhalten.
+ </para>
+ </sect1>
-<sect2 id="bugreports_configure">
-<title>Configure-Probleme</title>
-<para>
-Wenn du Fehlermeldungen beim Aufruf von <command>./configure</command> bekommst oder
-die automatische Erkennung von etwas fehlschlägt, so lies <filename>configure.log</filename>.
-Du könntest dort die Antwort finden, zum Beispiel mehrere Versionen derselben Bibliothek,
-die gemischt auf deinem System vorliegen, oder du hast vergessen, das Entwicklerpaket
-(die mit dem Suffix -dev) zu installieren. Wenn du denkst, dass es sich um einen
-Fehler handelt, binde <filename>configure.log</filename> in deinen Fehlerbericht ein.
-</para>
-</sect2>
+ <sect1 id="bugreports_what">
+ <title>Was berichtet werden soll</title>
+ <para>
+ Du wirst wahrscheinlich Logdateien, Konfigurationsinformationen und Beispieldateien
+ in deinen Fehlerbericht aufnehmen müssen. Werden einige von ihnen ziemlich groß,
+ ist es besser, wenn du sie auf unseren
+ <ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/">FTP-Server</ulink>
+ hochlädst, und zwar in komprimierter Form (gzip und bzip2 bevorzugt). Gib dann in deinem
+ Fehlerbericht nur den Pfad- und den Dateinamen an. Unsere Mailinglisten haben ein
+ Nachrichten-Größenlimit von 80k, wenn du etwas größeres hast, musst du es
+ komprimieren und hochladen.
+ </para>
-<sect2 id="bugreports_compilation">
-<title>Compilierungsprobleme</title>
-<para>
-Bitte füge diese Dateien an:
-<itemizedlist>
-<listitem><para>config.h</para></listitem>
-<listitem><para>config.mak</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
+ <sect2 id="bugreports_system">
+ <title>Systeminformationen</title>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Deine Linuxdistribution, Betriebssystem und Version, z.B.:
+ <itemizedlist>
+ <listitem>
+ <para>Red Hat 7.1</para>
+ </listitem>
+ <listitem>
+ <para>Slackware 7.0 + Entwicklerpakete von 7.1 ...</para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Kernelversion:
+ <screen>uname -a</screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ libc-Version:
+ <screen>ls -l /lib/libc[.-]*</screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ gcc- und ld-Versionen:
+<screen>gcc -v
+ld -v</screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ binutils-Version:
+ <screen>as --version</screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Wenn du Probleme mit dem Vollbildmodus hast:
+ <itemizedlist>
+ <listitem>
+ <para>Window-Manager-Typ und Version</para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Wenn du Probleme mit XVIDIX hast:
+ <itemizedlist>
+ <listitem>
+ <para>Farbtiefe von X:
+ <screen>xdpyinfo | grep &quot;depth of root&quot;</screen>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Wenn nur die GUI fehlerhaft ist:
+ <itemizedlist>
+ <listitem><para>GTK-Version</para></listitem>
+ <listitem><para>GLIB-Version</para></listitem>
+ <listitem><para>libpng-Version</para></listitem>
+ <listitem><para>GUI-Situation, in welcher der Fehler auftritt</para></listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </sect2>
-<sect2 id="bugreports_playback">
-<title>Wiedergabeprobleme</title>
-<para>
-Bitte füge die Ausgabe von <application>MPlayer</application> im ausführlichen Modus
-bei Level 1 an, denke aber daran, <emphasis role="bold">die Ausgabe nicht zu kürzen</emphasis>,
-wenn du sie in deine Mail einfügst. Die Entwickler benötigen alle Ausgaben, um das Problem
-angemessen zu untersuchen. Du kannst die Ausgabe folgendermaßen in eine Datei ausgeben:
-<screen>mplayer -v <replaceable>Optionen</replaceable> <replaceable>Dateiname</replaceable> &gt; mplayer.log 2&gt;&amp;1</screen>
-</para>
+ <sect2 id="bugreports_hardware">
+ <title>Hardware und Treiber</title>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ CPU-Info (funktioniert nur unter Linux):
+ <screen>cat /proc/cpuinfo</screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Videokartenhersteller und -modell, z.B.:
+ <itemizedlist>
+ <listitem><para>ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM</para></listitem>
+ <listitem><para>Matrox G400 DH 32MB SGRAM</para></listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Videotreibertyp und -version, .z.B.:
+ <itemizedlist>
+ <listitem><para>eingebauter Treiber von X</para></listitem>
+ <listitem><para>nVidia 0.9.623</para></listitem>
+ <listitem><para>Utah-GLX CVS 2001-02-17</para></listitem>
+ <listitem><para>DRI von X 4.0.3</para></listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Soundkartentyp und -treiber, z.B.:
+ <itemizedlist>
+ <listitem><para>Creative SBLive! Gold mit OSS-Treiber von oss.creative.com</para></listitem>
+ <listitem><para>Creative SB16 mit Kernel-OSS-Treibern</para></listitem>
+ <listitem><para>GUS PnP mit OSS-Emulation von ALSA</para></listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Füge bei Linuxsystemen im Zweifel die Ausgabe von <command>lspci -vv</command> bei.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </sect2>
-<para>
-Wenn dein Problem speziell mit einer oder mehreren Dateien zu tun hat, lade diese bitte hoch nach:
-<ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/"/>
-</para>
+ <sect2 id="bugreports_configure">
+ <title>Configure-Probleme</title>
+ <para>
+ Wenn du Fehlermeldungen beim Aufruf von <command>./configure</command> bekommst oder
+ die automatische Erkennung von etwas fehlschlägt, so lies <filename>configure.log</filename>.
+ Du könntest dort die Antwort finden, zum Beispiel mehrere Versionen derselben Bibliothek,
+ die gemischt auf deinem System vorliegen, oder du hast vergessen, das Entwicklerpaket
+ (die mit dem Suffix -dev) zu installieren. Wenn du denkst, dass es sich um einen
+ Fehler handelt, binde <filename>configure.log</filename> in deinen Fehlerbericht ein.
+ </para>
+ </sect2>
-<para>
-Lade bitte auch eine kleine Textdatei hoch, die denselben Basisnamen wie deine Datei
-hat, mit der Erweiterung .txt. Beschreibe dort das Problem, das du mit dieser speziellen
-Datei hast und gib sowohl deine Emailadresse als auch die Ausgabe von
-<application>MPlayer</application> im ausführlichen Modus bei Level 1 an. Normalerweise
-reichen die ersten 1-5 MB einer Datei aus, um das Problem zu reproduzieren. Um ganz sicher
-zu gehen, bitten wir dich, folgendes zu tun:
-<screen>dd if=<replaceable>deine-datei</replaceable> of=<replaceable>kleine-datei</replaceable> bs=1024k count=5</screen>
-Dies wird die ersten fünf Megabyte von '<emphasis role="bold">deine-datei</emphasis>' nehmen
-und nach '<emphasis role="bold">kleine-datei</emphasis>' schreiben. Probiere es dann erneut
-mit dieser kleinen Datei, und wenn der Fehler noch immer auftritt, ist dieses Beispiel für uns
-ausreichend.
-Bitte sende <emphasis role="bold">niemals</emphasis> solche Dateien via Mail!
-Lade sie hoch und schicke nur den Pfad/Dateinamen der Datei auf dem FTP-Server. Ist
-die Datei im Netz verfügbar, reicht es, die <emphasis role="bold">exakte</emphasis>
-URL zu schicken.
-</para>
-</sect2>
+ <sect2 id="bugreports_compilation">
+ <title>Compilierungsprobleme</title>
+ <para>
+ Bitte füge diese Dateien an:
+ <itemizedlist>
+ <listitem><para>config.h</para></listitem>
+ <listitem><para>config.mak</para></listitem>
+ </itemizedlist>
+ </para>
+ </sect2>
-<sect2 id="bugreports_crash">
-<title>Abstürze</title>
-<para>
-Du musst <application>MPlayer</application> in <command>gdb</command> aufrufen und
-uns die komplette Ausgabe schicken, oder du kannst, wenn du ein <filename>core</filename>-Dump
-des Absturzes hast, nützliche Informationen aus der Core-Datei extrahieren,
-und zwar folgendermaßen:
-</para>
+ <sect2 id="bugreports_playback">
+ <title>Wiedergabeprobleme</title>
+ <para>
+ Bitte füge die Ausgabe von <application>MPlayer</application> im ausführlichen Modus
+ bei Level 1 an, denke aber daran, <emphasis role="bold">die Ausgabe nicht zu kürzen</emphasis>,
+ wenn du sie in deine Mail einfügst. Die Entwickler benötigen alle Ausgaben, um das Problem
+ angemessen zu untersuchen. Du kannst die Ausgabe folgendermaßen in eine Datei ausgeben:
+ <screen>mplayer -v <replaceable>Optionen</replaceable> <replaceable>Dateiname</replaceable> &gt; mplayer.log 2&gt;&amp;1</screen>
+ </para>
-<sect3 id="bugreports_debug">
-<title>Wie man Informationen eines reproduzierbaren Absturzes erhält</title>
-<para>
-Compiliere <application>MPlayer</application> neu mit Debugging-Code aktiviert:
-<screen>
-./configure --enable-debug=3
-make
-</screen>
-und rufe dann <application>MPlayer</application> innerhalb gdb auf mit:
-<screen>gdb ./mplayer</screen>
-Du befindest dich nun innerhalb gdb. Gib ein
-<screen>run -v <replaceable>Optionen-an-mplayer</replaceable> <replaceable>Dateiname</replaceable></screen>
-und reproduziere den Absturz. Sobald du das getan hast, wird gdb zur Eingabeaufforderung
-zurückkehren, wo du folgendes eingeben musst:
-<screen>
-bt
-disass $pc-32 $pc+32
-info all-registers
-</screen>
-</para>
-</sect3>
+ <para>
+ Wenn dein Problem speziell mit einer oder mehreren Dateien zu tun hat, lade diese bitte hoch nach:
+ <ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/"/>
+ </para>
+
+ <para>
+ Lade bitte auch eine kleine Textdatei hoch, die denselben Basisnamen wie deine Datei
+ hat, mit der Erweiterung .txt. Beschreibe dort das Problem, das du mit dieser speziellen
+ Datei hast und gib sowohl deine Emailadresse als auch die Ausgabe von
+ <application>MPlayer</application> im ausführlichen Modus bei Level 1 an. Normalerweise
+ reichen die ersten 1-5 MB einer Datei aus, um das Problem zu reproduzieren. Um ganz sicher
+ zu gehen, bitten wir dich, folgendes zu tun:
+ <screen>dd if=<replaceable>deine-datei</replaceable> of=<replaceable>kleine-datei</replaceable> bs=1024k count=5</screen>
+ Dies wird die ersten fünf Megabyte von '<emphasis role="bold">deine-datei</emphasis>' nehmen
+ und nach '<emphasis role="bold">kleine-datei</emphasis>' schreiben. Probiere es dann erneut
+ mit dieser kleinen Datei, und wenn der Fehler noch immer auftritt, ist dieses Beispiel für uns
+ ausreichend.
+ Bitte sende <emphasis role="bold">niemals</emphasis> solche Dateien via Mail!
+ Lade sie hoch und schicke nur den Pfad/Dateinamen der Datei auf dem FTP-Server. Ist
+ die Datei im Netz verfügbar, reicht es, die <emphasis role="bold">exakte</emphasis>
+ URL zu schicken.
+ </para>
+ </sect2>
-<sect3 id="bugreports_core">
-<title>Wie man aussagekräftige Informationen aus einem Core-Dump extrahiert</title>
-<para>
-Erzeuge die folgende Befehlsdatei:
-<screen>
-bt
+ <sect2 id="bugreports_crash">
+ <title>Abstürze</title>
+ <para>
+ Du musst <application>MPlayer</application> in <command>gdb</command> aufrufen und
+ uns die komplette Ausgabe schicken, oder du kannst, wenn du ein <filename>core</filename>-Dump
+ des Absturzes hast, nützliche Informationen aus der Core-Datei extrahieren,
+ und zwar folgendermaßen:
+ </para>
+
+ <sect3 id="bugreports_debug">
+ <title>Wie man Informationen eines reproduzierbaren Absturzes erhält</title>
+ <para>
+ Compiliere <application>MPlayer</application> neu mit Debugging-Code aktiviert:
+<screen>./configure --enable-debug=3
+make</screen>
+ und rufe dann <application>MPlayer</application> innerhalb gdb auf mit:
+ <screen>gdb ./mplayer</screen>
+ Du befindest dich nun innerhalb gdb. Gib ein
+ <screen>run -v <replaceable>Optionen-an-mplayer</replaceable> <replaceable>Dateiname</replaceable></screen>
+ und reproduziere den Absturz. Sobald du das getan hast, wird gdb zur Eingabeaufforderung
+ zurückkehren, wo du folgendes eingeben musst:
+<screen>bt
disass $pc-32 $pc+32
-info all-registers
-</screen>
-Führe dann einfach folgenden Befehl aus:
-<screen>gdb mplayer --core=core -batch --command=<replaceable>Kommando_Datei</replaceable> &gt; mplayer.bug</screen>
-</para>
-</sect3>
-</sect2>
-</sect1>
+info all-registers</screen>
+ </para>
+ </sect3>
-<sect1 id="bugreports_advusers">
-<title>Ich weiß, was ich tue...</title>
-<para>
-Wenn du einen Fehlerbericht wie oben beschrieben geschrieben hast und du dir sicher
-bist, dass es ein Bug in <application>MPlayer</application> und nicht ein Problem mit dem
-Compiler oder eine defekte Datei ist, du die Dokumentation gelesen hast und keine Lösungen
-finden konntest und deine Soundtreiber OK sind, dann kannst du auch der
-mplayer-advusers-Mailingliste beitreten und dort deine Fehlerberichte einsenden. Du wirst dort
-schnellere und bessere Antworten erhalten.
-</para>
+ <sect3 id="bugreports_core">
+ <title>Wie man aussagekräftige Informationen aus einem Core-Dump extrahiert</title>
+ <para>
+ Erzeuge die folgende Befehlsdatei:
+<screen>bt
+disass $pc-32 $pc+32
+info all-registers</screen>
+ Führe dann einfach folgenden Befehl aus:
+ <screen>gdb mplayer --core=core -batch --command=<replaceable>Kommando_Datei</replaceable> &gt; mplayer.bug</screen>
+ </para>
+ </sect3>
+ </sect2>
+ </sect1>
-<para>
-Aber sei gewarnt: Wenn du Anfängerfragen stellst oder Fragen, die in dieser Anleitung
-bereits beantwortet werden, wirst du ignoriert oder angemeckert, anstatt eine Antwort
-zu erhalten. Also ärgere uns nicht und trete der -advusers-Liste nur bei, wenn du weißt,
-was du tust und du dich für einen erfahrenen MPlayer-Nutzer oder -Entwickler hältst.
-Erfüllst du diese Kriterien, sollte es kein Problem für dich sein, dich anzumelden...
-</para>
+ <sect1 id="bugreports_advusers">
+ <title>Ich weiß, was ich tue...</title>
+ <para>
+ Wenn du einen Fehlerbericht wie oben beschrieben geschrieben hast und du dir sicher
+ bist, dass es ein Bug in <application>MPlayer</application> und nicht ein Problem mit dem
+ Compiler oder eine defekte Datei ist, du die Dokumentation gelesen hast und keine Lösungen
+ finden konntest und deine Soundtreiber OK sind, dann kannst du auch der
+ mplayer-advusers-Mailingliste beitreten und dort deine Fehlerberichte einsenden. Du wirst dort
+ schnellere und bessere Antworten erhalten.
+ </para>
-</sect1>
+ <para>
+ Aber sei gewarnt: Wenn du Anfängerfragen stellst oder Fragen, die in dieser Anleitung
+ bereits beantwortet werden, wirst du ignoriert oder angemeckert, anstatt eine Antwort
+ zu erhalten. Also ärgere uns nicht und trete der -advusers-Liste nur bei, wenn du weißt,
+ was du tust und du dich für einen erfahrenen MPlayer-Nutzer oder -Entwickler hältst.
+ Erfüllst du diese Kriterien, sollte es kein Problem für dich sein, dich anzumelden...
+ </para>
+ </sect1>
</appendix>
diff --git a/DOCS/xml/de/containers.xml b/DOCS/xml/de/containers.xml
index a5d1843a11..173e84da1a 100644
--- a/DOCS/xml/de/containers.xml
+++ b/DOCS/xml/de/containers.xml
@@ -1,530 +1,547 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- in sync with r19738 -->
+
<chapter id="containers">
-<title>Containerformate</title>
-
-<para>
- Es ist wichtig, einen häufigen Fehler zu berichtigen. Wenn Leute eine
- Datei mit <filename>.AVI</filename>-Erweiterung sehen, denken
- sie sofort, es sei keine MPEG-Datei. Das ist nicht wahr. Zumindest
- nicht ganz. Im Gegensatz zur verbreiteten Ansicht
- <emphasis>kann</emphasis> solch eine Datei MPEG1-Video
- enthalten.
-</para>
-
-<para>
- Ein <emphasis role="bold">Codec</emphasis> ist nicht dasselbe wie ein
- <emphasis role="bold">Datei-/Containerformat</emphasis>.
- Beispiele für <emphasis role="bold">Video-Codecs</emphasis> sind:
- MPEG1, MPEG2, DivX, Indeo5, 3ivx. Beispiele für
- <emphasis role="bold">Dateiformate</emphasis> sind: MPG, AVI, ASF.
-</para>
-
-<para>
- Theoretisch kannst du ein OpenDivX-Video und MP3-Audio in einer
- <emphasis role="bold">.MPG</emphasis>-Datei vereinigen. Die meisten
- Player könnten es jedoch nicht abspielen, da sie MPEG1-Video und
- MP2-Audio erwarten (im Gegensatz zu
- <emphasis role="bold">AVI</emphasis> besitzt <emphasis role="bold">MPG</emphasis>
- nicht die nötigen Felder, die die Video- und Audio-Streams
- beschreiben). Oder du könntest ein MPEG1-Video in ein .AVI legen.
- <ulink url="http://ffmpeg.org/"><application>ffmpeg</application></ulink>
- und
- <link linkend="mencoder"><application>MEncoder</application></link> können
- solche Dateien erzeugen.
-</para>
-
-
-<sect1 id="video-formats">
-<title>Videoformate</title>
-
-<sect2 id="mpg-vob-dat">
-<title>MPEG-Dateien</title>
-
-<para>
- MPEG-Dateien treten in unterschiedlichen Erscheinungen auf:
-</para>
-
-<itemizedlist>
-<listitem><simpara>
- MPG: Dies ist die <emphasis role="bold">grundlegende</emphasis>
- Form des MPEG-Dateiformates.
- Es enthält MPEG1-Video und MP2-(MPEG-1 Layer 2) oder selten MP1-Audio.
- </simpara></listitem>
-<listitem><simpara>
- DAT: Dies ist dasselbe Format wie MPG mit einer anderen
- Endung. Es wird auf <emphasis role="bold">Video-CD</emphasis>s benutzt.
- Auf Grund der Tatsache, wie VCDs erzeugt werden und wie Linux entworfen
- wurde, kann man die DAT-Dateien einer VCD weder abspielen noch kopieren.
- Du musst die Option <option>-vcd</option> zum Abspielen einer Video-CD
- verwenden.
- </simpara></listitem>
-<listitem><simpara>
- VOB: VOB ist das MPEG-Dateiformat bei <emphasis role="bold">DVD</emphasis>s.
- Es ist das gleiche wie MPG mit zusätzlicher Unterstützung für Untertitel
- oder nicht-MPEG-(AC3)-Audio. Es enthält MPEG-2-Video und normalerweise
- AC3-Audio, aber auch DTS, MP2 und unkomprimierte LPCMs sind erlaubt.
- <emphasis role="bold">Lies die <link linkend="dvd">DVD-Sektion</link>!</emphasis>
- </simpara></listitem>
-<listitem><simpara>
- TY: Dies ist ein TiVo MPEG-Stream. Er enthält gleichermaßen MPEG-PES-Daten
- für Audio- und Video-Streams wie auch extra Informationen wie geschlossene
- Titel. Der Container ist kein MPEG-Programmstream, sondern ein geschlossenes,
- von TiVo erzeugtes Format. Mehr Informationen zum TiVo-Streamformat
- findest Du auf der
- <ulink url="http://dvd-create.sourceforge.net/tystudio/tystream.shtml">TyStudio-Seite</ulink>.
- </simpara></listitem>
-</itemizedlist>
-
-<para>
- Serien von Frames bilden unabhängige Gruppen in MPEG-Dateien. Dies
- bedeutet, dass du eine MPEG-Datei mit einem Standard-Dateitool (wie
- <command>dd</command> oder <command>cut</command>)
- schneiden und zusammenfügen kannst und dieses trotzdem vollständig
- funktionsfähig bleibt.
-</para>
-
-<para>
- Ein wichtiges Feature von MPGs ist, dass sie ein Feld besitzen, welches das
- Breiten-/Höhenverhältnis des Videostreams angibt. SVCDs haben zum
- Beispiel Video mit einer Auflösung von 480x480, und im Header ist dieses
- Feld auf 4:3 gesetzt. Also wird es als 640x480 abgespielt. AVI-Dateien fehlt
- dieses Feld oft, sodass diese während des Encodierens skaliert werden
- müssen oder die Option <option>-aspect</option> bei der Wiedergabe verwendet
- werden muss.
-</para>
-</sect2>
-
-
-<sect2 id="avi">
-<title>AVI-Dateien</title>
-
-<para>
- <emphasis role="bold">AVI (Audio Video Interleaved)</emphasis> ist ein
- von Microsoft entworfenes und weitverbeitetes Multifunktionsformat, das
- zur Zeit hauptsächlich für DivX- und DivX4-Videos verwendet wird. Es
- hat einige bekannte Nachteile, und ihm fehlen ein paar wichtige Features
- (zum Beispiel Streaming). Es unterstützt einen Videostream und 0 bis
- 99 Audiostreams. Die Dateien können bis zu 2 GB groß sein. Es existiert
- eine Erweiterung für größere Dateien, genannt <emphasis role="bold">OpenDML</emphasis>.
- Microsoft rät von der Verwendung dringend ab und propagiert ASF/WMV.
- Als ob das irgendwen kratzen würde.
-</para>
-
-<para>
- Es gibt einen Hack, der es AVI-Dateien erlaubt, Ogg Vorbis Audio-Streams zu
- enthalten, was sie aber auch inkompatibel zu Standard-AVIs macht.
- <application>MPlayer</application>
- unterstützt die Wiedergabe solcher Dateien. Eine Spulfunktion ist auch
- implementiert, jedoch wird diese stark von schlecht konvertierten Dateien mit
- verwirrenden Headern gestört. Leider schreibt der einzige Encodierer, der
- fähig ist, solche Dateien zu erzeugen (<application>NanDub</application>),
- solch problematische Header.
-</para>
-
-<note>
-<para>
- DV-Kameras können Raw-DV-Streams erzeugen, welche von DV-Aufnahmetools
- in zwei unterschiedliche Typen von AVI-Dateien konvertiert werden. Die
- AVI-Datei enthält dabei entweder separate Audio- und Video-Streams, die
- <application>MPlayer</application> wiedergeben kann, oder den unveränderten
- DV-Stream. An dessen Unterstützung wird gerade gearbeitet.
-</para>
-</note>
-
-<para>
- Es gibt 2 Arten von AVI-Dateien:
-<itemizedlist>
-<listitem><simpara>
- <emphasis role="bold">Interleaved:</emphasis> Audio- und Videoinhalt
- werden paketweise ineinander geschachtelt. Die ist üblich, wird empfohlen
- und auch meist gemacht. Einige Tools erzeugen interleaved AVIs mit
- schlechter Synchronisation.
- <application>MPlayer</application> erkennt diese als interleaved, was
- zum Verlust von A/V-Synchronisation führen kann (evtl. erst beim Vor-/Zurückspulen).
- Diese Dateien sollten non-interleaved (mit der Option <option>-ni</option>)
- abgespielt werden.
- </simpara></listitem>
-<listitem><simpara>
- <emphasis role="bold">Non-interleaved:</emphasis> Als erstes kommt der
- ganze Videostream, dann der ganze Audiostream. Dies erfordert viel
- Suchen in der Datei, was die Wiedergabe vom Netzwerk oder von CDROM schwierig
- macht.
- </simpara></listitem>
-</itemizedlist>
-</para>
-
-<para>
- <application>MPlayer</application> unterstützt zwei Arten des Timings für
- AVI-Dateien:
-<itemizedlist>
-<listitem><simpara>
- <emphasis role="bold">bps-basiert</emphasis>: Diese Methode basiert auf
- der Bitrate/Samplerate des Video-/Audiostreams. Diese Methode wird von den
- meisten Playern verwendet, inklusive
- <ulink url="http://avifile.sf.net">avifile</ulink>
- und <application>Windows Media Player</application>. Dateien mit kaputten
- Headern und Dateien, welche mit VBR-Audio aber nicht VBR-unterstützendem
- Encoder erstellt wurden, führen mit dieser Methode zu A/V-Desynchronisation
- (meistens beim Spulen).
- </simpara></listitem>
-<listitem><simpara>
- <emphasis role="bold">interleaving-basiert</emphasis>: Diese Methode benutzt
- nicht mehr den Wert der Bitrate sondern die relative Position des
- Audio-Paketes zum aktuellen Video-Paket, was einige falsch codierte
- Dateien mit VBR-Audio abspielbar macht.
- </simpara></listitem>
-</itemizedlist>
-</para>
-
-<para>
- Jeglicher Audio- und Video-Codec ist erlaubt. Aber bedenke, dass VBR-Audio
- von den meisten Playern nicht gut unstützt wird. Das Dateiformat macht es
- möglich, VBR-Audio zu verwenden, aber die meisten Player erwarten CBR-Audio,
- weswegen VBR-Audio nicht funktioniert. VBR ist ungewöhnlich, und
- Microsofts Spezifikation zu AVI beschreibt nur CBR-Audio. Bedenke auch, dass
- die meisten AVI-Encoder/Multiplexer schlechte Dateien mit VBR-Audio erzeugen.
- Es gibt nur zwei Ausnahmen: <application>NanDub</application> und
- <link linkend="mencoder"><application>MEncoder</application></link>.
-</para>
-</sect2>
-
-
-<sect2 id="asf-wmv">
-<title>ASF/WMV-Dateien</title>
-<para>
- ASF (Active Streaming Format) kommt von Microsoft. Sie haben zwei Arten von
- ASF entwickelt, v1.0 und v2.0. v1.0 wird von ihren Media Tools
- (<application>Windows Media Player</application> und
- <application> Windows Media Encoder</application>) verwendet und ist streng
- geheim. v2.0 ist veröffentlicht und patentiert :). Natürlich sind sie
- unterschiedlich und besitzten überhaupt keine Gemeinsamkeiten (es ist nur
- ein weiteres Spiel mit den Gesetzen). <application>MPlayer</application>
- unterstützt nur v1.0, weil noch niemand v2.0 Dateien gesehen hat :).
- Beachte, dass .ASF-Dateien heute auch mit der Extension <filename>.WMA</filename>
- oder <filename>.WMV</filename> vorkommen.
-</para>
-</sect2>
-
-
-<sect2 id="mov">
-<title>QuickTime/MOV-Dateien</title>
-
-<para>
- Diese Formate sind von Apple entworfen und können jeden beliebigen Codec
- enthalten, CBR oder VBR. Normalerweise haben sie die Endung <filename>.QT</filename>
- oder <filename>.MOV</filename>.
- Seitdem die MPEG4-Gruppe QuickTime als das empfohlene Dateiformat für
- MPEG4 ausgewählt hat, kommen ihre .MOV-Dateien mit den Endungen
- <filename>.MPG</filename> oder <filename>.MP4</filename> daher.
- (Interessanterweise sind bei diesen Dateien die Video- und Audiostreams
- richtige MPG- und AAC-Dateien. Mit den den Optionen <option>-dumpvideo</option>
- und <option>-dumpaudio</option> kannst du sie sogar extrahieren.).
-</para>
-
-<note>
-<para>
- Die meisten QuickTime-Dateien benutzen
- <emphasis role="bold">Sorenson</emphasis>-Video und QDesign-Audio. Lies dazu
- die <link linkend="sorenson">Sorenson</link>-Codec-Sektion.
-</para>
-</note>
-</sect2>
-
-
-<sect2 id="vivo">
-<title>VIVO-Dateien</title>
-
-<para>
- <application>MPlayer</application> demuxt nun auch fröhlich VIVO-Dateiformate.
- Der grösste Nachteil des Formates ist, dass es keinen Index-Block besitzt,
- auch keine fixe Paketgröße oder Sync-Bytes. Die meisten Dateien
- besitzen nicht mal Keyframes, also vergiss das Spulen!
-</para>
-
-<para>
- Der Videocodec von VIVO/1.0-Datei ist Standard-<emphasis role="bold">h.263</emphasis>.
- Der Videocodec der VIVO/2.0 Dateien ist veränderter,
- nichtstandard-<emphasis role="bold">h.263</emphasis>. Bei
- Audio ist es dasselbe, es ist <emphasis role="bold">g.723</emphasis> (Standard)
- oder <emphasis role="bold">Vivo Siren</emphasis>.
-</para>
-
-<para>
- In den <link linkend="vivo-video">VIVO-Videocodec</link>- und
- <link linkend="vivo-audio">VIVO-Audiocodec</link>-Sektionen findest
- du Installationsanweisungen.
-</para>
-</sect2>
-
-
-<sect2 id="fli">
-<title>FLI-Dateien</title>
-<para>
- <emphasis role="bold">FLI</emphasis> ist ein sehr altes vom
- <application>Autodesk Animator</application> benutztes Dateiformat.
- Es ist aber immer noch ein im Internet gebräuchliches Dateiformat für
- kurze Animationen. <application>MPlayer</application> demuxt und
- decodiert FLI-Filme und ist sogar fähig, in ihnen vor- und zurückzuspulen
- (nützlich, wenn man looping mit der Option <option>-loop</option> aktiviert
- hat). FLI-Dateien haben keine Keyframes, was zu verunstalteten Bildern kurz
- nach dem Spulen führt.
-</para>
-</sect2>
-
-
-<sect2 id="realmedia">
-<title>RealMedia-(RM)-Dateien</title>
-
-<para>
- Ja, <application>MPlayer</application> kann RealMedia-Dateien
- (<filename>.rm</filename>) lesen (demuxen).
- Hier ist die Liste der unterstützten
- <link linkend="realvideo">RealVideo</link>- und
- <link linkend="realaudio">RealAudio</link>-Codecs.
-</para>
-</sect2>
-
-
-<sect2 id="nuppelvideo">
-<title>NuppelVideo-Dateien</title>
-<para>
- NuppelVideo
- ist, soweit ich weiss, ein TV-Aufnahmeprogramm. <application>MPlayer</application>
- kann dessen <filename>.NUV</filename>-Dateien (nur NuppelVideo 5.0) lesen.
- Diese Dateien können unkomprimierte YV12-, komprimierte YV12+RTJpeg-,
- komprimierte YV12-RTJpeg+lzo- und komprimierte YV12+lzo-Frames enthalten, welche
- <application>MPlayer</application>
- alle decodiert (und diese auch mit <application>MEncoder</application> zu
- MPEG4 (DivX)/etc!) <emphasis role="bold">encodiert</emphasis>).
- Spulen funktioniert.
-</para>
-</sect2>
-
-
-<sect2 id="yuv4mpeg">
-<title>yuv4mpeg-Dateien</title>
-<para>
- <ulink url="http://mjpeg.sf.net">yuv4mpeg / yuv4mpeg2</ulink> ist ein
- Dateiformat, das von den <ulink url="http://mjpeg.sf.net">mjpegtools-Programmen</ulink>
- verwendet wird. Du kannst damit Video in diesem Format einlesen, produzieren,
- filtern oder encodieren. Das Dateiformat ist eigentlich eine Sequenz
- unkomprimierter YUV 4:2:0 Bilder.
-</para>
-</sect2>
-
-
-<sect2 id="film">
-<title>FILM-Dateien</title>
-<para>
- Dieses Format wird auf alten Sega Saturn CD-ROM-Spielen verwendet.
-</para>
-</sect2>
-
-
-<sect2 id="roq">
-<title>RoQ-Dateien</title>
-<para>
- RoQ-Dateien sind Multimedia-Dateien, welche in gewissen ID-Spielen wie
- Quake III und Return to castle Wolfenstein benutzt werden.
-</para>
-</sect2>
-
-
-<sect2 id="ogg">
-<title>OGG/OGM-Dateien</title>
-<para>
- Dies ist ein neues Dateiformat von
- <ulink url="http://www.xiph.org">Xiphophorus</ulink>. Es kann beliebige
- Video- und Audio-Codecs enthalten, sowohl CBR als auch VBR. Man benötigt
- dazu installierte <systemitem class="library">libogg</systemitem>- und
- <systemitem class="library">libvorbis</systemitem>-Bibliotheken vor
- der Kompilierung von <application>MPlayer</application>, um sie wiedergeben
- zu können.
-</para>
-</sect2>
-
-
-<sect2 id="sdp">
-<title>SDP-Dateien</title>
-<para>
- <ulink url="ftp://ftp.rfc-editor.org/in-notes/rfc2327.txt">SDP</ulink> ist ein
- IETF-Standardformat, das Video- und/oder Audio-RTP-Streams beschreibt. (Dazu
- werden die
- &quot;<ulink url="http://www.live555.com/mplayer/">LIVE555 Streaming Media</ulink>&quot;-Bibliotheken
- benötigt.)
-</para>
-</sect2>
-
-
-<sect2 id="pva">
-<title>PVA-Dateien</title>
-<para>
- PVA ist ein MPEG-ähnliches Format, das von verschiedenen Programmen
- benutzt wird, die bei DVB-TV-Karten mitgeliefert werden (z.B.
- <application>MultiDec</application>, <application>WinTV</application>
- unter Windows).
-</para>
-</sect2>
-
-
-<sect2 id="nsv">
-<title>NSV-Dateien</title>
-<para>
-NSV (NullSoft Video) ist das vom
-<application>Winamp</application>-Player zum Streamen von Audio und Video
-verwendete Dateiformat.
-Video ist VP3, VP5 oder VP6, Audio is MP3, AAC oder VLB.
-Die Nur-Audio-Version von NSV hat die Erweiterung <filename>.nsa</filename>.
-<application>MPlayer</application> kann beides abspielen, NSV-Streams und -Dateien.
-Beachte bitte, dass die meisten Dateien von der
-<ulink url="http://www.winamp.com">Winamp-Seite</ulink> VLB-Audio verwenden, welches
-noch nicht decodiert werden kann. Darüber hinaus benötigen Streams von dieser Seite
-einen extra Layer zum Extrahieren der Pakete, der immer noch auf seine Implementierung
-wartet (diese Dateien sind ohnehin nicht abspielbar, weil sie VLB-Audio verwenden).
-</para>
-</sect2>
-
-
-<sect2 id="matroska">
-<title>Matroska-Dateien</title>
-<para>
-Matroska ist ein offenes Containerformat.
-Lies mehr dazu auf der <ulink url="http://www.matroska.org/">offiziellen Site</ulink>.
-</para>
-</sect2>
-
-
-<sect2 id="nut">
-<title>NUT -Dateien</title>
-<para>
-NUT ist das von <application>MPlayer</application>- und
-<application>FFmpeg</application>-Leuten entwickelte Containerformat.
-Beide Projekte unterstützen es.
-Lies mehr dazu auf der <ulink url="http://www.nut.hu/">offiziellen Site</ulink>.
-</para>
-</sect2>
-
-
-<sect2 id="gif">
-<title>GIF-Dateien</title>
-<para>
- Das <emphasis role="bold">GIF</emphasis>-Format ist ein weit verbreitetes Format
- für Grafiken im Web. Es gibt zwei Versionen der GIF-Spezifikationen, GIF87a und
- GIF89a.
- Der größte Unterschied liegt darin, dass GIF89a Animationen erlaubt.
- <application>MPlayer</application> unterstützt beide Formate mit
- Hilfe der <systemitem class="library">libungif</systemitem>-Bibliothek oder
- einer anderen libgif-kompatiblen Bibliothek.
- Nicht-animierte GIFs werden als Ein-Bild-Videos dargestellt. (Mit den
- Optionen <option>-loop</option> und <option>-fixed-vo</option> können solche
- GIFs länger angezeigt werden.)
-</para>
-
-<para>
- Momentan unterstützt <application>MPlayer</application> das Spulen
- in GIF-Dateien nicht. Die einzelnen Bilder in GIF-Dateien haben nicht zwangsläufig
- die gleichen Dimensionen, und auch nicht eine feste Bildrate. Jedes Bild hat
- vielmehr seine eigenen Dimensionen und soll an einer bestimmten Position auf
- einem Bereich angezeigt werden, der selbst aber eine feste Größe hat.
- Die Bildrate wird von einem optionalen Block vor jedem Bild kontrolliert,
- der die Anzeigedauer des auf ihn folgenden Bildes in hundertstel Sekunden angibt.
-</para>
-
-<para>
- Standard-GIF-Dateien enthalten 24 Bit RGB-Bilder mit einer indizierten
- Palette, die höchstens bis 8 Bit geht. Die Bilder sind normalerweise
- mit dem LZW-Algorithmus komprimiert. Es gibt aber auch GIF-Encoder, die
- unkomprimierte Bilder erzeugen, um die Patentprobleme mit dem LZW-Algorithmus
- zu umgehen.
-</para>
-
-<para>
- Wenn bei deiner Distribution die <systemitem class="library">libungif</systemitem>
- nicht dabei ist, dann lade sie
- von der <ulink url="http://sourceforge.net/projects/libungif">libungif-Homepage</ulink>
- herunter. Detaillierte technische Informationen findest
- du in den
- <ulink url="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">GIF89a-Spezifikationen</ulink>.
-</para>
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="audio-formats">
-<title>Audioformate</title>
-
-<para>
- <application>MPlayer</application> ist ein <emphasis role="bold">Movie</emphasis>-
- und kein <emphasis role="bold">Media</emphasis>-Player.
- Er kann auch einige Audioformate wiedergeben (diese sind in der unteren
- Sektion beschrieben). Dies ist jedoch nicht die empfohlene Verwendung von
- <application>MPlayer</application>, du solltest besser
- <ulink url="http://www.xmms.org">XMMS</ulink> verwenden.
-</para>
-
-<sect2 id="mp3">
-<title>MP3-Dateien</title>
-<para>
- Du hast vielleicht Probleme mit der Wiedergabe bestimmter MP3-Dateien, die
- <application>MPlayer</application> fälschlicherweise als MPEGs erkennt und
- dementsprechend falsch oder gar nicht wiedergibt. Dies kann nicht gelöst
- werden, ohne die Unterstützung für einige kaputte MPEG-Dateien aufzugeben
- und wird deshalb bis auf weiteres so bleiben. Die Option
- <option>-demuxer</option>, welche in der Manpage beschrieben wird, könnte
- dir in diesen Fällen helfen.
-</para>
-</sect2>
-
-<sect2 id="ogg-vorbis">
-<title>OGG/OGM-Dateien (Vorbis)</title>
-<para>
- Benötigt richtig installierte
- <systemitem class="library">libogg</systemitem> und
- <systemitem class="library">libvorbis</systemitem>.
-</para>
-</sect2>
-
-<sect2 id="cdda">
-<title>CD-Audio</title>
-<para>
- <application>MPlayer</application> kann die Bibliotheken von
- <application>cdparanoia</application>
- benutzen, um CDDA-Dateien (Audio CD) wiederzugeben. Alle
- Features von <application>cdparanoia</application>
- aufzuzählen gehört nicht zu den Aufgaben dieser Dokumentation.
-</para>
-
-<para>
- Schau in der Manpage bei der Option <option>-cdda</option> nach, wie mit ihr
- Parameter an <application>cdparanoia</application> übergeben
- werden können.
-</para>
-</sect2>
-
-<sect2 id="xmms">
-<title>XMMS</title>
-<para>
- <application>MPlayer</application> kann <application>XMMS</application>-Inputplugins
- benutzen, um eine Vielzahl von Dateiformaten abzuspielen. Es gibt Plugins für
- SNES-Spielemusik, SID-Musik (vom guten alten Commodore 64), viele Amiga-Formate,
- .xm, .it, VQF, musepack, Bonk shorten und viele weitere. Du findest sie
- auf der Seite für
- <ulink url="http://www.xmms.org/plugins.php?category=input">XMMS-Inputplugins</ulink>.
-</para>
-
-<para>
- Um dieses Feature benutzen zu können, brauchst du <application>XMMS</application>
- und musst <application>MPlayer</application> mit
- <filename>./configure --enable-xmms</filename> compilieren.
- Funktioniert dies nicht, dann musst du eventuell die Pfade für die
- <application>XMMS</application>-Plugins und die
- <application>XMMS</application>-Bibliotheken explizit mit
- <option>--with-xmmsplugindir</option> und <option>--withxmmslibdir</option>
- angeben.
-</para>
-</sect2>
-</sect1>
+ <title>Containerformate</title>
+
+ <para>
+ Es ist wichtig, einen häufigen Fehler zu berichtigen. Wenn Leute eine
+ Datei mit <filename>.AVI</filename>-Erweiterung sehen, denken
+ sie sofort, es sei keine MPEG-Datei. Das ist nicht wahr. Zumindest
+ nicht ganz. Im Gegensatz zur verbreiteten Ansicht
+ <emphasis>kann</emphasis> solch eine Datei MPEG1-Video
+ enthalten.
+ </para>
+
+ <para>
+ Ein <emphasis role="bold">Codec</emphasis> ist nicht dasselbe wie ein
+ <emphasis role="bold">Datei-/Containerformat</emphasis>.
+ Beispiele für <emphasis role="bold">Video-Codecs</emphasis> sind:
+ MPEG1, MPEG2, DivX, Indeo5, 3ivx. Beispiele für
+ <emphasis role="bold">Dateiformate</emphasis> sind: MPG, AVI, ASF.
+ </para>
+
+ <para>
+ Theoretisch kannst du ein OpenDivX-Video und MP3-Audio in einer
+ <emphasis role="bold">.MPG</emphasis>-Datei vereinigen. Die meisten
+ Player könnten es jedoch nicht abspielen, da sie MPEG1-Video und
+ MP2-Audio erwarten (im Gegensatz zu
+ <emphasis role="bold">AVI</emphasis> besitzt <emphasis role="bold">MPG</emphasis>
+ nicht die nötigen Felder, die die Video- und Audio-Streams
+ beschreiben). Oder du könntest ein MPEG1-Video in ein .AVI legen.
+ <ulink url="http://ffmpeg.org/"><application>ffmpeg</application></ulink>
+ und
+ <link linkend="mencoder"><application>MEncoder</application></link> können
+ solche Dateien erzeugen.
+ </para>
+
+
+ <sect1 id="video-formats">
+ <title>Videoformate</title>
+
+ <sect2 id="mpg-vob-dat">
+ <title>MPEG-Dateien</title>
+
+ <para>
+ MPEG-Dateien treten in unterschiedlichen Erscheinungen auf:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ MPG: Dies ist die <emphasis role="bold">grundlegende</emphasis>
+ Form des MPEG-Dateiformates.
+ Es enthält MPEG1-Video und MP2-(MPEG-1 Layer 2) oder selten MP1-Audio.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ DAT: Dies ist dasselbe Format wie MPG mit einer anderen
+ Endung. Es wird auf <emphasis role="bold">Video-CD</emphasis>s benutzt.
+ Auf Grund der Tatsache, wie VCDs erzeugt werden und wie Linux entworfen
+ wurde, kann man die DAT-Dateien einer VCD weder abspielen noch kopieren.
+ Du musst die Option <option>-vcd</option> zum Abspielen einer Video-CD
+ verwenden.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ VOB: VOB ist das MPEG-Dateiformat bei <emphasis role="bold">DVD</emphasis>s.
+ Es ist das gleiche wie MPG mit zusätzlicher Unterstützung für Untertitel
+ oder nicht-MPEG-(AC3)-Audio. Es enthält MPEG-2-Video und normalerweise
+ AC3-Audio, aber auch DTS, MP2 und unkomprimierte LPCMs sind erlaubt.
+ <emphasis role="bold">Lies die <link linkend="dvd">DVD-Sektion</link>!</emphasis>
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ TY: Dies ist ein TiVo MPEG-Stream. Er enthält gleichermaßen MPEG-PES-Daten
+ für Audio- und Video-Streams wie auch extra Informationen wie geschlossene
+ Titel. Der Container ist kein MPEG-Programmstream, sondern ein geschlossenes,
+ von TiVo erzeugtes Format. Mehr Informationen zum TiVo-Streamformat
+ findest Du auf der
+ <ulink url="http://dvd-create.sourceforge.net/tystudio/tystream.shtml">TyStudio-Seite</ulink>.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ Serien von Frames bilden unabhängige Gruppen in MPEG-Dateien. Dies
+ bedeutet, dass du eine MPEG-Datei mit einem Standard-Dateitool (wie
+ <command>dd</command> oder <command>cut</command>)
+ schneiden und zusammenfügen kannst und dieses trotzdem vollständig
+ funktionsfähig bleibt.
+ </para>
+
+ <para>
+ Ein wichtiges Feature von MPGs ist, dass sie ein Feld besitzen, welches das
+ Breiten-/Höhenverhältnis des Videostreams angibt. SVCDs haben zum
+ Beispiel Video mit einer Auflösung von 480x480, und im Header ist dieses
+ Feld auf 4:3 gesetzt. Also wird es als 640x480 abgespielt. AVI-Dateien fehlt
+ dieses Feld oft, sodass diese während des Encodierens skaliert werden
+ müssen oder die Option <option>-aspect</option> bei der Wiedergabe verwendet
+ werden muss.
+ </para>
+ </sect2>
+
+
+ <sect2 id="avi">
+ <title>AVI-Dateien</title>
+
+ <para>
+ <emphasis role="bold">AVI (Audio Video Interleaved)</emphasis> ist ein
+ von Microsoft entworfenes und weitverbeitetes Multifunktionsformat, das
+ zur Zeit hauptsächlich für DivX- und DivX4-Videos verwendet wird. Es
+ hat einige bekannte Nachteile, und ihm fehlen ein paar wichtige Features
+ (zum Beispiel Streaming). Es unterstützt einen Videostream und 0 bis
+ 99 Audiostreams. Die Dateien können bis zu 2 GB groß sein. Es existiert
+ eine Erweiterung für größere Dateien, genannt <emphasis role="bold">OpenDML</emphasis>.
+ Microsoft rät von der Verwendung dringend ab und propagiert ASF/WMV.
+ Als ob das irgendwen kratzen würde.
+ </para>
+
+ <para>
+ Es gibt einen Hack, der es AVI-Dateien erlaubt, Ogg Vorbis Audio-Streams zu
+ enthalten, was sie aber auch inkompatibel zu Standard-AVIs macht.
+ <application>MPlayer</application>
+ unterstützt die Wiedergabe solcher Dateien. Eine Spulfunktion ist auch
+ implementiert, jedoch wird diese stark von schlecht konvertierten Dateien mit
+ verwirrenden Headern gestört. Leider schreibt der einzige Encodierer, der
+ fähig ist, solche Dateien zu erzeugen (<application>NanDub</application>),
+ solch problematische Header.
+ </para>
+
+ <note>
+ <para>
+ DV-Kameras können Raw-DV-Streams erzeugen, welche von DV-Aufnahmetools
+ in zwei unterschiedliche Typen von AVI-Dateien konvertiert werden. Die
+ AVI-Datei enthält dabei entweder separate Audio- und Video-Streams, die
+ <application>MPlayer</application> wiedergeben kann, oder den unveränderten
+ DV-Stream. An dessen Unterstützung wird gerade gearbeitet.
+ </para>
+ </note>
+
+ <para>
+ Es gibt 2 Arten von AVI-Dateien:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ <emphasis role="bold">Interleaved:</emphasis> Audio- und Videoinhalt
+ werden paketweise ineinander geschachtelt. Die ist üblich, wird empfohlen
+ und auch meist gemacht. Einige Tools erzeugen interleaved AVIs mit
+ schlechter Synchronisation.
+ <application>MPlayer</application> erkennt diese als interleaved, was
+ zum Verlust von A/V-Synchronisation führen kann (evtl. erst beim Vor-/Zurückspulen).
+ Diese Dateien sollten non-interleaved (mit der Option <option>-ni</option>)
+ abgespielt werden.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <emphasis role="bold">Non-interleaved:</emphasis> Als erstes kommt der
+ ganze Videostream, dann der ganze Audiostream. Dies erfordert viel
+ Suchen in der Datei, was die Wiedergabe vom Netzwerk oder von CDROM schwierig
+ macht.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <para>
+ <application>MPlayer</application> unterstützt zwei Arten des Timings für
+ AVI-Dateien:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ <emphasis role="bold">bps-basiert</emphasis>: Diese Methode basiert auf
+ der Bitrate/Samplerate des Video-/Audiostreams. Diese Methode wird von den
+ meisten Playern verwendet, inklusive
+ <ulink url="http://avifile.sf.net">avifile</ulink>
+ und <application>Windows Media Player</application>. Dateien mit kaputten
+ Headern und Dateien, welche mit VBR-Audio aber nicht VBR-unterstützendem
+ Encoder erstellt wurden, führen mit dieser Methode zu A/V-Desynchronisation
+ (meistens beim Spulen).
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <emphasis role="bold">interleaving-basiert</emphasis>: Diese Methode benutzt
+ nicht mehr den Wert der Bitrate sondern die relative Position des
+ Audio-Paketes zum aktuellen Video-Paket, was einige falsch codierte
+ Dateien mit VBR-Audio abspielbar macht.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <para>
+ Jeglicher Audio- und Video-Codec ist erlaubt. Aber bedenke, dass VBR-Audio
+ von den meisten Playern nicht gut unstützt wird. Das Dateiformat macht es
+ möglich, VBR-Audio zu verwenden, aber die meisten Player erwarten CBR-Audio,
+ weswegen VBR-Audio nicht funktioniert. VBR ist ungewöhnlich, und
+ Microsofts Spezifikation zu AVI beschreibt nur CBR-Audio. Bedenke auch, dass
+ die meisten AVI-Encoder/Multiplexer schlechte Dateien mit VBR-Audio erzeugen.
+ Es gibt nur zwei Ausnahmen: <application>NanDub</application> und
+ <link linkend="mencoder"><application>MEncoder</application></link>.
+ </para>
+ </sect2>
+
+
+ <sect2 id="asf-wmv">
+ <title>ASF/WMV-Dateien</title>
+ <para>
+ ASF (Active Streaming Format) kommt von Microsoft. Sie haben zwei Arten von
+ ASF entwickelt, v1.0 und v2.0. v1.0 wird von ihren Media Tools
+ (<application>Windows Media Player</application> und
+ <application> Windows Media Encoder</application>) verwendet und ist streng
+ geheim. v2.0 ist veröffentlicht und patentiert :). Natürlich sind sie
+ unterschiedlich und besitzten überhaupt keine Gemeinsamkeiten (es ist nur
+ ein weiteres Spiel mit den Gesetzen). <application>MPlayer</application>
+ unterstützt nur v1.0, weil noch niemand v2.0 Dateien gesehen hat :).
+ Beachte, dass .ASF-Dateien heute auch mit der Extension <filename>.WMA</filename>
+ oder <filename>.WMV</filename> vorkommen.
+ </para>
+ </sect2>
+
+
+ <sect2 id="mov">
+ <title>QuickTime/MOV-Dateien</title>
+
+ <para>
+ Diese Formate sind von Apple entworfen und können jeden beliebigen Codec
+ enthalten, CBR oder VBR. Normalerweise haben sie die Endung <filename>.QT</filename>
+ oder <filename>.MOV</filename>.
+ Seitdem die MPEG4-Gruppe QuickTime als das empfohlene Dateiformat für
+ MPEG4 ausgewählt hat, kommen ihre .MOV-Dateien mit den Endungen
+ <filename>.MPG</filename> oder <filename>.MP4</filename> daher.
+ (Interessanterweise sind bei diesen Dateien die Video- und Audiostreams
+ richtige MPG- und AAC-Dateien. Mit den den Optionen <option>-dumpvideo</option>
+ und <option>-dumpaudio</option> kannst du sie sogar extrahieren.).
+ </para>
+
+ <note>
+ <para>
+ Die meisten QuickTime-Dateien benutzen
+ <emphasis role="bold">Sorenson</emphasis>-Video und QDesign-Audio. Lies dazu die
+ <link linkend="sorenson">Sorenson</link>-Codec-Sektion.
+ </para>
+ </note>
+ </sect2>
+
+
+ <sect2 id="vivo">
+ <title>VIVO-Dateien</title>
+
+ <para>
+ <application>MPlayer</application> demuxt nun auch fröhlich VIVO-Dateiformate.
+ Der grösste Nachteil des Formates ist, dass es keinen Index-Block besitzt,
+ auch keine fixe Paketgröße oder Sync-Bytes. Die meisten Dateien
+ besitzen nicht mal Keyframes, also vergiss das Spulen!
+ </para>
+
+ <para>
+ Der Videocodec von VIVO/1.0-Datei ist Standard-<emphasis role="bold">h.263</emphasis>.
+ Der Videocodec der VIVO/2.0 Dateien ist veränderter,
+ nichtstandard-<emphasis role="bold">h.263</emphasis>. Bei
+ Audio ist es dasselbe, es ist <emphasis role="bold">g.723</emphasis> (Standard)
+ oder <emphasis role="bold">Vivo Siren</emphasis>.
+ </para>
+
+ <para>
+ In den <link linkend="vivo-video">VIVO-Videocodec</link>- und
+ <link linkend="vivo-audio">VIVO-Audiocodec</link>-Sektionen findest
+ du Installationsanweisungen.
+ </para>
+ </sect2>
+
+
+ <sect2 id="fli">
+ <title>FLI-Dateien</title>
+ <para>
+ <emphasis role="bold">FLI</emphasis> ist ein sehr altes vom
+ <application>Autodesk Animator</application> benutztes Dateiformat.
+ Es ist aber immer noch ein im Internet gebräuchliches Dateiformat für
+ kurze Animationen. <application>MPlayer</application> demuxt und
+ decodiert FLI-Filme und ist sogar fähig, in ihnen vor- und zurückzuspulen
+ (nützlich, wenn man looping mit der Option <option>-loop</option> aktiviert
+ hat). FLI-Dateien haben keine Keyframes, was zu verunstalteten Bildern kurz
+ nach dem Spulen führt.
+ </para>
+ </sect2>
+
+
+ <sect2 id="realmedia">
+ <title>RealMedia-(RM)-Dateien</title>
+
+ <para>
+ Ja, <application>MPlayer</application> kann RealMedia-Dateien
+ (<filename>.rm</filename>) lesen (demuxen).
+ Hier ist die Liste der unterstützten
+ <link linkend="realvideo">RealVideo</link>- und
+ <link linkend="realaudio">RealAudio</link>-Codecs.
+ </para>
+ </sect2>
+
+
+ <sect2 id="nuppelvideo">
+ <title>NuppelVideo-Dateien</title>
+ <para>
+ NuppelVideo
+ ist, soweit ich weiss, ein TV-Aufnahmeprogramm. <application>MPlayer</application>
+ kann dessen <filename>.NUV</filename>-Dateien (nur NuppelVideo 5.0) lesen.
+ Diese Dateien können unkomprimierte YV12-, komprimierte YV12+RTJpeg-,
+ komprimierte YV12-RTJpeg+lzo- und komprimierte YV12+lzo-Frames enthalten, welche
+ <application>MPlayer</application>
+ alle decodiert (und diese auch mit <application>MEncoder</application> zu
+ MPEG4 (DivX)/etc!) <emphasis role="bold">encodiert</emphasis>).
+ Spulen funktioniert.
+ </para>
+ </sect2>
+
+
+ <sect2 id="yuv4mpeg">
+ <title>yuv4mpeg-Dateien</title>
+ <para>
+ <ulink url="http://mjpeg.sf.net">yuv4mpeg / yuv4mpeg2</ulink> ist ein
+ Dateiformat, das von den <ulink url="http://mjpeg.sf.net">mjpegtools-Programmen</ulink>
+ verwendet wird. Du kannst damit Video in diesem Format einlesen, produzieren,
+ filtern oder encodieren. Das Dateiformat ist eigentlich eine Sequenz
+ unkomprimierter YUV 4:2:0 Bilder.
+ </para>
+ </sect2>
+
+
+ <sect2 id="film">
+ <title>FILM-Dateien</title>
+ <para>
+ Dieses Format wird auf alten Sega Saturn CD-ROM-Spielen verwendet.
+ </para>
+ </sect2>
+
+
+ <sect2 id="roq">
+ <title>RoQ-Dateien</title>
+ <para>
+ RoQ-Dateien sind Multimedia-Dateien, welche in gewissen ID-Spielen wie
+ Quake III und Return to castle Wolfenstein benutzt werden.
+ </para>
+ </sect2>
+
+
+ <sect2 id="ogg">
+ <title>OGG/OGM-Dateien</title>
+ <para>
+ Dies ist ein neues Dateiformat von
+ <ulink url="http://www.xiph.org">Xiphophorus</ulink>. Es kann beliebige
+ Video- und Audio-Codecs enthalten, sowohl CBR als auch VBR. Man benötigt
+ dazu installierte <systemitem class="library">libogg</systemitem>- und
+ <systemitem class="library">libvorbis</systemitem>-Bibliotheken vor
+ der Kompilierung von <application>MPlayer</application>, um sie wiedergeben
+ zu können.
+ </para>
+ </sect2>
+
+
+ <sect2 id="sdp">
+ <title>SDP-Dateien</title>
+ <para>
+ <ulink url="ftp://ftp.rfc-editor.org/in-notes/rfc2327.txt">SDP</ulink> ist ein
+ IETF-Standardformat, das Video- und/oder Audio-RTP-Streams beschreibt.
+ (Dazu werden die
+ &quot;<ulink url="http://www.live555.com/mplayer/">LIVE555 Streaming Media</ulink>&quot;-Bibliotheken
+ benötigt.)
+ </para>
+ </sect2>
+
+
+ <sect2 id="pva">
+ <title>PVA-Dateien</title>
+ <para>
+ PVA ist ein MPEG-ähnliches Format, das von verschiedenen Programmen
+ benutzt wird, die bei DVB-TV-Karten mitgeliefert werden (z.B.
+ <application>MultiDec</application>, <application>WinTV</application>
+ unter Windows).
+ </para>
+ </sect2>
+
+
+ <sect2 id="nsv">
+ <title>NSV-Dateien</title>
+ <para>
+ NSV (NullSoft Video) ist das vom
+ <application>Winamp</application>-Player zum Streamen von Audio und Video
+ verwendete Dateiformat.
+ Video ist VP3, VP5 oder VP6, Audio is MP3, AAC oder VLB.
+ Die Nur-Audio-Version von NSV hat die Erweiterung <filename>.nsa</filename>.
+ <application>MPlayer</application> kann beides abspielen, NSV-Streams und -Dateien.
+ Beachte bitte, dass die meisten Dateien von der
+ <ulink url="http://www.winamp.com">Winamp-Seite</ulink> VLB-Audio verwenden, welches
+ noch nicht decodiert werden kann. Darüber hinaus benötigen Streams von dieser Seite
+ einen extra Layer zum Extrahieren der Pakete, der immer noch auf seine Implementierung
+ wartet (diese Dateien sind ohnehin nicht abspielbar, weil sie VLB-Audio verwenden).
+ </para>
+ </sect2>
+
+
+ <sect2 id="matroska">
+ <title>Matroska-Dateien</title>
+ <para>
+ Matroska ist ein offenes Containerformat.
+ Lies mehr dazu auf der <ulink url="http://www.matroska.org/">offiziellen Site</ulink>.
+ </para>
+ </sect2>
+
+
+ <sect2 id="nut">
+ <title>NUT -Dateien</title>
+ <para>
+ NUT ist das von <application>MPlayer</application>- und
+ <application>FFmpeg</application>-Leuten entwickelte Containerformat.
+ Beide Projekte unterstützen es.
+ Lies mehr dazu auf der <ulink url="http://www.nut.hu/">offiziellen Site</ulink>.
+ </para>
+ </sect2>
+
+
+ <sect2 id="gif">
+ <title>GIF-Dateien</title>
+ <para>
+ Das <emphasis role="bold">GIF</emphasis>-Format ist ein weit verbreitetes Format
+ für Grafiken im Web. Es gibt zwei Versionen der GIF-Spezifikationen, GIF87a und
+ GIF89a.
+ Der größte Unterschied liegt darin, dass GIF89a Animationen erlaubt.
+ <application>MPlayer</application> unterstützt beide Formate mit
+ Hilfe der <systemitem class="library">libungif</systemitem>-Bibliothek oder
+ einer anderen libgif-kompatiblen Bibliothek.
+ Nicht-animierte GIFs werden als Ein-Bild-Videos dargestellt. (Mit den
+ Optionen <option>-loop</option> und <option>-fixed-vo</option> können solche
+ GIFs länger angezeigt werden.)
+ </para>
+
+ <para>
+ Momentan unterstützt <application>MPlayer</application> das Spulen
+ in GIF-Dateien nicht. Die einzelnen Bilder in GIF-Dateien haben nicht zwangsläufig
+ die gleichen Dimensionen, und auch nicht eine feste Bildrate. Jedes Bild hat
+ vielmehr seine eigenen Dimensionen und soll an einer bestimmten Position auf
+ einem Bereich angezeigt werden, der selbst aber eine feste Größe hat.
+ Die Bildrate wird von einem optionalen Block vor jedem Bild kontrolliert,
+ der die Anzeigedauer des auf ihn folgenden Bildes in hundertstel Sekunden angibt.
+ </para>
+
+ <para>
+ Standard-GIF-Dateien enthalten 24 Bit RGB-Bilder mit einer indizierten
+ Palette, die höchstens bis 8 Bit geht. Die Bilder sind normalerweise
+ mit dem LZW-Algorithmus komprimiert. Es gibt aber auch GIF-Encoder, die
+ unkomprimierte Bilder erzeugen, um die Patentprobleme mit dem LZW-Algorithmus
+ zu umgehen.
+ </para>
+
+ <para>
+ Wenn bei deiner Distribution die <systemitem class="library">libungif</systemitem>
+ nicht dabei ist, dann lade sie
+ von der <ulink url="http://sourceforge.net/projects/libungif">libungif-Homepage</ulink>
+ herunter. Detaillierte technische Informationen findest
+ du in den
+ <ulink url="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">GIF89a-Spezifikationen</ulink>.
+ </para>
+ </sect2>
+ </sect1>
+
+ <!-- ********** -->
+
+ <sect1 id="audio-formats">
+ <title>Audioformate</title>
+
+ <para>
+ <application>MPlayer</application> ist ein <emphasis role="bold">Movie</emphasis>-
+ und kein <emphasis role="bold">Media</emphasis>-Player.
+ Er kann auch einige Audioformate wiedergeben (diese sind in der unteren
+ Sektion beschrieben). Dies ist jedoch nicht die empfohlene Verwendung von
+ <application>MPlayer</application>, du solltest besser
+ <ulink url="http://www.xmms.org">XMMS</ulink> verwenden.
+ </para>
+
+ <sect2 id="mp3">
+ <title>MP3-Dateien</title>
+ <para>
+ Du hast vielleicht Probleme mit der Wiedergabe bestimmter MP3-Dateien, die
+ <application>MPlayer</application> fälschlicherweise als MPEGs erkennt und
+ dementsprechend falsch oder gar nicht wiedergibt. Dies kann nicht gelöst
+ werden, ohne die Unterstützung für einige kaputte MPEG-Dateien aufzugeben
+ und wird deshalb bis auf weiteres so bleiben. Die Option
+ <option>-demuxer</option>, welche in der Manpage beschrieben wird, könnte
+ dir in diesen Fällen helfen.
+ </para>
+ </sect2>
+
+ <sect2 id="ogg-vorbis">
+ <title>OGG/OGM-Dateien (Vorbis)</title>
+ <para>
+ Benötigt richtig installierte
+ <systemitem class="library">libogg</systemitem> und
+ <systemitem class="library">libvorbis</systemitem>.
+ </para>
+ </sect2>
+
+ <sect2 id="cdda">
+ <title>CD-Audio</title>
+ <para>
+ <application>MPlayer</application> kann die Bibliotheken von
+ <application>cdparanoia</application>
+ benutzen, um CDDA-Dateien (Audio CD) wiederzugeben. Alle
+ Features von <application>cdparanoia</application>
+ aufzuzählen gehört nicht zu den Aufgaben dieser Dokumentation.
+ </para>
+
+ <para>
+ Schau in der Manpage bei der Option <option>-cdda</option> nach, wie mit ihr
+ Parameter an <application>cdparanoia</application> übergeben
+ werden können.
+ </para>
+ </sect2>
+
+ <sect2 id="xmms">
+ <title>XMMS</title>
+ <para>
+ <application>MPlayer</application> kann <application>XMMS</application>-Inputplugins
+ benutzen, um eine Vielzahl von Dateiformaten abzuspielen. Es gibt Plugins für
+ SNES-Spielemusik, SID-Musik (vom guten alten Commodore 64), viele Amiga-Formate,
+ .xm, .it, VQF, musepack, Bonk shorten und viele weitere. Du findest sie
+ auf der Seite für
+ <ulink url="http://www.xmms.org/plugins.php?category=input">XMMS-Inputplugins</ulink>.
+ </para>
+
+ <para>
+ Um dieses Feature benutzen zu können, brauchst du <application>XMMS</application>
+ und musst <application>MPlayer</application> mit
+ <filename>./configure --enable-xmms</filename> compilieren.
+ Funktioniert dies nicht, dann musst du eventuell die Pfade für die
+ <application>XMMS</application>-Plugins und die
+ <application>XMMS</application>-Bibliotheken explizit mit
+ <option>--with-xmmsplugindir</option> und <option>--withxmmslibdir</option>
+ angeben.
+ </para>
+ </sect2>
+ </sect1>
</chapter>
diff --git a/DOCS/xml/de/documentation.xml b/DOCS/xml/de/documentation.xml
index 2305f894a2..582d178f7a 100644
--- a/DOCS/xml/de/documentation.xml
+++ b/DOCS/xml/de/documentation.xml
@@ -2,181 +2,213 @@
<!-- in sync with r19973 -->
<bookinfo id="toc">
- <title><application>MPlayer</application> - Movie Player</title>
- <subtitle><ulink url="http://www.mplayerhq.hu"></ulink></subtitle>
- <date>24. März 2003</date>
- <copyright>
- <year>2000</year>
- <year>2001</year>
- <year>2002</year>
- <year>2003</year>
- <year>2004</year>
- <year>2005</year>
- <year>2006</year>
- <holder>MPlayer-Team</holder>
- </copyright>
- <!--
- <legalnotice>
- <title>License</title>
- <para>This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.</para>
-
- <para>This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- for more details.</para>
-
- <para>You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.</para>
- </legalnotice>
- -->
- </bookinfo>
-
-
- <preface id="howtoread">
- <title>Wie diese Dokumentation gelesen werden soll</title>
-
- <para>
- Wenn du zum ersten Mal installierst: Lies in jedem Fall alles von hier bis zum
- Ende des Installationsabschnitts, und folge den Links, die du findest. Wenn Fragen
- bleiben, gehe zurück zum <link linkend="toc">Inhaltsverzeichnis</link> und suche nach
- dem Thema, lies die <xref linkend="faq"/> oder versuche, die Dateien zu greppen.
- Die meisten Fragen sollten irgendwo hier beantwortet werden, und nach dem Rest wurde
- vermutlich auf den
- <ulink url="http://www.mplayerhq.hu/design7/info.html#mailing_lists">Mailing-Listen</ulink> gefragt.
- <!-- FIXME: This refers to nonexistent links
- Checke die
- <ulink url="http://lists.mplayerhq.hu/cgi-bin/s-arch.cgi">Archive</ulink>,
- dort gibt es viele wertvolle Informationen.
- -->
- </para>
- </preface>
-
-
- <chapter id="intro">
- <title>Einführung</title>
-
- <para>
- <application>MPlayer</application> ist ein Movie-Player für Linux (der auch auf vielen
- anderen Unices und <emphasis role="bold">nicht-x86</emphasis>-Architekturen läuft, siehe
- <xref linkend="ports"/>). Er spielt die meisten Dateien in den Formaten MPEG, VOB, AVI,
- OGG/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, PVA,
- Matroska-Dateien, unterstützt von vielen eingebauten, XAnim-, RealPlayer und Win32-DLL-Codecs.
- Es können auch <emphasis role="bold">VideoCDs, SVCDs, DVDs, 3ivx-, RealMedia-, Sorenson-, Theora-</emphasis>
- und <emphasis role="bold">MPEG-4 (DivX)</emphasis> - Filme angeschaut werden.
-
- Ein weiteres großes Feature von <application>MPlayer</application> ist die Fülle an
- unterstützten Ausgabetreibern. Er funktioniert mit X11, Xv, DGA, OpenGL, SVGAlib,
- fb-dev, AAlib, libcaca und DirectFB, du kannst ihn aber auch mit GGI und SDL (und damit
- allen von SDL unterstützen Treibern), sowie mit einigen kartenspezifischen Low-Level-Treibern
- (für Matrox, 3Dfx und Radeon, Mach64, Permedia3) benutzen! Die meisten von ihnen unterstützen
- Software- oder Hardwareskalierung, so dass die Vollbildwiedergabe kein Problem ist.
- <application>MPlayer</application> unterstützt die Wiedergabe mittels einiger
- Hardware-MPEG-Decoderkarten wie der DVB, DXR2 und DXR3/Hollywood+ benutzen.
- Und was ist mit diesen schönen, großen, kantengeglätteten und schattierten Untertiteln
- (<emphasis role="bold">14 unterstützte Typen</emphasis>) mit Europäischen/ISO 8859-1,2
- (Ungarisch, Englisch, Tschechisch usw.), Kryllisch und Koreanische Schriftarten, und
- On-Screen-Display (OSD)?
- </para>
-
- <para>
- Der Player ist superstabil bei der Wiedergabe von beschädigten MPEG-Dateien (nützlich
- für manche VCDs) und spielt schlechte AVI-Dateien ab, die mit dem berühmten
- Windows Media Player nicht abgespielt werden können. Selbst AVI-Dateien ohne Index-Abschnitt
- sind abspielbar, und du kannst den Index mit der Option <option>-idx</option>
- temporär neu generieren, oder permanent mit <application>MEncoder</application>,
- was Spulen ermöglicht! Wie du siehst, sind Stabilität und Qualität die
- wichtigsten Dinge, die Geschwindigkeit ist jedoch auch erstaunlich. Es gibt
- außerdem ein mächtiges Filtersystem für die Manipulation von Video und Ton.
- </para>
-
- <para>
- <application>MEncoder</application> (<application>MPlayer</application>s Movie
- Encoder) ist ein einfacher Film-Encoder, der so ausgelegt ist, von
- <application>MPlayer</application>-abspielbaren Formaten
- (<emphasis role="bold">AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA</emphasis>)
- in andere <application>MPlayer</application>-abspielbare Formate (siehe unten)
- zu encodieren. Er kann mit verschiedenen Codecs encodieren, zum Beispiel
- <emphasis role="bold">MPEG-4 (DivX4)</emphasis> (ein oder zwei Durchläufe),
- <systemitem class="library">libavcodec</systemitem>, und
- <emphasis role="bold">PCM/MP3/VBR MP3</emphasis>-Audio.
- </para>
-
-
- <itemizedlist>
- <title><application>MEncoder</application> Features</title>
- <listitem><simpara>
- Encodierung zu der weitreichenden Menge Dateiformate und Decoder von
- <application>MPlayer</application>
- </simpara></listitem>
- <listitem><simpara>
- Encodierung zu allen Codecs von FFmpegs
- <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
- </simpara></listitem>
- <listitem><simpara>
- Videoencodierung von <emphasis role="bold">V4L-kompatiblen TV-Empfängern</emphasis>
- </simpara></listitem>
- <listitem><simpara>
- Encodierung/Multiplexing von interleaved AVI-Dateien mit ordentlichem Index
- </simpara></listitem>
- <listitem><simpara>
- Erstellung von Dateien aus externen Audiostreams
- </simpara></listitem>
- <listitem><simpara>
- Encodierung in 1, 2 oder 3 Durchläufen
- </simpara></listitem>
- <listitem><para>
- <emphasis role="bold">VBR</emphasis>-MP3-Audio
- <important><simpara>
- VBR-MP3-Audio wird von Windows-Playern nicht immer sauber wiedergegeben!
- </simpara></important>
- </para></listitem>
- <listitem><simpara>
- PCM-Audio
- </simpara></listitem>
- <listitem><simpara>
- Streamkopien
- </simpara></listitem>
- <listitem><simpara>
- Input-A/V-Synchronisation (PTS-basiert, kann mit der Option
- <option>-mc 0</option> deaktiviert werden)
- </simpara></listitem>
- <listitem><simpara>
- fps-Korrektur mit der Option <option>-ofps</option> (nützlich bei Encodierung von
- 30000/1001 fps VOB zu 24000/1001 fps AVI)
- </simpara></listitem>
- <listitem><simpara>
- Benutzung unseres sehr mächtigen Filtersystems (abschneiden, expandieren, spiegeln,
- nachbearbeiten, rotieren, skalieren, rgb/yuv-Konvertierung)
- </simpara></listitem>
- <listitem><simpara>
- Kann DVD/VOBsub- <emphasis role="bold">UND</emphasis> Textuntertitel in die
- Ausgabedatei encodieren
- </simpara></listitem>
- <listitem><simpara>
- Kann DVD-Untertitel in das VOBsub-Format rippen
- </simpara></listitem>
- </itemizedlist>
-
- <itemizedlist>
- <title>Geplante Features</title>
- <listitem><simpara>
- Noch breiteres Feld an verfügbaren En-/Decodierungsformaten/-codecs
- (erstellen von VOB-Dateien mit DivX4/Indeo5/VIVO-Streams :).
- </simpara></listitem>
- </itemizedlist>
-
- <!-- FIXME: Lizenz sollte in bookinfo sein -->
- <para>
- <application>MPlayer</application> und <application>MEncoder</application> können
- weitergegeben werden unter den Bedingungen der GNU General Public License Version 2.
- </para>
-
- &history.xml;
- </chapter>
+ <title><application>MPlayer</application> - Movie Player</title>
+ <subtitle>
+ <ulink url="http://www.mplayerhq.hu"></ulink>
+ </subtitle>
+ <date>24. März 2003</date>
+ <copyright>
+ <year>2000</year>
+ <year>2001</year>
+ <year>2002</year>
+ <year>2003</year>
+ <year>2004</year>
+ <year>2005</year>
+ <year>2006</year>
+ <holder>MPlayer-Team</holder>
+ </copyright>
+ <!--
+ <legalnotice>
+ <title>License</title>
+ <para>This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.</para>
+
+ <para>This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.</para>
+
+ <para>You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.</para>
+ </legalnotice>
+ -->
+ </bookinfo>
+
+
+ <preface id="howtoread">
+ <title>Wie diese Dokumentation gelesen werden soll</title>
+
+ <para>
+ Wenn du zum ersten Mal installierst: Lies in jedem Fall alles von hier bis zum
+ Ende des Installationsabschnitts, und folge den Links, die du findest. Wenn Fragen
+ bleiben, gehe zurück zum <link linkend="toc">Inhaltsverzeichnis</link> und suche nach
+ dem Thema, lies die <xref linkend="faq"/> oder versuche, die Dateien zu greppen.
+ Die meisten Fragen sollten irgendwo hier beantwortet werden, und nach dem Rest wurde
+ vermutlich auf den
+ <ulink url="http://www.mplayerhq.hu/design7/info.html#mailing_lists">Mailing-Listen</ulink> gefragt.
+ <!-- FIXME: This refers to nonexistent links
+ Checke die
+ <ulink url="http://lists.mplayerhq.hu/cgi-bin/s-arch.cgi">Archive</ulink>,
+ dort gibt es viele wertvolle Informationen.
+ -->
+ </para>
+ </preface>
+
+
+ <chapter id="intro">
+ <title>Einführung</title>
+
+ <para>
+ <application>MPlayer</application> ist ein Movie-Player für Linux (der auch auf vielen
+ anderen Unices und <emphasis role="bold">nicht-x86</emphasis>-Architekturen läuft, siehe
+ <xref linkend="ports"/>). Er spielt die meisten Dateien in den Formaten MPEG, VOB, AVI,
+ OGG/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, PVA,
+ Matroska-Dateien, unterstützt von vielen eingebauten, XAnim-, RealPlayer und Win32-DLL-Codecs.
+ Es können auch <emphasis role="bold">VideoCDs, SVCDs, DVDs, 3ivx-, RealMedia-, Sorenson-, Theora-</emphasis>
+ und <emphasis role="bold">MPEG-4 (DivX)</emphasis> - Filme angeschaut werden.
+
+ Ein weiteres großes Feature von <application>MPlayer</application> ist die Fülle an
+ unterstützten Ausgabetreibern. Er funktioniert mit X11, Xv, DGA, OpenGL, SVGAlib,
+ fb-dev, AAlib, libcaca und DirectFB, du kannst ihn aber auch mit GGI und SDL (und damit
+ allen von SDL unterstützen Treibern), sowie mit einigen kartenspezifischen Low-Level-Treibern
+ (für Matrox, 3Dfx und Radeon, Mach64, Permedia3) benutzen! Die meisten von ihnen unterstützen
+ Software- oder Hardwareskalierung, so dass die Vollbildwiedergabe kein Problem ist.
+ <application>MPlayer</application> unterstützt die Wiedergabe mittels einiger
+ Hardware-MPEG-Decoderkarten wie der DVB, DXR2 und DXR3/Hollywood+ benutzen.
+ Und was ist mit diesen schönen, großen, kantengeglätteten und schattierten Untertiteln
+ (<emphasis role="bold">14 unterstützte Typen</emphasis>) mit Europäischen/ISO 8859-1,2
+ (Ungarisch, Englisch, Tschechisch usw.), Kryllisch und Koreanische Schriftarten, und
+ On-Screen-Display (OSD)?
+ </para>
+
+ <para>
+ Der Player ist superstabil bei der Wiedergabe von beschädigten MPEG-Dateien (nützlich
+ für manche VCDs) und spielt schlechte AVI-Dateien ab, die mit dem berühmten
+ Windows Media Player nicht abgespielt werden können. Selbst AVI-Dateien ohne Index-Abschnitt
+ sind abspielbar, und du kannst den Index mit der Option <option>-idx</option>
+ temporär neu generieren, oder permanent mit <application>MEncoder</application>,
+ was Spulen ermöglicht! Wie du siehst, sind Stabilität und Qualität die
+ wichtigsten Dinge, die Geschwindigkeit ist jedoch auch erstaunlich. Es gibt
+ außerdem ein mächtiges Filtersystem für die Manipulation von Video und Ton.
+ </para>
+
+ <para>
+ <application>MEncoder</application> (<application>MPlayer</application>s Movie
+ Encoder) ist ein einfacher Film-Encoder, der so ausgelegt ist, von
+ <application>MPlayer</application>-abspielbaren Formaten
+ (<emphasis role="bold">AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA</emphasis>)
+ in andere <application>MPlayer</application>-abspielbare Formate (siehe unten)
+ zu encodieren. Er kann mit verschiedenen Codecs encodieren, zum Beispiel
+ <emphasis role="bold">MPEG-4 (DivX4)</emphasis> (ein oder zwei Durchläufe),
+ <systemitem class="library">libavcodec</systemitem>, und
+ <emphasis role="bold">PCM/MP3/VBR MP3</emphasis>-Audio.
+ </para>
+
+
+ <itemizedlist>
+ <title><application>MEncoder</application> Features</title>
+ <listitem>
+ <simpara>
+ Encodierung zu der weitreichenden Menge Dateiformate und Decoder von
+ <application>MPlayer</application>
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Encodierung zu allen Codecs von FFmpegs
+ <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Videoencodierung von <emphasis role="bold">V4L-kompatiblen TV-Empfängern</emphasis>
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Encodierung/Multiplexing von interleaved AVI-Dateien mit ordentlichem Index
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Erstellung von Dateien aus externen Audiostreams
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Encodierung in 1, 2 oder 3 Durchläufen
+ </simpara>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">VBR</emphasis>-MP3-Audio
+ <important><simpara>
+ VBR-MP3-Audio wird von Windows-Playern nicht immer sauber wiedergegeben!
+ </simpara></important>
+ </para>
+ </listitem>
+ <listitem>
+ <simpara>
+ PCM-Audio
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Streamkopien
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Input-A/V-Synchronisation (PTS-basiert, kann mit der Option
+ <option>-mc 0</option> deaktiviert werden)
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ fps-Korrektur mit der Option <option>-ofps</option> (nützlich bei Encodierung von
+ 30000/1001 fps VOB zu 24000/1001 fps AVI)
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Benutzung unseres sehr mächtigen Filtersystems (abschneiden, expandieren, spiegeln,
+ nachbearbeiten, rotieren, skalieren, rgb/yuv-Konvertierung)
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Kann DVD/VOBsub- <emphasis role="bold">UND</emphasis> Textuntertitel in die
+ Ausgabedatei encodieren
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Kann DVD-Untertitel in das VOBsub-Format rippen
+ </simpara>
+ </listitem>
+ </itemizedlist>
+
+ <itemizedlist>
+ <title>Geplante Features</title>
+ <listitem>
+ <simpara>
+ Noch breiteres Feld an verfügbaren En-/Decodierungsformaten/-codecs
+ (erstellen von VOB-Dateien mit DivX4/Indeo5/VIVO-Streams :).
+ </simpara>
+ </listitem>
+ </itemizedlist>
+
+ <!-- FIXME: Lizenz sollte in bookinfo sein -->
+ <para>
+ <application>MPlayer</application> und <application>MEncoder</application> können
+ weitergegeben werden unter den Bedingungen der GNU General Public License Version 2.
+ </para>
+
+ &history.xml;
+ </chapter>
&install.xml;
diff --git a/DOCS/xml/de/encoding-guide.xml b/DOCS/xml/de/encoding-guide.xml
index 41a4f16283..309d1cc775 100644
--- a/DOCS/xml/de/encoding-guide.xml
+++ b/DOCS/xml/de/encoding-guide.xml
@@ -1,4960 +1,5093 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- In sync with r19043 -->
+
<chapter id="encoding-guide">
-<title>Encodieren mit <application>MEncoder</application></title>
-
-<sect1 id="menc-feat-dvd-mpeg4">
-<title>Erzeugen eines hochwertigen MPEG-4-Rips (&quot;DivX&quot;) eines DVD-Films</title>
-
-<para>
- Eine häufig gestellte Frage ist &quot;Wie mache ich den hochwertigsten
- Rip für eine gegebene Größe?&quot;. Eine weitere Frage ist &quot;Wie mache ich den qualitativ
- bestmöglichen DVD-Rip? Die Dateigröße ist mir egal, ich will einfach nur
- die beste Qualität.&quot;
-</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 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 eins 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 dazu entworfen
- wurden, clevere Entscheidungen für dich zu treffen.
-</para>
-
-<sect2 id="menc-feat-dvd-mpeg4-preparing-encode">
-<title>Vorbereitung aufs Encodieren: Identifiziere 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 voraussichtlich 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.
- Das Fernsehen wurde entworfen, diese Felder als billige Form einer
- analogen Komprimierung im Wechsel 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 dem Farbfernsehen.
- Ansonsten ähnlich wie PAL.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Animation</emphasis>: Üblicherweise bei
- 24fps gezeichnet, kommt jedoch auch in Varianten mit gemischter
- Framerate vor.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Computer Graphics (CG)</emphasis>: Kann
- irgendeine 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 komplizierter zu machen, sind manche Filme ein
- Gemisch aus einigen den oben beschriebenen Formen.
-</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 &quot;pulldown&quot; zugeordnet, von welchem
- das verrufene NTSC &quot;3:2 telecine&quot; eine Abart darstellt.
- Sofern das Originalmaterial nicht 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, genau 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 &quot;soft telecined&quot;
- 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 Encodierungstechniken, sie produzieren stattdessen Filme mit
- &quot;hard telecine&quot;, bei denen Felder sogar in encodiertes MPEG-2 dupliziert
- werden.
-</para>
-<para>
- Die Vorgehensweisen für den Umgang mit solchen Fällen werden
- <link linkend="menc-feat-telecine">später in diesem Handbuch</link>
- behandelt.
- 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 zu 24000/1001 gewechselt hat
- und diese nie wieder zurückwechselt, handelt es sich meist mit
- Sicherheit um progressiven Inhalt, der &quot;soft telecined&quot; 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 Kammartefakte, dann gibt es mehrere Möglichkeiten.
- Die Segmente mit 24000/1001 fps sind meist mit Sicherheit progressiver
- Inhalt, &quot;soft telecined&quot;, jedoch könnten die Teile mit 30000/1001 fps
- entweder &quot;hard telecined&quot; 24000/1001 fps Inhalt oder 60000/1001 Felder
- pro Sekunde NTSC-Video sein.
- Verwende die selben Richtwerte wie in den 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 der
- Inhalt deines Films &quot;hard telecined&quot; 24000/1001 fps.
-</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>Tipp:</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 &quot;<keycap>.</keycap>&quot;, um jeweils
- einen Frame abzuspielen und identifiziere dann das Muster, falls du bei voller
- Geschwindigkeit nichts erkennen kannst.
-</para>
-</note>
-</sect3>
-</sect2>
-
-<sect2 id="menc-feat-dvd-mpeg4-2pass">
-<title>Konstanter Quantisierungsparameter 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 und Rauschunterdrückung), kann eine sehr gute
- Qualität bei 700 MB für einen 90-110-minütigen Breitwandfilm erreicht werden.
- Des Weiteren können alle Filme - sogar die längsten - 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 Quantisierungsparameter 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 Videoencoder 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>Anmerkung:</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 weder 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 extrem übertriebene Vereinfachung
- des aktuellen Prozesses aber nützlich, um 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, Standardwert ist 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 denselben 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 dieselbe Bitrate und PSNR (peak signal-to-noise ratio) liefern
- wie CBR mit <option>vbitrate</option>=infinity und der Standardeinstellung
- <option>vqmin</option>=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 Action 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 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 schneller Action 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 herumzuexperimentieren.
-</para>
-
-<para>
- Wenn du eine bestimmte Größe anvisierst, musst du die Bitrate irgendwie
- kalkulieren.
- Aber zuvor solltest du wissen, wieviel Platz du für den/die Audiotrack(s)
- reservieren musst, 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-Komprimierung 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-Cyan-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 Balken
- an ihren Rändern. 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 muss sie viel mehr Bits verwenden,
- oder es wird andernfalls ein als Ringing bekannter Artefakt
- auftreten.
-</para>
-
-<para>
- Die Discrete 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 schwarze Ränder
- nicht 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
- &quot;kopiere den Teil, der innerhalb des Bildes liegt, den schwarzen Rand
- aber nicht&quot;. 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 hin, 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>
- Obwohl 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 komplett 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-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 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>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</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 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>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</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>
- </tbody>
-</tgroup>
-</informaltable>
-
-<para>
- Wie du erkennen kannst, wiederholt sich das Muster bis nach 4 Zeilen nicht.
- Somit müssen bei interlaced Video dein y-Offset und die Höhe für das
- Ausschneiden ein Vielfaches von 4 sein.
-</para>
-
-<para>
- Die ursprüngliche DVD-Auflösung ist 720x480 für NTSC und 720x576 für PAL, es
- gibt jedoch ein Aspektkennzeichen, das spezifiziert, ob Vollbild (4:3) oder
- Breitwandfilm (16:9) vorliegt. Viele (wenn nicht die meisten) Breitwandfilm-DVDs
- sind nicht grundsätzlich 16:9, sondern entweder 1.85:1 oder 2.35:1 (Cinescope).
- Dies bedeutet, dass es schwarze Bänder im Video geben wird, die herausgeschnitten
- werden müssen.
-</para>
-
-<para>
- <application>MPlayer</application> stellt einen Crop-Erkennungsfilter
- zur Verfügung, der das Ausschnittsrechteck (<option>-vf cropdetect</option>)
- bestimmt.
- Starte <application>MPlayer</application> mit
- <option>-vf cropdetect</option>, und er wird die Crop-Einstellungen
- zum Entfernen der Ränder ausgeben.
- du solltest den Film lange genug laufen lassen, damit die gesamte Bildfläche
- verwendet wird, um akkurate Crop-Werte zu erhalten.
-</para>
-
-<para>
- Teste danach die Werte, die von <application>MPlayer</application>
- über die Befehlszeile mittels <option>cropdetect</option> ausgegeben wurden
- und passe das Rechteck nach deinen Bedürfnissen an.
- Der Filter <option>rectangle</option> kann dabei helfen, indem er dir erlaubt,
- das Rechteck interaktiv über dem Film zu positionieren.
- Vergiss nicht, den oben genannten Teilbarkeitsrichtwerten zu folgen, sodass du
- die Chroma-Ebenen nicht verkehrt anordnest.
-</para>
-
-<para>
- In bestimmten Fällen könnte Skalieren nicht wünschenswert sein.
- Skalierung in vertikaler Richtung ist mit interlaced Video
- schwierig, und wenn du das Interlacing beibehalten willst, solltest
- du für gewöhnlich das Skalieren bleiben lassen.
- Hast du nicht vor zu skalieren, willst aber nach wie vor Abmessungen
- in einem Vielfachen von 16 verwenden, musst du über den Rand
- hinausschneiden.
- Schneide aber lieber nicht über den Rand hinaus, da schwarze Ränder
- sehr schlecht zu encodieren sind!
-</para>
-
-<para>
- Weil MPEG-4 16x16 Macroblöcke nutzt, solltest du dich vergewissern,
- dass jede Abmessung des zu encodierenden Videos ein Vielfaches von
- 16 ist oder du verschlechterst andernfalls die Qualität, speziell bei
- niedrigeren Bitraten. Du kannst dies durch Abrunden der Breite und
- Höhe des Ausschnittsrechtecks hinunter auf den nächsten Wert eines
- Vielfachen von 16 erreichen.
- Wie früher bereits erklärt, wirst du beim Abschneiden das y-Offset
- um die Hälfte der Differenz der alten und neuen Höhe erhöhen wollen,
- sodass das daraus resultierende Video aus der Mitte des Frames genommen
- wird. Und stelle wegen der Art, wie ein DVD-Video gesampelt wird, sicher,
- dass das Offset eine gerade Zahl ist. (Verwende in der Tat - als eine
- Regel - nie ungerade Werte für irgendwelche Parameter beim Abschneiden
- oder Skalieren eines Videos) Wenn du dich beim Wegwerfen einiger extra
- Pixel nicht wohl fühlst, ziehst du es stattdessen vor, das Video zu
- skalieren.
- Wir werden uns dies im unten stehenden Beispiel mal ansehen.
- Du kannst den <option>cropdetect</option>-Filter sogar alles oben erwähnte
- für dich erledigen lassen, da dieser einen optionalen Parameter
- <option>round</option> besitzt, der standardmäßig gleich 16 ist.
-</para>
-
-<para>
- Pass auch auf &quot;halbschwarze&quot; Pixel an den Kanten auf. Stelle sicher, dass
- du diese ebenfalls mit abschneidest oder du vergeudest dort Bits, wo sie
- doch besser anderswo verwendet werden sollten.
-</para>
-
-<para>
- Nachdem nun alles gesagt ist, wirst du möglicherweise bei einem
- Video landen, dessen Pixel nicht ganz 1.85:1 oder 2.35:1, aber ziemlich
- nahe dran sind. Du könntest ein neues Seitenverhältnis manuell berechnen,
- aber <application>MEncoder</application> bietet eine Option für
- <systemitem class="library">libavcodec</systemitem> genannt
- <option>autoaspect</option>, die das für dich erledigt.
- Skaliere dieses Video auf keinen Fall hoch, um die Pixel abzugleichen
- solange du keinen Festplattenplatz verschwenden willst.
- Das Skalieren sollte beim Playback gemacht werden und der Player wird das
- in der AVI gespeicherte Seitenverhältnis zur Bestimmung der besten
- Auflösung verwenden.
- Unglücklicherweise erzwingen nicht alle Player diese Auto-Skalierinformation,
- und deshalb willst du vielleicht trotzdem neu skalieren.
-</para>
-</sect2>
-
-
-<sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate">
-<title>Auswahl von Auflösung und Bitrate</title>
-
-<para>
- Wenn du nicht vor hast, im Modus mit konstantem Quantisier zu encodieren,
- musst du eine Bitrate auswählen.
- Das Konzept der Bitrate ist denkbar einfach.
- Sie ist die (mittlere) Anzahl Bits, die pro Sekunde zum Speichern des
- Films verbraucht werden.
- Normalerweise wird die Bitrate in Kilobit (1000 Bit) pro Sekunde gemessen.
- Die Größe deines Films auf der Platte ist die Bitrate multipliziert mit der
- Dauer des Films, plus einem kleinen &quot;Overhead&quot; (siehe zum Beispiel in der
- Sektion über
- <link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">den AVI-Container</link>).
- Weitere Parameter wie Skalierung, Cropping, usw. werden die Dateigröße
- <emphasis role="bold">nicht</emphasis> ändern, solange du nicht auch
- die Bitrate veränderst!
-</para>
-<para>
- Die Bitrate skaliert <emphasis role="bold">nicht</emphasis> proportional
- zur Auflösung.
- Dies bedeutet, eine Datei 320x240 mit 200 KBit/Sek wird nicht dieselbe
- Qualität aufweisen wie der gleiche Film bei 640x480 und 800 KBit/Sek!
- Dafür gibt es zwei Gründe:
-<orderedlist>
- <listitem><para>
- <emphasis role="bold">Wahrnehmbar</emphasis>: du bemerkst
- MPEG-Artefakte eher, wenn sie größer hochskaliert sind!
- Artefakte erscheinen bei einer Skalierung von Blöcken (8x8).
- Dein Auge wird in 4800 kleinen Blöcken nicht so leicht Fehler sehen
- wie es welche in 1200 großen Blöcken sieht (vorausgesetzt du skalierst
- beide auf Vollbild).
- </para></listitem>
- <listitem><para>
- <emphasis role="bold">Theoretisch</emphasis>: Wenn du ein Bild
- runterskalierst, aber nach wie vor die selbe Größe der (8x8)
- Blöcke zur Frequenzraumtransformation verwendest, bewegst Du
- mehr Daten in die Hochfrequenzbänder.
- Grob gesagt, jedes Pixel enthält mehr des Details als es dies
- zuvor tat.
- Somit enthält dein herunterskaliertes Bild 1/4 der Information
- in räumlichen Richtungen, es könnte immer noch einen hohen Anteil
- Information im Frequenzbereich enthalten (vorausgesetzt dass die
- hohen Frequenzen im originalen 640x480 Bild nicht ausgenutzt wurden).
- </para></listitem>
- </orderedlist>
-</para>
-<para>
- Vergangene Leitfäden legten nahe, eine Bitrate und Auflösung zu wählen,
- die auf eine &quot;Bits pro Pixel&quot;-Näherung basieren, dies ist jedoch im
- allgemeinen aus oben genannten Gründen nicht gültig.
- Eine bessere Schätzung scheint zu sein, dass Bitraten proportional zur
- Quadratwurzel der Auflösung skalieren, sodass 320x240 und 400 KBit/Sek
- vergleichbar mit 640x480 bei 800 KBit/Sek wären.
- Dies wurde aber nicht mit theoretischer oder empirischer Strenge verifiziert.
- Desweiteren ist es in Anbetracht der Tatsache, dass Filme in Bezug auf Rauschen, Details,
- Bewegungsgrad usw. außerordentlich variieren, zwecklos, allgemeine Empfehlungen
- für die Bits pro Diagonallänge (dem Analog zu Bits pro Pixel
- unter Verwendung der Quadratwurzel) abzugeben.
-</para>
-<para>
- So weit haben wir nun die Schwierigkeit der Wahl von Bitrate und
- Auflösung diskutiert.
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute">
-<title>Berechnen der Auflösung</title>
-<para>
- Die folgenden Schritte werden dich in der Berechnung der Auflösung
- deiner Encodierung anleiten, ohne das Video allzusehr zu verzerren,
- indem verschiedene Typen von Informationen über das Quellvideo in
- Betracht gezogen werden.
- Zuerst solltest du die encodierte Auflösung berechnen:
- <systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem>
-<itemizedlist>
-<title>wobwei:</title>
-<listitem><para>
- Wc und Hc die Breite und Höhe des zugeschnittenen Videos darstellen
-</para></listitem>
-<listitem><para>
- ARa das angezeigte Seitenverhältnis ist, das üblicherweise 4/3 oder 16/9 beträgt
-</para></listitem>
-<listitem><para>
- PRdvd das Pixelverhältnis der DVD ist, welches gleich 1.25=(720/576) für
- PAL-DVDs und 1.5=(720/480) für NTSC-DVDs beträgt
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
- Dann kannst du die X- und Y-Auflösung berechnen, gemäß eines gewisse Faktors
- der Kompressionsqualität (CQ):
- <systemitem>ResY = INT(SQRT( 1000*Bitrate/25/ARc/CQ )/16) * 16</systemitem>
- und
- <systemitem>ResX = INT( ResY * ARc / 16) * 16</systemitem>
-</para>
-
-<para>
- Okay, aber was ist der CQ?
- Der CQ repräsentiert die Anzahl Bits pro Pixel und pro Frame der Encodierung.
- Grob ausgedrückt, je größer der CQ, desto geringer die Wahrscheinlichkeit,
- Encodierungsartefakte zu sehen.
- Trotz allem, wenn du eine Zielgröße für deinen Film hast (1 oder 2 CDs zum Beispiel),
- gibt es eine begrenzte Gesamtzahl an Bits, die du aufwenden kannst; deswegen ist es
- notwendig, einen guten Kompromiss zwischen Komprimierbarkeit und Qualität zu suchen.
-</para>
-
-<para>
- Der CQ hängt von der Bitrate, der Effektivität des Videocodecs und der
- Filmauflösung ab.
- Um den CQ anzuheben, könntest du typischerweise den Film unter der Annahme
- herunterskalieren, dass die Bitrate mit der Funktion der Zielgröße und der
- Länge des Films berechnest, die ja konstant sind.
- Mit MPEG-4 ASP-Codecs wie <systemitem class="library">XviD</systemitem>
- und <systemitem class="library">libavcodec</systemitem>, resultiert ein CQ
- unter 0.18 für gewöhnlich in einem ziemlich blockhaften Bild, weil nicht
- genug Bits zum Codieren der Information jedes Macroblocks vorhanden sind.
- (MPEG4, wie auch viele andere Codecs, gruppiert Pixel nach Blöcken verschiedener
- Pixel, um das Bild zu komprimieren; sind nicht genügend Bits vorhanden,
- werden die Kanten dieser Blöcke sichtbar.)
- Es ist daher weise, einen CQ im Bereich von 0.20 bis 0.22 für einen 1 CD-Rip
- und 0.26-0.28 für einen 2 CD-Rip mit Standard-Encodieroptionen zu nehmen.
- Höherentwickelte Encodieroptionen wie die hier für
- <link linkend="menc-feat-mpeg4-lavc-example-settings"><systemitem class="library">libavcodec</systemitem></link>
- und
- <link linkend="menc-feat-xvid-example-settings"><systemitem class="library">XviD</systemitem></link>
- aufgelisteten sollten es möglich machen, dieselbe Qualität mit einem CQ im Bereich
- von 0.18 bis 0.20 für einen 1 CD-Rip und 0.24 bis 0.26 für einen 2 CD-Rip zu erreichen.
- Mit den MPEG-4 ASP-Codecs wie <systemitem class="library">x264</systemitem>,
- kannst du einen CQ im Bereich von 0.14 bis 0.16 mit Standard-Encodieroptionen
- verwenden, und solltest bis auf 0.10 bis 0.12 mit den
- <link linkend="menc-feat-x264-example-settings">erweiterten Encodieroptionen von
- <systemitem class="library">x264</systemitem></link>
- runter gehen können.
-</para>
-
-<para>
- Bitte nimm zur Kenntnis, dass der CQ lediglich eine richtungsweisendes Maß ist,
- da sie vom encodierten Inhalt abhängt. Ein CQ von 0.18 kann für einen
- Bergman-Film recht hübsch aussehen, im Gegensatz zu einem Film wie
- The Matrix, der jede Menge High-Motion-Szenen enthält.
- Auf der anderen Seite ist es nutzlos, den CQ höher als 0.30 zu schrauben,
- da du ohne spürbaren Qualitätsgewinn Bits vergeuden würdest.
- Beachte ebenso, dass wie früher in diesem Handbuch bereits angemerkt,
- niedrig auflösende Videos einen größeren CQ benötigen, um gut auszusehen
- (im Vergleich z.B. zur DVD-Auflösung).
-</para>
-</sect3>
-
-</sect2>
-
-<sect2 id="menc-feat-dvd-mpeg4-filtering">
-<title>Filtern</title>
-
-<para>
- Zu lernen, wie man <application>MEncoder</application>s Videofilter
- verwendet, ist essentiell, um gute Encodierungen zu produzieren.
- Jede Videoverarbeitung wird über Filter ausgeführt -- Ausschneiden,
- Skalieren, Farbanpassung, Rauschentfernung, Scharfzeichnen, Deinterlacing,
- telecine, inverses telecine und Deblocking, um nur ein paar davon aufzuzählen.
- Zusammen mit der gewaltigen Zahl unterstützter Inputformate, ist die Vielfalt der
- in <application>MEncoder</application> verfügbaren Filter eine seiner
- Hauptvorteile im Vergleich zu ähnlichen Programmen.
-</para>
-
-<para>
- Filter werden in einer Kette über die Option -vf geladen:
-
- <screen>-vf filter1=Optionen,filter2=Optionen,...</screen>
-
- Die meisten Filter nehmen mehrere numerische, kommagetrennte
- Optionen entgegen, jedoch variiert die Syntax der Optionen von
- Filter zu Filter, also lies bitte die Manpage für Details
- zu den Filtern, die du verwenden willst.
-</para>
-
-<para>
- Filter wirken auf das Video in der Reihenfolge ein, in der sie geladen werden.
- Zum Beispiel wird folgende Kette:
-
- <screen>-vf crop=688:464:12:4,scale=640:464</screen>
-
- zuerst den Bereich 688x464 aus dem Bild schneiden mit der oberen, linken
- Ecke bei (12,4) und danach das Ergebnis auf 640x464 herunter skalieren.
-</para>
-
-<para>
- Bestimmte Filter müssen zu oder nahe dem Anfang der Filterkette geladen
- werden, um Vorteile aus den Informationen des Videodecoders zu ziehen,
- die ansonsten durch andere Filter verloren gehen oder ungültig gemacht
- würden.
- Die wichtigsten Beispiele sind <option>pp</option>
- (Nachbearbeitung (postprocessing), nur wenn es Deblock- oder
- Dering-Operationen durchführt), <option>spp</option> (ein weiterer
- Postprozessor zum Entfernen von MPEG-Artefakten), <option>pullup</option>
- (umgekehrtes telecine) und <option>softpulldown</option> (zur Konvertierung
- von soft telecine nach hard telecine).
-</para>
-
-<para>
- Im Allgemeinen solltest du den Film so wenig wie möglich Filtern, um
- nahe an der originalen DVD-Quelle zu bleiben. Ausschneiden ist oft
- notwendig (wie oben beschrieben), vermeide aber das Skalieren von Videos.
- Obwohl das Herunterskalieren manchmal vorgezogen wird, um höhere Quantisierer
- zu verwenden, wollen wir beide diese Dinge vermeiden: Erinnere dich daran,
- dass wir von Anfang an beschlossen hatten, einen Kompromiss zwischen
- Bits und Qualität zu schließen.
-</para>
-
-<para>
- Passe ebenso kein Gamma, Kontrast, Helligkeit, usw. an. Was auf deinem
- Display gut aussieht, sieht auf anderen eventuell nicht gut aus. Diese
- Anpassungen sollten nur im Playback vorgenommen werden.
-</para>
-
-<para>
- Eine Sache, die du vielleicht machen willst, ist, das Video durch einen sehr
- feinen Entrauschfilter (Denoise) zu schicken, wie etwa <option>-vf hqdn3d=2:1:2</option>.
- Nochmals, es geht darum, die Bits einer besseren Verwendung zuzuführen: Warum
- Bits zum Encodieren des Rauschens verschwenden, wenn du dieses Rauschen auch
- während des Playback entfernen kannst?
- Die Parameter für <option>hqdn3d</option> zu erhöhen, wird überdies
- die Komprimierbarkeit erhöhen, erhöhst du jedoch die Werte zu sehr, riskierst Du
- eine Verringerung der Bildsichtbarkeit. Die oben vorgeschlagenen Werte
- (<option>2:1:2</option>) sind ziemlich konservativ; du solltest dich frei
- fühlen, mit höheren Werten herumzuexperimentieren und die Ergebnisse
- selbst zu beobachten.
-</para>
-
-</sect2>
-
-
-<sect2 id="menc-feat-dvd-mpeg4-interlacing">
-<title>Interlacing und Telecine</title>
-
-<para>
- Nahezu alle Filme sind bei 24 fps aufgenommen. Weil NTSC 30000/1001 fps entspricht,
- müssen mit diesen 24 fps Videos einige Verarbeitungen durchgeführt werden,
- um sie mit der korrekten NTSC-Framerate laufen zu lassen. Der Prozess wird 3:2
- pulldown genannt, allgemein telecine zugeordnet (weil pulldown des öfteren
- während des telecine-Prozesses angewandt wird), und naiv so beschrieben,
- dass er durch Verlangsamung des Films auf 24000/1001 fps und dem
- Wiederholen jeden vierten Frames arbeitet.
-</para>
-
-<para>
- Keine spezielle Verarbeitung ist jedoch bei einem Video für PAL-DVDs
- durchzuführen, das bei 25 fps läuft. (Technisch gesehen kann PAL telecined
- werden, 2:2 pulldown genannt, dies ist jedoch in der Praxis nicht von Bedeutung.)
- Der 24 fps Film wird einfach mit 25 fps abgespielt. Das Resultat ist, dass
- der Film ein wenig schneller abläuft, doch solange du kein Alien bist, wirst
- du möglicherweise keinen Unterschied wahrnehmen.
- Die meisten PAL-DVDs haben pitch-korrigiertes Audio, dadurch hören sie sich
- bei 25 fps abgespielt korrekt an, obwohl der Audiotrack (und infolgedessen der
- gesamte Film) eine 4% kürzere Abspielzeit hat wie NTSC-DVDs.
-</para>
-
-<para>
- Weil das Video in einer PAL-DVD nicht verändert wurde, musst du dich nicht
- viel um die Framerate sorgen. Die Quelle ist 25 fps und dein Rip wird 25
- fps haben. Wenn du jedoch einen NTSC-DVD-Film rippst, musst du eventuell
- umgekehrtes telecine anwenden.
-</para>
-
-<para>
- Für mit 24 fps aufgenommene Filme ist das Video auf der NTSC-DVD entweder telecined
- 30000/1001 oder hat andernfalls progressive 24000/1001 fps und es ist vorgesehen,
- on-the-fly vom DVD-Player telecined zu werden. Auf der anderen Seite sind TV-Serien
- üblicherweise nur interlaced, nicht telecined. Dies ist keine feste Regel: Einige
- TV-Serien sind interlaced (wie etwa Buffy die Vampirjägerin), wogegen andere
- eine Mixtur aus progressive und interlaced sind (so wie Angel oder 24) - wers kennt :).
-</para>
-
-<para>
- Es wird strengstens empfohlen, die Sektion über
- <link linkend="menc-feat-telecine">Wie mit telecine und interlacing in NTSC-DVDs umgehen</link>
- durchzulesen, um den Umgang mit den verschiedenen Möglichkeiten zu lernen.
-</para>
-
-<para>
- Wenn du aber hauptsächlich nur Filme rippst, gehst du wahrscheinlich entweder
- mit 24 fps progressivem oder telecined Video um, in welchem Falle du
- den Filter <option>pullup</option> mittels <option>-vf pullup,softskip</option>
- verwenden kannst.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced">
-<title>Interlaced Video encodieren</title>
-
-<para>
- Ist der Film, den du encodieren willst, interlaced (NTSC-Video oder
- PAL-Video), wirst du wählen müssen, ob du ihn deinterlacen willst
- oder nicht.
- Während das Deinterlacing deinen Film zwar auf progressiven Scan-Displays
- wie Computermonitoren und Projektoren verwendbar macht, wird dich dies
- doch etwas kosten: Die Feldrate von 50 oder 60000/1001 Feldern pro Sekunde
- wird auf 25 oder 30000/1001 Frames pro Sekunde halbiert und annähernd die
- Hälfte der Informationen in deinem Film geht während Szenen mit
- signifikanter Bewegung verloren.
-</para>
-
-<para>
- Deswegen wird empfohlen, wenn du aus Gründen hochqualitativer
- Archivierung encodierst, kein Deinterlacing durchzuführen.
- Du kannst den Film immer noch beim Playback deinterlacen,
- wenn du ihn auf progressiven Scan-Geräten anzeigst. Und zukünftige
- Player werden in der Lage sein, auf volle Feldrate zu
- deinterlacen, mit Interpolation auf 50 oder 60000/1001 komplette
- Frames pro Sekunde aus interlaced Video heraus.
-</para>
-
-<para>
- Spezielle Sorgfalt solltest du bei der Arbeit mit interlaced Video walten lassen:
-</para>
-
-<orderedlist>
-<listitem><para>
- Ausschneidehöhe und y-Offset müssen Vielfache von 4 sein.
-</para></listitem>
-<listitem><para>
- Jedes vertikale Skalieren muss im interlaced Modus durchgeführt werden.
-</para></listitem>
-<listitem><para>
- Nachbearbeitungs- (postprocessing) und Rauschunterdrückungsfilter (denoising)
- funktionieren eventuell nicht wie erwartet, wenn du nicht speziell darauf achtest,
- dass sie zu einem Zeitpunkt nur ein Feld verarbeiten, und sie können das Video
- kaputt machen, wenn sie inkorrekt angewendet werden.
-</para></listitem>
-</orderedlist>
-
-<para>
- Mit diesen Dingen im Kopf, hier das erste Beispiel:
-</para>
-<screen>
- mencoder <replaceable>capture.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \
- vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224
-</screen>
-<para>
- Beachte die Optionen <option>ilme</option> und <option>ildct</option>.
-</para>
-</sect2>
-
-
-<sect2 id="menc-feat-dvd-mpeg4-av-sync">
-<title>Anmerkungen zur Audio-/Videosynchronisation</title>
-<para>
- <application>MEncoder</application>s Algorithmen der Audio-/Videosynchronisation
- wurden mit der Intention entwickelt, Dateien mit kaputter Sychronisation wieder herzustellen.
- In einigen Fällen können unnötiges Überspringen und Duplizieren
- von Frames und möglicherweise leichte A/V-Desynchronisation verursachen, auch wenn sie
- mit dem richtigen Input verwendet werden
- (gewiss, Probleme mit A/V-Synchronisation treffen nur zu, wenn du den Audiotrack während
- der Transcodierung des Videos verarbeitest oder kopierst, wozu auch nachhaltig
- ermutigt wird).
- Hierfür müsstest du mit der Option <option>-mc 0</option> in die
- Grundeinstellung der A/V-Synchronisation wechseln oder diese in deine
- <systemitem>~/.mplayer/mencoder</systemitem> Konfigurationsdatei eintragen,
- solange du ausschließlich mit guten Quellen arbeitest (DVD, TV-Capture,
- hochqualitativen MPEG-4-Rips usw.) und mit nicht-kaputten ASF/RM/MOV-Dateien.
-</para>
-<para>
- Wenn du dich überdies gegen merkwürdige Frameübersprünge und -duplikationen
- absichern willst, kannst du beides verwenden, <option>-mc 0</option>
- und <option>-noskip</option>.
- Dies verhindert <emphasis>jede</emphasis> A/V-Synchronisation und kopiert die Frames
- eins-zu-eins, somit kannst du sie nicht verwenden, falls du irgendwelche Filter
- verwendest, die unvorhersagbar Frames hinzufügen oder streichen oder falls
- deine Input-Datei eine variable Framerate besitzt!
- Deshalb wird eine allgemeine Anwendung von <option>-noskip</option> nicht empfohlen.
-</para>
-<para>
- Die von <application>MEncoder</application> unterstützte sogenannte
- &quot;3-pass&quot; Audioencodierung soll laut Berichten A/V-Desynchronisation
- verursachen.
- Dies geschieht definitiv dann, wenn sie in Verbindung mit bestimmten Filtern
- verwendet wird, daher wird <emphasis>nicht</emphasis> empfohlen, den
- 3-pass-Audio-Modus anzuwenden.
- Dieses Feature ist nur aus Kompatibilitätsgründen übrig geblieben und für
- erfahrene Benutzer, die wissen, wann es sicher anzuwenden ist und wann nicht.
- Wenn du zuvor noch nie etwas vom 3-pass-Modus gehört hast, vergiss, dass wir es je
- erwähnt haben!
-</para>
-<para>
- Es gab auch Berichte über A/V-Desynchronisation, wenn
- mit <application>MEncoder</application> von stdin encodiert wurde.
- Lass das bleiben! Verwende immer eine Datei oder ein CD/DVD/usw-Laufwerk
- als Input.
-</para>
-</sect2>
-
-<sect2 id="menc-feat-dvd-mpeg4-codec">
-<title>Auswahl des Videocodecs</title>
-
-<para>
- Welcher Videocodec die beste Wahl ist, hängt von mehreren Faktoren
- wie Größe, Qualität, Streambarkeit, Brauchbarkeit und Popularität, manche
- davon weitgehend vom persönlichen Geschmack und technischen
- Randbedingungen ab.
-</para>
-<itemizedlist>
- <listitem><para>
- <emphasis role="bold">Kompressionseffizienz</emphasis>:
- Es ist leicht zu verstehen, dass die meisten Codecs der neueren Generation
- dafür gemacht wurden, Qualität und Komprimierung zu verbessern.
- Deshalb behauptet der Autor dieses Handbuches und viele andere Leute, dass
- du nichts verkehrt machen kannst,
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-cpu'>
- <para>Sei trotzdem vorsichtig: MPEG-4 AVC-Videos in DVD-Auflösung zu
- decodieren erfordert einen schnellen Rechner (z.B. einen Pentium 4
- über 1.5Ghz oder einen Pentium M über 1Ghz).
- </para></footnote>
- wenn du MPEG-4 AVC-Codecs wie
- <systemitem class="library">x264</systemitem> anstatt MPEG-4 ASP-Codecs
- wie <systemitem class="library">libavcodec</systemitem> MPEG-4 oder
- <systemitem class="library">XviD</systemitem> wählst.
- (Zukunftsorientierte Codec-Entwickler interessiert eventuell Michael
- Niedermayers Meinung
- &quot;<ulink url="http://guru.multimedia.cx/?p=10">why MPEG4-ASP sucks</ulink>&quot;
- zu lesen.)
- Ebenso solltest du mit MPEG-4 ASP eine bessere Qualität erhalten als mit
- MPEG-2-Codecs.
- </para>
- <para>
- Allerdings können neuere Codecs, die noch stark in der Entwicklung stecken,
- unter unentdeckten Bugs leiden, die die Encodierung ruinieren können.
- Dies nimmt man schlicht in Kauf, wenn man "bleeding edge"-Technologie
- verwendet.
- </para>
- <para>
- Außerdem erfordert der Umgang mit einem neuen Codec und sich mit dessen Optionen
- vertraut zu machen eine Zeit, bis du weißt, was alles anzupassen
- ist, um die erhoffte Bildqualität zu erreichen.
- </para></listitem>
-
- <listitem><para>
- <emphasis role="bold">Hardware-Kompatibilität</emphasis>:
- Gewöhnlich dauert es bei neuen standalone Video-Playern lange, bis der
- Support für die neuesten Videocodecs eingebunden ist.
- Als ein Ergebnis unterstützen die meisten nur MPEG-1 (wie VCD, XVCD
- und KVCD), MPEG-2 (wie DVD, SVCD und KVCD) und MPEG-4 ASP (wie DivX,
- LMP4 von <systemitem class="library">libavcodec</systemitem> und
- <systemitem class="library">XviD</systemitem>)
- (Vorsicht: Im Allgemeinen werden nicht alle MPEG-4 ASP-Features unterstützt).
- Sieh bitte in den technischen Spezifikationen deines Players nach (falls
- welche vorhanden sind) oder google nach mehr Informationen.
- </para></listitem>
-
- <listitem><para>
- <emphasis role="bold">Beste Qualität pro Encodierzeit</emphasis>:
- Codecs, die es schon einige Zeit gibt (wie
- <systemitem class="library">libavcodec</systemitem> MPEG-4 und
- <systemitem class="library">XviD</systemitem>), sind gewöhnlich heftig
- mit allen möglichen intelligenten Algorithmen und SIMD Assembly-Code optimiert.
- Das sind sie deshalb, weil sie darauf abzielen, das beste Verhältnis von Qualität
- pro Encodierzeit zu liefern.
- Jedoch haben sie oft einige sehr fortschrittliche Optionen, die,
- wenn aktiviert, das Encodieren bei marginalem Gewinn wirklich langsam
- machen.
- </para>
- <para>
- Wenn du es auf die Wahnsinnsgeschwindigkeit abzielst, solltest du
- in der Nähe der Standardeinstellungen des Videocodecs bleiben
- (obwohl du ruhig weitere Optionen ausprobieren solltest, die in
- anderen Sektionen dieses Handbuchs angesprochen werden).
- </para>
- <para>
- Vielleicht überlegst du auch, einen Codec auszuwählen, der mit
- Multi-Threading klarkommt, was nur für Benutzer von Rechnern
- mit mehreren CPUs von Nutzen ist.
- <systemitem class="library">libavcodec</systemitem> MPEG-4 erlaubt
- dies zwar, aber die Geschwindigkeitsgewinne sind begrenzt und es gibt
- einen leicht negativen Effekt in Bezug auf die Bildqualität.
- Die Multi-Thread-Encodierung von <systemitem class="library">XviD</systemitem>,
- durch die Option <option>threads</option> aktiviert, kann zum Ankurbeln
- der Encodiergeschwindigkeit - um in typischen Fällen etwa 40-60% -
- bei wenn überhaupt geringer Bildverschlechterung verwendet werden.
- <systemitem class="library">x264</systemitem> erlaubt ebenfalls
- Multi-Thread-Encodierung, was im Moment das Encodieren um 15-30% beschleunigt
- (abhängig von den Encodier-Einstellungen) bei gleichzeitiger Verringerung des
- PSNR um etwa 0.05dB.
- </para></listitem>
-
- <listitem><para>
- <emphasis role="bold">Persönlicher Geschmack</emphasis>:
- Hier beginnt die Angelegenheit oft irrational zu werden: Aus den selben
- Gründen, aus denen manche über Jahre an DivX 3 hängen, während neuere
- Codecs bereits Wunder wirken, ziehen einige Leute
- <systemitem class="library">XviD</systemitem>
- oder <systemitem class="library">libavcodec</systemitem> MPEG-4 dem
- <systemitem class="library">x264</systemitem> vor.
- </para>
- <para>
- Du solltest dir dein eigenes Urteil bilden; lass dich nicht von Leuten
- vollquasseln, die auf den einen Codec schwören.
- Nimm ein paar Beispiel-Clips von Originalquellen und vergleiche die
- verschiedenen Encodier-Optionen und Codecs, um den einen zu finden, mit
- dem du am besten klarkommst.
- Der beste Codec ist der, den du beherrschst und der in deinen Augen
- auf deinem Display am besten aussieht.
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'>
- <para>Dieselbe Encodierung kann auf dem Monitor eines anderen vollkommen
- anders aussehen oder wenn sie von einem anderen Decoder abgespielt wird,
- also mach deine Encodierungen zukunftssicher indem du sie unter verschiedenen
- Setups ablaufen lässt.</para></footnote>!
- </para></listitem>
-</itemizedlist>
-<para>
- Sieh dazu bitte in der Sektion
- <link linkend="menc-feat-selecting-codec">Auswahl der Codecs und Containerformate</link>
- nach der Liste der unterstützten Codecs.
-</para>
-</sect2>
-
-<sect2 id="menc-feat-dvd-mpeg4-audio">
-<title>Audio</title>
-
-<para>
- Audio ist ein leichter zu lösendes Problem: Wenn du Wert auf Qualität legst,
- lass es einfach so wie es ist.
- Gerade AC3 5.1 Streams sind meist 448Kbit/s und jedes Bit wert.
- Möglicherweise gerätst du in Versuchung, Audio in hochwertiges Vorbis
- umzuwandeln, aber nur weil du heute keinen A/V-Receiver für AC3-pass-through
- besitzt, bedeutet dies nicht, dass du nicht morgen doch einen hast.
- Halte deine DVD-Rips zukunftssicher, indem du den AC3-Stream beibehältst.
- Du behältst den AC3-Stream entweder, indem du ihn
- <link linkend="menc-feat-mpeg4">während der Encodierung</link> direkt in den
- Video-Stream kopierst.
- Du kannst den AC3-Stream aber auch extrahieren, um ihn in Container wie NUT
- oder Matroska zu muxen.
- <screen>mplayer <replaceable>source_file.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>sound.ac3</replaceable></screen>
- dumpt Audiotrack Nummer 129 aus der Datei <replaceable>source_file.vob</replaceable>
- (NB: DVD-VOB-Dateien verwenden gewöhnlich andere Audionummerierungen,
- was bedeutet, dass der VOB-Audiotrack 129 der 2-te Audiotrack der Datei ist)
- in die Datei <replaceable>sound.ac3</replaceable>.
-</para>
-
-<para>
- Aber manchmal hast du wirklich keine andere Wahl als den Sound weiter zu
- komprimieren, sodass mehr Bits fürs Video aufgewendet werden können.
- Die meisten Leute entscheiden sich für eine Audiokomprimierung mit MP3- oder
- Vorbis-Audiocodecs.
- Wobei letzterer ein sehr platzsparender Codec ist, MP3 wird von Hardware-Playern
- besser unterstützt, wobei sich dieser Trend auch ändert.
-</para>
-
-<para>
- Verwende <emphasis>nicht</emphasis> <option>-nosound</option> beim Encodieren
- einer Datei, die Audio enhält, sogar wenn du Audio später separat
- encodierst und muxt.
- Zwar kann es im Idealfall manchmal funktionieren, wenn du <option>-nosound</option>
- verwendest, wahrscheinlich um einige Probleme in deinen
- Encodier-Befehlszeileneinstellungen zu verbergen.
- In anderen Worten, einen Soundtrack während dem Encodieren zu haben, stellt sicher,
- vorausgesetzt du siehst keine Meldungen wie
- <quote>Too many audio packets in the buffer</quote>, dass du in der Lage sein
- wirst, eine korrekte Synchronisation zu erhalten.
-</para>
-
-<para>
- Du brauchst <application>MEncoder</application> zur Verarbeitung des Sounds.
- Du kannst zum Beispiel den originalen Soundtrack während dem Encodieren mit
- <option>-oac copy</option> kopieren oder ihn mittels
- <option>-oac pcm -channels 1 -srate 4000</option> in eine &quot;leichte&quot;
- 4 kHz Mono WAV-PCM konvertieren.
- Anderenfalls wird er - in einigen Fällen - eine Videodatei erzeugen, die
- nicht mit Audio synchron läuft.
- So was kommt vor, wenn die Anzahl der Videoframes in der Quelldatei nicht
- mit der Gesamtlänge der Audioframes zusammenpasst oder immer dann, wenn
- Unstetigkeiten/Splices vorhanden sind, wo Audioframes oder extra Audioframes
- fehlen.
- Der korrekte Weg, mit dieser Art Problem umzugehen, ist Stille (silence)
- einzufügen oder Audio an diesen Punkten wegzuschneiden.
- Seis drum, <application>MPlayer</application> kann das nicht, also wenn du
- AC3-Audio demuxt und es in einer separaten Anwendung encodierst (oder
- es mit <application>MPlayer</application> in eine PCM dumpst), die Splices
- bleiben inkorrekt und der einzige Weg sie zu korrigieren ist, Videoframes
- an diesem Splice zu streichen bzw. zu duplizieren.
- Solange <application>MEncoder</application> Audio beim Encodieren des
- Videos sieht, kann er dieses Streichen/Duplizieren erledigen, was
- gewöhnlich OK ist, da es bei voller Schwärze/Szenenwechsel stattfindet,
- aber wenn <application>MEncoder</application> Audio nicht erkennen kann,
- wird er einfach alle Frames so wie sie ankommen verarbeiten und sie werden
- einfach nicht zum endgültigen Audiostream passen, wenn du beispielsweise
- deinen Audio- und Videotrack in eine Matroska-Datei mergst.
-</para>
-
-<para>
- Zuallererst wirst du den DVD-Sound in eine WAV-datei konvertieren müssen, die
- der Audiocodec als Input nutzen kann.
- Zum Beispiel:
- <screen>mplayer <replaceable>source_file.vob</replaceable> -ao pcm:file=<replaceable>destination_sound.wav</replaceable> -vc dummy -aid 1 -vo null</screen>
- wird den zweiten Audiotrack aus der Datei <replaceable>source_file.vob</replaceable>
- in die Datei <replaceable>destination_sound.wav</replaceable> dumpen.
- Vielleicht willst du den Sound vor dem Encodieren normalisieren, da
- DVD-Audiotracks gemeinhin bei niedriger Lautstärke aufgenommen sind.
- Du kannst beispielsweise das Tool <application>normalize</application> verwenden,
- das in den meisten Distributionen zur Verfügung steht.
- Wenn du Windows nutzt, kann ein Tool wie <application>BeSweet</application>
- denselben Job erledigen.
- Du wirst entweder nach Vorbis oder MP3 komprimieren.
- Zum Beispiel:
- <screen>oggenc -q1 <replaceable>destination_sound.wav</replaceable></screen>
- wird <replaceable>destination_sound.wav</replaceable> mit
- der Encodierqualität 1 encodieren, was annähernd 80Kb/s ergibt und
- die Minimalqualität darstellt, mit der du encodieren solltest, wenn du
- Wert auf Qualität legst.
- Nimm bitte zur Kenntnis, dass MEncoder aktuell keine Vorbis-Audiotracks
- in die Output-Datei muxen kann, da er nur AVI- und MPEG-Container als
- Output unterstützt, wobei es beim Audio-/Videoplayback zu
- Synchronisationproblemen mit einigen Playern führen wird, wenn die AVI-Datei
- VBR-Audiostreams wie z.B. Vorbis enthält.
- Keine Bange, dieses Dokument wird dir zeigen, wie du das mit
- Third-Party-Programmen hinbekommst.
-</para>
-
-</sect2>
-
-
-<sect2 id="menc-feat-dvd-mpeg4-muxing">
-<title>Muxen</title>
-<para>
- Nun da du dein Video encodiert hast, wirst du es höchstwahrscheinlich
- mit einem oder mehr Audiotracks in einen Movie-Container wie etwa
- AVI, MPEG, Matroska oder NUT muxen.
- <application>MEncoder</application> ist aktuell nur in der Lage,
- Audio und Video nativ in MPEG- und AVI-Containerformate auszugeben.
- Zum Beispiel:
- <screen>mencoder -oac copy -ovc copy -o <replaceable>output_movie.avi</replaceable> -audiofile <replaceable>input_audio.mp2</replaceable> <replaceable>input_video.avi</replaceable></screen>
- würde die Video-Datei <replaceable>input_video.avi</replaceable>
- und die Audio-Datei <replaceable>input_audio.mp2</replaceable>
- in die AVI-Datei <replaceable>output_movie.avi</replaceable> mergen.
- Dieser Befehl funktioniert mit MPEG-1 Layer I, II und III Audio (eher
- bekannt als MP3), WAV und auch mit ein paar weiteren Audioformaten.
-</para>
-
-<para>
- MEncoder zeichnet sich aus durch experimentellen Support für
- <systemitem class="library">libavformat</systemitem>, das eine
- Programmbibliothek des FFmpeg-Projekts ist, welches das Muxen und
- Demuxen einer Vielzahl von Containern unterstützt.
- Zum Beispiel:
- <screen>mencoder -oac copy -ovc copy -o <replaceable>output_movie.asf</replaceable> -audiofile <replaceable>input_audio.mp2</replaceable> <replaceable>input_video.avi</replaceable> -of lavf -lavfopts format=asf</screen>
- wird das selbe machen, wie das obere Beispiel, außer dass der
- Output-Container ASF sein wird.
- Bitte nimm zur Kenntnis, dass dieser Support hochexperimentell ist
- (aber von Tag zu Tag besser wird) und nur funktionieren wird, wenn du
- <application>MPlayer</application> mit aktiviertem Support für
- <systemitem class="library">libavformat</systemitem> kompiliert
- hast (was meint, dass eine Pre-Packaged Binary Version in den meisten
- Fällen nicht funktionieren wird).
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-filter-issues">
-<title>Verbessern der Mux- und A/V-Synchronisationszuverlässigkeit</title>
-<para>
- Es kann vorkommen, dass du ernsthafte A/V-Synchronisationsprobleme hast während
- du versuchst, deine Video- und einige Audiotracks zu muxen, wobei es nichts
- ändert, wenn du das Audiodelay anpasst, du bekommst nie eine korrekte
- Synchronisation zu Stande.
- Dies kann vorkommen, wenn du manche Videofilter verwendest, die einige Frames
- weglassen oder duplizieren, wie etwa die inverse telecine-Filter.
- ich kann dich nur dazu ermutigen, den <option>harddup</option>-Videofilter
- ans Ende der Filterkette anzuhängen, um solcherlei Problemen aus dem Weg
- zu gehen.
-</para>
-
-<para>
- Ohne <option>harddup</option> verlässt sich <application>MEncoder</application>,
- wenn er einen Frame duplizieren will, darauf, dass der Muxer eine Marke auf den
- Container setzt, sodass der letzte Frame nochmals angezeigt wird, um
- während des Schreibens des aktuellen Frames synchron zu bleiben.
- Mit <option>harddup</option> wird <application>MEncoder</application>
- statt dessen einfach den zuletzt angezeigten Frame nochmal in die Filterkette
- einschieben.
- Dies bedeutet, dass der Encoder <emphasis>exakt</emphasis> denselben Frame
- zweimal entgegen nimmt und komprimiert.
- Dies ergibt eine etwas größere Datei, verursacht jedoch keine Probleme
- beim Demuxen oder Remuxen in ein anderes Containerformat.
-</para>
-
-<para>
- Du kommst auch nicht um den Einsatz von <option>harddup</option> im
- Zusammenhang mit Containerformaten herum, die nicht allzu fest mit
- <application>MEncoder</application> verlinkt sind, wie etwa diejenigen,
- welche von <systemitem class="library">libavformat</systemitem> unterstützt
- werden, der keine Frameduplikation auf Container-Level unterstützt.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations">
-<title>Limitierungen des AVI-Containers</title>
-<para>
- Obwohl es das am breitesten unterstützte Containerformat nach MPEG-1 ist,
- besitzt AVI auch einige gravierende Nachteile.
- Der vielleicht offensichtlichste ist der Overhead.
- Für jeden Block der AVI-Datei werden 24 Byte auf Header und Indizes
- verschwendet.
- Dies heißt übersetzt etwas mehr als 5 MB pro Stunde oder 1-2.5%
- Overhead für einen 700 MB Film. Das sieht nicht nach viel aus, könnte aber
- die Differenz zwischen einem Video mit 700 KBit/Sek oder 714 KBit/Sek
- bedeuten, und jedes bisschen mehr an Qualität zählt.
-</para>
-
-<para>
- Zu dieser schockierenden Ineffizienz kommen bei AVI noch folgende
- wesentlichen Einschränkungen:
-</para>
-
-<orderedlist>
-<listitem>
-<para>
- Nur Inhalt mit festen fps kann gespeichert werden. Dies ist insbesondere
- dann einschränkend, wenn das Originalmaterial, das du encodieren willst,
- gemischter Inhalt ist, zum Beispiel ein Mix aus NTSC-Video und
- Filmmaterial.
- Eigentlich gibt es Hacks, die es ermöglichen, Inhalt mit gemischter
- Framerate in einer AVI unterzubringen, diese vergrößern jedoch den
- (ohnehin großen) Overhead fünffach oder mehr und sind somit ungeeignet.
-</para>
-</listitem>
-<listitem>
-<para>
- Audio in AVI-Dateien muss entweder konstante Bitrate (CBR) oder
- konstante Framegröße haben (also alle Frames decodieren zur selben Anzahl
- Samples).
- Unglücklicherweise erfüllt Vorbis, der effektivste Codec, keine dieser
- Anforderungen.
- Deshalb wirst du einen weniger effizienten Codec wie MP3 oder AC3 verwenden
- müssen, wenn du planst, einen Film in AVI zu speichern.
-</para>
-</listitem>
-</orderedlist>
-
-<para>
- Nachdem ich nun all dies erzählt habe, muss ich anmerken, momentan
- unterstützt <application>MEncoder</application> keinen Output mit
- variablen fps oder Vorbis-Encodierung.
- Deswegen magst du dies nicht als Einschränkung ansehen, falls
- <application>MEncoder</application> das einzige Tool ist, das du
- nutzt, um deine Ecodierungen zu produzieren.
- Es ist dennoch möglich, <application>MEncoder</application> nur zur
- Videoencodierung zu verwenden und danach externe Tools, um Audio
- zu encodieren und in ein anderes Containerformat zu muxen.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-matroska">
-<title>Muxen in den Matroska-Container</title>
-<para>
- Matroska ist ein freies, offenes Containerformat, das darauf abzielt,
- eine Menge erweiterter Features bereitzustellen, mit denen ältere Container
- wie AVI nicht umgehen können.
- Zum Beispiel unterstützt Matroska Audioinhalt mit variabler Bitrate (VBR),
- variable Frameraten (VFR), Kapitel, Dateianhänge,
- Fehlererkennung Error Detection Code (EDC) und modern A/V-Codecs wie &quot;Advanced Audio
- Coding&quot; (AAC), &quot;Vorbis&quot; oder &quot;MPEG-4 AVC&quot; (H.264), so gut wie nichts
- womit AVI etwas anfangen kann.
-</para>
-
-<para>
- Die zum Erzeugen von Matroska-Dateien erforderlichen Tools werden
- zusammen <application>mkvtoolnix</application> genannt und stehen
- für die meisten Unix-Plattformen wie auch <application>Windows</application>
- zur Verfügung.
- Weil Matroska ein offener Standard ist, findest du vielleicht andere
- Tools, die sich besser für dich eignen, aber da mkvtoolnix das am meisten
- Verbreitete ist und von Matroska selbst unterstützt wird, werden wir nur
- dessen Anwendung einbeziehen.
-</para>
-
-<para>
- Möglicherweise der einfachste Weg, mit Matroska anzufangen, ist
- <application>MMG</application> zu verwenden, das grafische Frontend,
- das mit <application>mkvtoolnix</application> daherkommt, und dem
- <ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">guide to mkvmerge GUI (mmg)</ulink>
- zu folgen.
-</para>
-
-<para>
- Du kannst Audio und Video-Dateien auch per Befehlszeile muxen:
- <screen>mkvmerge -o <replaceable>output.mkv</replaceable> <replaceable>input_video.avi</replaceable> <replaceable>input_audio1.mp3</replaceable> <replaceable>input_audio2.ac3</replaceable></screen>
- würde die Video-Datei <replaceable>input_video.avi</replaceable>
- und die zwei Audio-Dateien <replaceable>input_audio1.mp3</replaceable>
- und <replaceable>input_audio2.ac3</replaceable> in die Matroska-Datei
- <replaceable>output.mkv</replaceable> mergen.
- Matroska, wie zuvor beschrieben, ist in der Lage, noch viel mehr als
- das zu tun, wie etwa multiple Audiotracks (inklusive Feintuning der
- Audio-/Videosynchronisation), Kapitel, Untertitel, Splitting, usw...
- Sieh bitte in den Dokumentationen dieser Anwendungen nach mehr Details.
-</para>
-
-</sect3>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="menc-feat-telecine">
-<title>Wie mit telecine und interlacing in NTSC-DVDs umgehen</title>
-
-<sect2 id="menc-feat-telecine-intro">
-<title>Einführung</title>
-<formalpara>
-<title>Was ist telecine?</title>
-<para>
- Wenn du nicht viel von dem verstehst, was in diesem Dokument beschrieben wird, lies den
- <ulink url="http://en.wikipedia.org/wiki/Telecine">Wikipedia-Artikel über Telecine</ulink>.
- Dies ist eine verständliche und einigermaßen umfassende
- Beschreibung dessen, was telecine ist.
-</para></formalpara>
-
-<formalpara>
-<title>Eine Anmerkung zu Zahlen</title>
-<para>
- Viele Dokumente, einschließlich des oben verlinkten Handbuchs, beziehen
- sich auf den Wert Felder pro Sekunde von NTSC-Video als 59.94 und den
- korrespondierenden Frames pro Sekunde als 29.97 (für telecined und
- interlaced) und 23.976 (für progressiv). Zur Vereinfachung runden
- manche dieser Dokumente sogar auf 60, 30 und 24 auf.
-</para></formalpara>
-
-<para>
- Streng genommen sind alle diese Zahlen Näherungswerte. Das schwarz/weiße
- NTSC-Video war exakt 60 Felder pro Sekunde, später wurde jedoch 60000/1001
- gewählt, um die Farbdaten anzupassen, solange man gleichzeitig
- zu Schwarz/weiß-Fernsehen kompatibel blieb. Digitales NTSC-Video
- (so wie auf einer DVD) hat ebenfalls 60000/1001 Felder pro Sekunde. Hieraus
- wird interlaced und telecined Video als 30000/1001 Frames pro Sekunde
- enthaltend abgeleitet; progressive Video hat 24000/1001 Frames pro Sekunde.
-</para>
-
-<para>
- Ältere Versionen der <application>MEncoder</application>-Dokumentation
- und viele archivierten Posts in Mailing-Listen beziehen sich auf 59.94,
- 29.97 und 23.976.
- Alle <application>MEncoder</application>-Dokumentationen wurden insofern
- aktualisiert, dass sie fraktionale Werte verwenden, und du solltest dies
- auch tun.
-</para>
-
-<para>
- <option>-ofps 23.976</option> ist inkorrekt.
- <option>-ofps 24000/1001</option> sollte statt dessen benutzt werden.
-</para>
-
-<formalpara>
-<title>Wie telecine angewandt wird</title>
-<para>
- Jedes Video, das zur Anzeige auf einem NTSC-Fernseh-Set vorgesehen ist,
- muss 60000/1001 Felder pro Sekunde haben. Für TV-Filme und Shows
- hergestellt sind sie häufig direkt mit 60000/1001 Feldern pro Sekunde
- aufgenommen, die Mehrheit der Kinofilme jedoch mit 24 oder 24000/1001
- Frames pro Sekunde. Wenn cinematische Movie-DVDs gemastert werden,
- wird das Video danach fürs Fernsehen mittels eines telecine genannten
- Prozesses konvertiert.
-</para></formalpara>
-
-<para>
- Auf einer DVD wird das Video eigentlich nie als 60000/1001 Felder
- pro Sekunde abgelegt. Für ein Video, das ursprünglich 60000/1001 war,
- wird jedes Feldpaar zu einem Frame kombiniert, was dann 30000/1001
- Frames pro Sekunde ergibt. Hardware-DVD-Player lesen dann ein im
- Videostream eingebettetes Kennzeichen aus, um zu bestimmen, ob die gerade
- oder ungerade nummerierten Zeilen das erste Feld formen sollen.
-</para>
-
-<para>
- Üblicherweise bleibt ein Inhalt mit 24000/1001 Frames pro Sekunde
- so wie er ist, wenn er für eine DVD encodiert wird, und der DVD-Player
- muss das Telecining on-the-fly bewerkstelligen. Manchmal jedoch wird das
- Video telecined <emphasis>bevor</emphasis> es auf der DVD gespeichert wird;
- selbst wenn es ursprünglich 24000/1001 Frames pro Sekunde war, wird es
- 60000/1001 Felder pro Sekunde. Wenn es auf der DVD gespeichert wird,
- werden Feldpaare zu 30000/1001 Frames pro Sekunde kombiniert.
-</para>
-
-<para>
- Wenn man das aus 60000/10001 Feldern pro Sekunde geformten Einzelframes
- erzeugte Video betrachtet, ist telecined oder anderenfalls Interlacing
- klar sichtbar woimmer Bewegung auftritt, da ein Feld (sagen wir, die
- geradzahlig nummerierten Zeilen) einen Moment zur Zeit 1/(60000/1001) Sekunden
- später als das andere repräsentiert. Spielt man ein interlaced Video auf
- einem Computer ab, sehen beide hässlich aus, weil der Monitor eine höhere
- Auflösung besitzt und weil das Video Frame für Frame anstatt Feld für Feld
- angezeigt wird.
-</para>
-
-<itemizedlist>
-<title>Anmerkungen</title>
-<listitem><para>
- Dieser Abschnitt gilt nur für NTSC-DVDs und nicht für PAL.
- </para></listitem>
-<listitem><para>
- Die <application>MEncoder</application>-Beispielzeilen überall im
- Dokument sind <emphasis role="bold">nicht</emphasis> zum
- eigentlichen Gebrauch vorgesehen. Sie sind schlicht das bloße Minimum,
- das zum Encodieren der betreffenden Videokategorie benötigt wird.
- Wie mache ich gute DVD-Rips oder wie feintune ich
- <systemitem class="library">libavcodec</systemitem> auf maximale
- Qualität gehören nicht zum Umfang dieses Dokuments.
- </para></listitem>
-<listitem><para>
- Es gibt ein paar Fußnoten speziell für dieses Handbuch, die so ähnlich
- verlinkt sind:
- <link linkend="menc-feat-telecine-footnotes">[1]</link>
- </para></listitem>
-</itemizedlist>
-</sect2>
-
-<sect2 id="menc-feat-telecine-ident">
-<title>Wie kann man sagen, welchen Typ Video man hat</title>
-
-<sect3 id="menc-feat-telecine-ident-progressive">
-<title>Progressiv</title>
-<para>
- Progressive Video wurde ursprünglich mit 24000/1001 fps gefilmt und
- ohne Änderung auf der DVD abgespeichert.
-</para>
-
-<para>
- Wenn du eine progressive DVD in <application>MPlayer</application> abspielst,
- wird <application>MPlayer</application> folgende Zeile ausgeben, sobald
- das Abspielen des Films beginnt:
-
- <screen> demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.</screen>
-
- Von diesem Punkt an vorwärts sollte demux_mpg nie erzählen, es finde
- &quot;30000/1001 fps NTSC content.&quot;
-</para>
-
-<para>
- Wenn du progressives Video ankuckst, solltest du nie irgendein
- Interlacing sehen. Sei trotzdem vorsichtig, weil manchmal ein winziges
- bisschen telecine dort hineingemischt wurde, wo du es nicht erwartest.
- Ich bin TV-Serien-DVDs begegnet, die eine Sekunde telecine bei jedem
- Szenenwechsel haben oder an extrem zufälligen Stellen. Ich hatte mir einmal
- eine DVD angesehen, die eine progressive erste Hälfte besaß, und die
- zweite Hälfte war telecined. Willst du<emphasis>wirklich</emphasis>
- gründlich sein, kannst du den kompletten Film scannen:
-
- <screen>mplayer dvd://1 -nosound -vo null -benchmark</screen>
-
- Das Verwenden von <option>-benchmark</option> veranlasst
- <application>MPlayer</application>, den Film so schnell er es nur kann
- abzuspielen; dies dauert je nach Hardware trotzdem noch eine
- Weile. Jedesmal wenn demux_mpg einen Frameratenwechsel meldet, wird dir
- die Zeile unmittelbar darüber die Zeit zeigen, bei welcher der Wechsel
- auftrat.
-</para>
-
-<para>
- Manchmal wird progressive Video auf DVDs
- &quot;soft telecine&quot; zugeordnet, weil es dazu vorgesehen ist,
- vom DVD-Player telecined zu werden.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-telecine-ident-telecined">
-<title>Telecined</title>
-<para>
- Telecined Video war ursprünglich mit 24000/1001 aufgenommen, wurde aber
- telecined, <emphasis>bevor</emphasis> es auf die DVD geschrieben wurde.
-</para>
-
-<para>
- <application>MPlayer</application> meldet keine (nie)
- Frameratenwechsel, wenn er telecined Video abspielt.
-</para>
-
-<para>
- Beim Betrachten eines telecined Videos wirst du Interlacing-Artefakte
- sehen, die zu &quot;blinken&quot; scheinen: sie erscheinen wiederholt
- und verschwinden wieder.
- Du kannst dir das so genauer hinschauen
- <orderedlist>
- <listitem>
- <screen>mplayer dvd://1</screen>
- </listitem>
- <listitem><para>
- Suche einen Teil mit Bewegung.
- </para></listitem>
- <listitem><para>
- Benutze die Taste <keycap>.</keycap>, um jeweils einen Frame vorwärts zu rücken.
- </para></listitem>
- <listitem><para>
- Schau auf das Muster der interlaced und progressive aussehenden
- Frames. Ist das Muster, das du siehst PPPII,PPPII,PPPII,... dann ist das
- Video telecined. Siehst du andere Muster, dann wurde das Video womöglich
- mittels einiger Nicht-Standard-Methoden telecined;
- <application>MEncoder</application> kann ein Nicht-Standard-telecine
- nicht verlustfrei nach progressive konvertieren. Siehst du überhaupt
- keine Muster, ist es höchstwahrscheinlich interlaced.
- </para></listitem>
- </orderedlist>
-</para>
-
-<para>
- Manchmal wird telecined Video auf DVDs &quot;hard telecine&quot;
- zugeordnet. Da hard telecine bereits 60000/1001 Felder pro Sekunde hat,
- spielt der DVD-Player das Video ohne irgendeine Manipulation ab.
-</para>
-
-<para>
- Ein anderer Weg, zu sagen, ob deine Quelle telecined ist oder nicht,
- ist die Quelle mit den Befehlszeilenoptionen <option>-vf pullup</option>
- und <option>-v</option> abzuspielen, um nachzusehen, wie
- <option>pullup</option> zu den Frames passt.
- Ist die Quelle telecined, solltest du in der Befehlszeile ein 3:2 Muster
- mit abwechselnd <systemitem>0+.1.+2</systemitem> und <systemitem>0++1</systemitem>
- anzeigen.
- Diese Technik hat den Vorteil, dass du die Quelle nicht zu beobachten
- brauchst, um sie zu identifizieren, was von Nutzen sein könnte, falls du
- den Encodiervorgang automatisieren willst oder besagte Prozedur ferngesteuert
- mittels einer langsamen Verbindung vornehmen willst.
-</para>
-
-</sect3>
-
-<sect3 id="menc-feat-telecine-ident-interlaced">
-<title>Interlaced</title>
-<para>
- Interlaced Video wurde ursprünglich als 60000/1001 Felder pro Sekunde
- aufgenommen und auf der DVD als 30000/1001 Frames pro Sekunde abgespeichert.
- Der interlacing-Effekt (oft &quot;combing&quot; genannt) ist ein Ergebnis
- von Kammpaaren von Feldern in Frames. Jedes Feld wird einzeln als
- 1/(60000/1001) Sekunden angenommen, und wenn sie simultan angezeigt werden,
- wird der Unterschied offensichtlich.
-</para>
-
-<para>
- Wie bei telecined Video sollte <application>MPlayer</application> niemals
- einen Frameratewechsel beim Abspielen des interlaced Inhalts melden.
-</para>
-
-<para>
- Wenn du ein interlaced Video genau ansiehst, in dem du dich mit der Taste
- <keycap>.</keycap> durch die Frames bewegst, wirst du sehen, dass
- jeder einzelne Frame interlaced ist.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-telecine-ident-mixedpt">
-<title>Gemischtes progressive und telecine</title>
-<para>
- Alle &quot;gemischten progressive und telecine&quot; Videos wurden ursprünglich
- als 24000/1001 Frames pro Sekunde aufgenommen, jedoch werden einige Teile
- telecined beendet.
-</para>
-
-<para>
- Spielt <application>MPlayer</application> diese Kategorie ab, wird er
- (oft wiederholt) zwischen &quot;30000/1001 fps NTSC&quot;
- und &quot;24000/1001 fps progressive NTSC&quot; zurück und vor wechseln.
- Beobachte die untere Hälfte von <application>MPlayer</application>s Ausgabe,
- um diese Meldungen anzusehen.
-</para>
-
-<para>
- Du solltest die Sektion &quot;30000/1001 fps NTSC&quot; überprüfen, um
- sicher zu gehen, dass sie auch wirklich telecine sind und nicht einfach
- interlaced.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-telecine-ident-mixedpi">
-<title>Gemischtes progressive und interlaced</title>
-<para>
- In &quot;gemischtem progressive und interlaced&quot; Inhalt wurde progressive
- und interlaced Video zusammengeklebt.
-</para>
-
-<para>
- Diese Kategorie sieht aus wie &quot;gemischtes progressive und telecine&quot;,
- bis du die Sektion 30000/1001 fps untersuchst und feststellst, dass
- sie das telecine-Muster nicht haben.
-</para>
-</sect3>
-
-</sect2>
-
-<sect2 id="menc-feat-telecine-encode">
-<title>Wie jede Kategorie encodieren</title>
-<para>
- Wie ich anfangs angemerkt hatte, sind die
- <application>MEncoder</application>-Beispielzeilen unten eigentlich
- <emphasis role="bold">nicht</emphasis> zur Anwendung bestimmt;
- sie demonstrieren nur die Minimalparameter zur korrekten Encodierung
- jeder Kategorie.
-</para>
-
-<sect3 id="menc-feat-telecine-encode-progressive">
-<title>Progressive</title>
-<para>
- Progressive Video erfordert kein spezielles Filtern, um es zu encodieren.
- Der einzige Parameter, den du gewiss anwenden solltest ist
- <option>-ofps 24000/1001</option>. Andernfalls wird
- <application>MEncoder</application> versuchen, bei 30000/1001 fps
- zu encodieren und Frames duplizieren.
-</para>
-
-<para>
- <screen>mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001</screen>
-</para>
-
-<para>
- Dennoch ist es öfters der Fall, dass ein Video, das progressive aussieht,
- eigentlich kurze Teile telecine eingemischt hat. Solange du dir nicht
- sicher bist, ist es am sichersten, das Video als
- <link linkend="menc-feat-telecine-encode-mixedpt">gemischtes progressive und telecine</link>.
- zu behandeln. Der Performance-Verlust ist gering
- <link linkend="menc-feat-telecine-footnotes">[3]</link>.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-telecine-encode-telecined">
-<title>Telecined</title>
-<para>
- Telecine kann umgekehrt werden, um den originalen 24000/1001-Inhalt zu erhalten,
- indem man einen Prozess verwendet, der inverse-telecine genannt wird.
- <application>MPlayer</application> enthält verschiedene Filter, um dies
- zu erreichen; der beste Filter, <option>pullup</option> wird in der Sektion
- <link linkend="menc-feat-telecine-encode-mixedpt">Gemischtes progressive und telecine</link>
- beschrieben.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-telecine-encode-interlaced">
-<title>Interlaced</title>
-<para>
-
- In den meisten praktischen Fällen ist es nicht möglich, ein komplett
- progressives Video aus interlaced Inhalt zu erhalten. Der einzige Weg,
- dies ohne den Verlust der Hälfte der vertikalen Auflösung zu erreichen,
- ist das Verdoppeln der Framerate, und man kann versuchen zu
- &quot;schätzen&quot;, wie die korrespondierenden Zeilen für jedes Feld
- vervollständigt werden sollten (dies hat Nachteile - siehe Methode 3).
-</para>
-
-<orderedlist>
-<listitem><para>
- Das Video in interlaced Form encodieren. Normalerweise richtet Interlacing
- verheerenden Schaden für die Fähigkeit des Encoders an, gut zu komprimieren,
- <systemitem class="library">libavcodec</systemitem> hat jedoch zwei
- eigens für das ein wenig bessere Abspeichern von interlaced Video gedachte
- Parameter: <option>ildct</option> und <option>ilme</option>. Auch wenn
- die Verwendung von <option>mbd=2</option> dringend zu empfehlen ist
- <link linkend="menc-feat-telecine-footnotes">[2]</link>, weil es
- Macroblöcke wie nicht-interlaced an Stellen encodiert, an denen keine Bewegung
- stattfindet. Beachte, dass <option>-ofps</option> hier NICHT notwendig ist.
-
- <screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
- </para></listitem>
-<listitem><para>
- Nutze einen Deinterlacing-Filter vor dem Encodieren. Es stehen verschiedene
- dieser Filter zur Auswahl, jeder mit seinen eigenen Vor-
- und Nachteilen. Ziehe <option>mplayer -pphelp</option> zu Rate, um zu sehen, welche
- verfügbar sind (suche nach &quot;deint&quot;) und durchsuche die
- <ulink url="http://www.mplayerhq.hu/design7/info.html#mailing_lists">
- MPlayer-Mailinglisten</ulink>, um Diskussionen über die zahlreichen Filter
- zu finden. Nochmals, die Framerate wechselt nicht, also kein
- <option>-ofps</option>. Deinterlacing sollte außerdem nach dem Zuschneiden
- (cropping) <link linkend="menc-feat-telecine-footnotes">[1]</link>
- und vor dem Skalieren angewandt werden.
-
- <screen>mencoder dvd://1 -oac copy -vf pp=lb -ovc lavc</screen>
- </para></listitem>
-<listitem><para>
- Unglücklicherweise arbeitet diese Option im Zusammenhang mit
- <application>MEncoder</application> fehlerhaft; sie sollte mit
- <application>MEncoder G2</application> gut funktionieren, den gibts aber
- noch nicht. Du könntest Abstürze erleben. Seis drum, der Zweck von
- <option> -vf tfields</option> ist es, einen vollen Frame aus jedem Feld
- zu erzeugen, was eine Framerate von 60000/1001 ergibt. Der Vorteil dieses
- Lösungsansatzes ist, dass nie irgendwelche Daten verloren gehen;
- dennoch, da jeder Frame aus nur einem Feld kommt, müssen die fehlenden Zeilen
- irgendwie interpoliert werden. Es gibt keine sehr guten Methoden, die
- fehlenden Daten zu generieren, und so wird das Resultat ein bisschen aussehen,
- als hätte man irgendeinen Deinterlacing-Filter verwendet. Die fehlenden Zeilen
- zu generieren erzeugt auch weitere Probleme, einfach weil sich die Menge
- an Daten verdoppelt. Somit sind höhere Encodier-Bitraten nötig, um
- die Qualität beizubehalten und mehr CPU-Power wird für beides,
- Encodieren und Decodieren, aufgewendet. Das Attribut tfields hat mehrere
- verschiedene Optionen dafür, wie die fehlenden Zeilen jedes Frames erzeugt
- werden.
- Wenn du diese Methode nutzt, dann nimm Bezug auf das Handbuch und wähle,
- welche Option auch immer am besten für dein Material aussieht.
- Beachte, dass du wenn <option>tfields</option> verwendet wird,
- sowohl <option>-fps</option> als auch <option>-ofps</option>spezifizieren <emphasis role="bold">musst</emphasis>,
- um die doppelte Framerate der originalen Quelle zu erhalten.
-
- <screen>mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc -fps 60000/1001 -ofps 60000/1001</screen>
- </para></listitem>
-<listitem><para>
- Wenn du vorhast, dramatisch herunterzuskalieren, kannst du nur eins
- der beiden Felder extrahieren und encodieren. Sicherlich, du wirst die
- Hälfte der vertikalen Auflösung verlieren, aber wenn du planst, bis auf
- 1/2 des Originals herunter zu skalieren, macht der Verlust so gut wie
- gar nichts aus. Das Resultat wird eine progressive Datei mit 30000/1001
- Frames pro Sekunde sein. Die Prozedur ist, <option>-vf field</option>
- zu verwenden, dann die Ränder abzuschneiden
- <link linkend="menc-feat-telecine-footnotes">[1]</link> und angemessen
- zu skalieren. Vergiss nicht, dass du die Skalierung anpassen musst, um
- das Halbieren der vertikalen Auflösung zu kompensieren.
- <screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen>
- </para></listitem>
-</orderedlist>
-</sect3>
-
-<sect3 id="menc-feat-telecine-encode-mixedpt">
-<title>Gemischtes progressive und telecine</title>
-<para>
- Um progressive und telecine Video komplett in progressive Video
- umzuwandeln, müssen die telecined Teile inverse-telecined werden.
- Die drei Wege, dies zu erreichen, werden unten beschrieben.
- Beachte, dass du inverse-telecine <emphasis role="bold">immer</emphasis>
- vor der Reskalierung durchführen solltest; es sei denn, du weißt wirklich,
- was du tust; mache inverse-telecine auch vor dem Entfernen der Ränder
- <link linkend="menc-feat-telecine-footnotes">[1]</link>.
- <option>-ofps 24000/1001</option> wird hier benötigt, weil das Output-Video
- 24000/1001 Frames pro Sekunde werden soll.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <option>-vf pullup</option> wurde entworfen, um auf telecined Material
- inverse-telecine anzuwenden, während die progressiven Daten unangetastet
- bleiben. Damit dies richtig funktioniert, <emphasis role="bold">muss</emphasis>
- <option>pullup</option> vom <option>softskip</option>-Filter gefolgt werden, sonst
- wird <application>MEncoder</application> abstürzen.
- <option>pullup</option> ist trotz allem die sauberste und akkurateste
- Methode, die zum Encodieren von beidem telecine und
- &quot;gemischtem progressive und telecine&quot; zur Verfügung steht.
-
- <screen>mencoder dvd://1 -oac copy -vf pullup,softskip -ovc lavc -ofps 24000/1001</screen>
- </para>
-
-
- </listitem>
- <listitem><para>
- Eine ältere Methode ist, anstatt inverse-telecine auf die telecined Teile
- anzuwenden, telecine auf nicht-telecined Teile und dann inverse-telecine auf das
- ganze Video anzuwenden. Hört sich verwirrend an? softpulldown ist
- ein Filter, der ein Video durchgeht und die komplette Datei telecined macht.
- Lassen wir auf softpulldown entweder <option>detc</option> oder <option>ivtc</option>
- folgen, wird das Endergebnis vollkommen progressiv. <option>-ofps 24000/1001</option>
- wird benötigt.
-
- <screen>mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001</screen>
- </para>
- </listitem>
-
-<listitem><para>
- Ich habe <option>-vf filmdint</option> selbst verwendet, aber lies hier, was
- D Richard Felker III zu erzählen hat:
-
- <blockquote><para>Es ist OK, aber IMO versucht er zu oft eher ein deinterlace
- als ein inverse telecine durchzuführen (ganz wie Settop-DVD-Player
- &amp; progressive TVs), was ein hässliches Flimmern erzeugt und
- andere Artefakte. Wenn du vorhast, es anzuwenden, musst du zumindest
- einige Zeit darauf verwenden, die Optionen zu tunen und zuerst den Output
- zu beobachten, damit du auch sicher sein kannst, dass du nichts
- vermasselst.</para></blockquote>
- </para></listitem>
-</itemizedlist>
-</sect3>
-
-<sect3 id="menc-feat-telecine-encode-mixedpi">
-<title>Gemischtes progressive und interlaced</title>
-<para>
- Es gibt zwei Optionen für den Umgang mit dieser Kategorie, jede von
- beiden stellt einen Kompromiss dar. Du solltest basierend auf
- Dauer/Stelle jedes Typs entscheiden.
-</para>
-
-<itemizedlist>
-<listitem><para>
- Behandle es wie progressive. Die interlaced Teile werden interlaced
- aussehen und einige der interlaced Felder müssen weggelassen werden,
- was ein wenig zu Sprüngen führt. Du kannst einen
- Nachbearbeitungsfilter verwenden, wenn du willst, aber dies wird die
- progressive-Anteile geringfügig verringern.
- </para>
-
- <para>
- Diese Option sollte definitiv nicht verwendet werden, wenn du eventuell
- Video auf einem interlaced Gerät anzeigen willst (mit einer TV-Karte
- zum Beispiel). Wenn du interlaced Frames in einem Video mit 24000/1001
- Frames pro Sekunde hast, werden diese zusammen mit den progressive
- Frames telecined. Die Hälfte der interlaced &quot;Frames&quot; werden für die
- Dauer von drei Feldern (3/(60000/1001) Sekunden) angezeigt, was
- einen flimmernden &quot;Zeitrücksprung&quot;-Effekt zur Folge hat, der
- ziemlich schlecht aussieht. Solltest du dies dennoch versuchen,
- <emphasis role="bold">musst</emphasis> du einen
- Deinterlacing-Filter wie <option>lb</option> oder <option>l5</option>
- anwenden.
- </para>
-
- <para>
- Es wäre auch keine gute Idee für eine progressive Anzeige. Es wird
- Paare aufeinander folgender interlaced Felder auslassen, was eine
- Unstetigkeit zur Folge hat, die eher sichtbar ist als mit der
- zweiten Methode, die einige progressive Frames zweimal anzeigt.
- Ein interlaced Video mit 30000/1001 Frames pro Sekunde ist bereits
- ein bisschen abgehackt, weil es wirklich mit 60000/1001 Felder pro
- Sekunde angezeigt werden sollte, sodass sich die doppelten Frames
- nicht zu sehr abzeichnen.
- </para>
-
- <para>
- Egal welchen Weg du wählst, es ist das beste, deinen Inhalt
- zu berücksichtigen und wie du ihn anzeigen willst. Ist dein Video
- zu 90% progressive und du hast nie vor, es auf einem TV-Bildschirm
- anzuzeigen, solltest du einen progressive-Ansatz wählen. Ist es nur
- halb-progressive, willst du es eventuell so encodieren, als sei alles
- interlaced.
- </para>
- </listitem>
-
-<listitem><para>
- Behandle es wie interlaced. Einige Frames des progressive-Anteils
- müssen dupliziert werden, was zu Sprüngen führt. Nochmal,
- Deinterlacing-Filter können die progressive-Anteile leicht verringern.
- </para></listitem>
-
-</itemizedlist>
-</sect3>
-
-</sect2>
-
-<sect2 id="menc-feat-telecine-footnotes">
-<title>Fußnoten</title>
-<orderedlist>
-<listitem><formalpara>
- <title>Über das Zuschneiden (cropping):</title>
- <para>
- Videodaten auf DVDs werden in einem YUV 4:2:0 genannten Format abgelegt.
- In einem YUV-Video, werden Helligkeit und Chrominanz separat gespeichert.
- Da das menschliche Auge ein bisschen weniger empfindlich auf Farbe
- reagiert als auf Helligkeit, ist in einem YUV 4:2:0 Bild nur ein
- Chrominanz-Pixel für alle vier Helligkeits-Pixel vorhanden.
- In einem progressive Bild, besitzt jedes Quadrat von vier luma-Pixeln (zwei
- auf jeder Seite) ein gemeinsames chroma-Pixel. Du musst progressive YUV
- 4:2:0 zu geradzahligen Auflösungen zurechtschneiden und geradzahlige
- Offsets verwenden. Zum Beispiel ist
- <option>crop=716:380:2:26</option> OK,
- <option>crop=716:380:3:26 </option> aber nicht.
- </para>
- </formalpara>
-
- <para>
- Wenn du es mit interlaced YUV 4:2:0 zu tun hast, ist die Situation
- ein wenig komplizierter. Anstatt dass immer vier luma-Pixel im
- <emphasis>Frame</emphasis> sich ein chroma-Pixel teilen, teilen sich
- immer vier luma-Pixel in jedem <emphasis>Feld</emphasis> ein
- chroma-Pixel. Wenn Felder zur Formung eines Frames interlaced werden,
- ist jede Scanzeile ein Pixel hoch. Jetzt liegen anstatt je vier
- luma-Pixel in einem Quadrat immer zwei Pixel nebeneinander und die
- anderen zwei Pixel liegen zwei Scanzeilen weiter unten nebeneinander.
- Die zwei luma-Pixel in der dazwischen liegenden Scanzeile sind vom
- anderen Feld und teilen sich somit ein anderes chroma-Pixel mit
- zwei luma-Pixeln zwei Scanzeile entfernt. All diese Konfusion macht
- es notwendig, vertikale Ausschneide-Abmessungen und Offsets zu
- haben, die ein Vielfaches von vier sind. Horizontal kann geradzahlig
- bleiben.
- </para>
-
- <para>
- Für telecined Video empfehle ich, das Zuschneiden nach dem inverse
- telecining stattfinden zu lassen. Ist das Video einmal progressive,
- musst du nur noch mit geraden Zahlen zuschneiden. Wenn du wirklich die
- leichte Beschleunigung haben willst, die zuerst zuzuschneiden
- möglicherweise bietet, musst du vertikal mit einem Vielfachen von vier
- zuschneiden, oder der inverse-telecine Filter wird keine korrekten Daten
- haben.
- </para>
-
- <para>
- Für interlaced (nicht telecined) Video musst du immer
- mit einem Vielfachen von vier zuschneiden, es sei denn, du verwendest
- <option>-vf field</option> vor dem Schneiden.
- </para>
- </listitem>
-
-<listitem><formalpara>
- <title>Über Encodier-Parameter und Qualität:</title>
- <para>
- Nur weil ich hier <option>mbd=2</option> vorschlage, heißt das nicht,
- dass es woanders benutzt werden soll. Zusammen mit <option>trell</option>
- ist <option>mbd=2</option> eine der Optionen von
- <systemitem class="library">libavcodec</systemitem>, welche die
- Qualität am deutlichsten heben, und du solltest stets das letzte der beiden
- anwenden, außer das Abfallen der Encodiergeschwindigkeit ist abschreckend
- hoch (z.B. Encodierung in Echtzeit). Es gibt eine Menge anderer Optionen für
- <systemitem class="library">libavcodec</systemitem>, die die Encodierqualität
- verbessern (und die Encodiergeschwindigkeit verringern), dies liegt aber jenseits
- des Rahmens dieses Dokuments.
- </para>
- </formalpara>
- </listitem>
-
-<listitem><formalpara>
- <title>Über die Performance von pullup:</title>
- <para>
- <option>Pullup</option> kann sicher (zusammen mit <option>softskip</option>)
- auf progressive Video angewandt werden und ist für gewöhnlich eine gute Idee,
- es sei denn, die Quelle wurde definitiv als vollkommen progressive verifiziert.
- Der Performaceverlust ist in den meisten Fällen gering. Bei einer Minimalencodierung
- macht <option>pullup</option> <application>MEncoder</application>
- 50% langsamer. Das Hinzufügen von Soundverarbeitung und erweiterten
- <option>lavcopts</option> überschattet diesen Unterschied
- und drückt den Performanceabfall, der mit dem Verwenden von <option>pullup</option>
- verbunden war, runter auf 2%.
- </para>
- </formalpara>
- </listitem>
-
-</orderedlist>
-
-</sect2>
-
-</sect1>
-
-
-<sect1 id="menc-feat-enc-libavcodec">
-<title>Encodieren mit der <systemitem class="library">libavcodec</systemitem>
- Codecfamilie</title>
-
-<para>
-<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
- stellt einfache Encodierung für eine Menge interessanter Video- und Audioformate
- zur Verfügung.
- Du kannst folgende Codecs encodieren (mehr oder weniger aktuell):
-</para>
-
-<sect2 id="menc-feat-enc-libavcodec-video-codecs">
-<title>Videocodecs von <systemitem class="library">libavcodec</systemitem></title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Name des Videocodecs</entry><entry>Beschreibung</entry></row>
-</thead>
-<tbody>
-<row><entry>mjpeg</entry><entry>
- Motion-JPEG
- </entry></row>
-<row><entry>ljpeg</entry><entry>
- Verlustfreies JPEG
- </entry></row>
-<row><entry>h261</entry><entry>
- H.261
- </entry></row>
-<row><entry>h263</entry><entry>
- H.263
- </entry></row>
-<row><entry>h263p</entry><entry>
- H.263+
- </entry></row>
-<row><entry>mpeg4</entry><entry>
- ISO Standard MPEG-4 (DivX 5, XviD-kompatibel)
- </entry></row>
-<row><entry>msmpeg4</entry><entry>
- Pre-Standard MPEG-4 Variante von MS, v3 (AKA DivX3)
- </entry></row>
-<row><entry>msmpeg4v2</entry><entry>
- Pre-Standard MPEG-4 von MS, v2 (in alten ASF-Dateien verwendet)
- </entry></row>
-<row><entry>wmv1</entry><entry>
- Windows Media Video, Version 1 (AKA WMV7)
- </entry></row>
-<row><entry>wmv2</entry><entry>
- Windows Media Video, Version 2 (AKA WMV8)
- </entry></row>
-<row><entry>rv10</entry><entry>
- RealVideo 1.0
- </entry></row>
-<row><entry>rv20</entry><entry>
- RealVideo 2.0
- </entry></row>
-<row><entry>mpeg1video</entry><entry>
- MPEG-1 Video
- </entry></row>
-<row><entry>mpeg2video</entry><entry>
- MPEG-2 Video
- </entry></row>
-<row><entry>huffyuv</entry><entry>
- Verlustfreie (lossless) Kompression
- </entry></row>
-<row><entry>asv1</entry><entry>
- ASUS Video v1
- </entry></row>
-<row><entry>asv2</entry><entry>
- ASUS Video v2
- </entry></row>
-<row><entry>ffv1</entry><entry>
- FFmpeg's verlustfreier (lossless) Videocodec
- </entry></row>
-<row><entry>svq1</entry><entry>
- Sorenson Video 1
- </entry></row>
-<row><entry>flv</entry><entry>
- Sorenson H.263, der in Flash Video benutzt wird
- </entry></row>
-<row><entry>dvvideo</entry><entry>
- Sony Digital Video
- </entry></row>
-<row><entry>snow</entry><entry>
- FFmpeg's experimenteller Wavelet-basierter Codec
- </entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
- Die erste Spalte enthält die Codecnamen, die nach der Konfiguration
- <literal>vcodec</literal> übergeben werden müssen, wie:
- <option>-lavcopts vcodec=msmpeg4</option>
-</para>
-<informalexample>
-<para>
- Ein Beispiel mit MJPEG-Komprimierung:
- <screen>mencoder dvd://2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy</screen>
-</para>
-</informalexample>
-</sect2>
-
-<sect2 id="menc-feat-enc-libavcodec-audio-codecs">
-<title>Audiocodecs von <systemitem class="library">libavcodec</systemitem></title>
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Name des Audiocodecs</entry><entry>Beschreibung</entry></row>
-</thead>
-<tbody>
- <row>
- <entry>mp2</entry>
- <entry>MPEG Layer 2</entry>
- </row>
- <row>
- <entry>ac3</entry>
- <entry>AC3, AKA Dolby Digital</entry>
- </row>
- <row>
- <entry>adpcm_ima_wav</entry>
- <entry>IMA adaptive PCM (4 Bit pro Sample, 4:1-Kompression)</entry>
- </row>
- <row>
- <entry>sonic</entry>
- <entry>experimenteller verlustbehafteter/verlustfreier Codec</entry>
- </row>
-</tbody>
-</tgroup>
-</informaltable>
-
- Die erste Spalte enthält die Codecnamen, die nach der Konfiguration
- <literal>acodec</literal> übergeben werden müssen, wie:
- <option>-lavcopts acodec=ac3</option>
-</para>
-
-<informalexample>
-<para>
-Ein Beispiel mit AC3-Kompression:
-<screen>mencoder dvd://2 -o title2.avi -oac lavc -lavcopts acodec=ac3 -ovc copy</screen>
-</para>
-</informalexample>
-
-<para>
- Im Gegensatz zu den Videocodecs von <systemitem class="library">libavcodec</systemitem>
- machen dessen Audiocodecs keinen weisen Gebrauch von den Bits, die ihnen übergeben
- werden, da es ihnen an einem minimalen psychoakustischen Modell fehlt (falls
- überhaupt eins vorhanden ist), wodurch sich die meisten anderen
- Codec-Implementierungen auszeichnen.
- Beachte jedoch, dass all diese Audiocodecs sehr schnell sind und überall dort
- hervorragend arbeiten, wo <application>MEncoder</application> mit
- <systemitem class="library">libavcodec</systemitem> kompiliert wurde (was
- meistens der Fall ist) und nicht von externen Programmbibliotheken abhängt.
-</para>
-</sect2>
-
-
-<sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options">
-<title>Encodieroptionen von libavcodec</title>
-
-<para>
- Idealerweise möchtest du eventuell in der Lage sein, dem Encoder einfach zu sagen,
- er soll in den &quot;hochqualitativen&quot; Modus wechseln und weiter machen.
- Das wäre vermutlich nett, aber unglücklicherweise schwer zu implementieren, da
- verschiedene Encodieroptionen unterschiedliche Qualitätsresultate hervorbringen,
- abhängig vom Quellmaterial.
- Das liegt daran, dass die Komprimierung von den visuellen Eigenschaften des fraglichen Videos abhängt.
- Zum Beispiel haben Anime und Live-Action sehr unterschiedliche Eigenschaften und
- benötigen aus diesm Grund verschiedene Optionen, um optimale Encodierung zu erreichen.
- Die gute Neuigkeit ist, dass einige Optionen wie <option>mbd=2</option>,
- <option>trell</option> und <option>v4mv</option> nie ausgelassen werden sollten.
- Siehe unten nach der detaillierten Beschreibung allgemeiner Encodieroptionen.
-</para>
-
-
-<itemizedlist>
-<title>Anzupassende Optionen:</title>
-<listitem><para>
- <emphasis role="bold">vmax_b_frames</emphasis>: 1 oder 2 ist gut, abhängig vom
- Film.
- Beachte, dass du, falls deine Encodierung von DivX5 decodierbar sein muss, den
- Support für "closed GOP" aktivieren musst, indem du die
- <systemitem class="library">libavcodec</systemitem>-Option <option>cgop</option>
- verwendest, du musst jedoch Szenenerkennung deaktivieren, was wiederum keine gute
- Idee ist, da es die Ecodierungseffizienz etwas angreift.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">vb_strategy=1</emphasis>: hilft in Szenen mit viel
- Bewegung (high-motion).
- Bei manchen Videos wird vmax_b_frames der Qualität schaden, vmax_b_frames=2
- zusammen mit vb_strategy=1 hilft jedoch.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">dia</emphasis>: Bewegungssuchbereich. Größer ist besser
- als kleiner.
- Negative Werte sind ein komplett anderer Maßstab.
- Gute Werte sind -1 für ein schnelle oder 2-4 für langsame Encodierung.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">predia</emphasis>: Bewegungssuche Vorabdurchlauf (pre-pass).
- Nicht so wichtig wie dia. Gute Werte sind 1 (Standard) bis 4. Erfordert preme=2, um
- wirklich was zu nützen.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">cmp, subcmp, precmp</emphasis>: Vergleichsfunktion zur
- Bewegungseinschätzung.
- Experimentiere mit Werten von 0 (Standard), 2 (hadamard), 3 (dct) und
- 6 (Ratenverzerrung).
- 0 ist am schnellsten und ausreichend für precmp.
- Für cmp und subcmp ist 2 gut bei Anime, und 3 ist gut bei Live-Action.
- 6 kann leicht besser sein oder auch nicht, ist aber langsam.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">last_pred</emphasis>: Anzahl der Bewegungsvorhersagen, die
- vom vorherigen Frame genommen werden sollen.
- 1-3 oder so hilft bei geringer Geschwindigkeitseinbuße.
- Höhere Werte sind langsam bei keinerlei Zusatzgewinn.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">cbp, mv0</emphasis>: Kontrolliert die Auswahl von Macroblöcken.
- Kleine Geschwindigkeitseinbußen bei kleinem Qualitätsgewinn.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">qprd</emphasis>: adaptive Quantisierung basierend auf der
- Komplexität des Macroblocks.
- Kann hilfreich sein oder schaden, abhängig vom Video und anderen Optionen.
- Dies kann Artefakte verursachen, es sei denn, du setzt vqmax auf einen halbwegs
- kleinen Wert (6 ist gut, vielleicht so langsam wie 4); vqmin=1 sollte ebenfalls
- helfen.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">qns</emphasis>: sehr langsam, speziell wenn kombiniert
- mit qprd.
- Diese Option veranlasst den Encoder, durch Kompressionsartefakte entstandenes
- Rauschen zu minimieren anstatt das encodierte Video strikt der Quelle anzupassen.
- Verwende dies nicht, es sei denn du, hast bereits alles andere so weit wie möglich
- optimiert und die Resultate sind immer noch nicht gut genug.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">vqcomp</emphasis>: Frequenzkontrolle optimieren.
- Welche Werte gut sind, hängt vom Film ab.
- Du kannst dies sicher so lassen wie es ist, wenn du willst.
- Wird vqcomp verringert, werden mehr Bits auf Szenen mit geringer Komlexität
- gelegt, wird es erhöht, legt es diese Bits auf Szenen mit hoher Komlexität
- (Standard: 0.5, Bereich: 0-1. empfohlener Bereich: 0.5-0.7).
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">vlelim, vcelim</emphasis>: Setzt die Schwelle für die
- Eliminierung einzelner Koeffizienten bei Helligkeits- und Farbanteilen.
- Sie werden in allen MPEG-ähnlichen Algorithmen getrennt encodiert.
- Die Idee hinter diesen Optionen ist, einige gute Heuristiken zu verwenden,
- um zu bestimmen, wenn ein Wechsel innerhalb eines Blocks kleiner als der
- der von dir festgelegte Schwellenwert ist und in solch einem Fall den
- Block einfach so zu encodieren als fände &quot;kein Wechsel&quot; statt.
- Das spart Bits und beschleunigt womöglich die Encodierunng. vlelim=-4 und vcelim=9
- scheinen gut für Live-Filme zu sein, helfen aber scheinbar nicht bei Anime;
- beim Encodieren einer Animation solltest du sie womöglich unverändert lassen.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">qpel</emphasis>: Bewegungsabschätzung auf ein viertel
- Pixel (quarter pel).
- MPEG-4 verwendet als Voreinstellung eine Halbpixel-Genauigkeit für die Bewegungssuche,
- deswegen hat diese Option einen Overhead, da mehr Informationen in der
- encodierte Datei untergebracht werden.
- Der Kompressionsgewinn/-verlust hängt vom Film ab, ist aber in der Regel nicht
- sonderlich effektiv bei Anime.
- qpel zieht immer eine signifikante Erhöhung der CPU-Decodierzeit nach
- sich (+25% in der Praxis).
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">psnr</emphasis>: wirkt sich eigentlich nicht auf
- das Encodieren aus, schreibt jedoch eine Log-Datei mit Typ/Größe/Qualität
- jedes Frames und gibt am Ende die Summe des PSNR Signal-zu-Rauschabstands
- (Peak Signal to Noise Ratio) aus.
-</para></listitem>
-
-</itemizedlist>
-
-<itemizedlist>
-<title>Optionen, mit denen besser nicht herumgespielt werden sollte:</title>
-<listitem><para>
- <emphasis role="bold">vme</emphasis>: Der Standardwert ist der beste.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">lumi_mask, dark_mask</emphasis>: Psychovisuell adaptive
- Quantisierung.
- Du solltest nicht im Traum daran denken, mit diesen Optionen herumzuspielen,
- wenn dir Qualität wichtig ist.
- Vernünftige Werte mögen in deinem Fall effektiv sein, aber sei gewarnt,
- dies ist sehr subjektiv.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">scplx_mask</emphasis>: Versucht, Blockartefakte
- zu verhindern, Postprocessing ist aber besser.
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<sect2 id="menc-feat-mpeg4-lavc-example-settings">
-<title>Beispiele für Encodierungseinstellungen</title>
-
-<para>
- Die folgenden Einstellungen sind Beispiele verschiedener Kombinationen
- von Encodierungsoptionen, die den Kompromiss Geschwindigkeit gegenüber
- Qualität bei gleicher Zielbitrate beeinflussen.
-</para>
-
-<para>
- Alle Encodierungseinstellungen wurden auf einem Beispielvideo
- mit 720x448 @30000/1001 fps getestet, die Zielbitrate war 900kbps und
- der Rechner war ein AMD-64 3400+ mit 2400 Mhz im 64bit-Modus.
- Jede Encodiereinstellung zeichnet sich aus durch die gemessene
- Encodiergeschwindigkeit (in Frames pro Sekunde) und den PSNR-Verlust
- (in dB) im Vergleich zu Einstellungen für &quot;sehr hohe Qualität&quot;.
- Bitte habe Verständnis, dass du abhängig von deiner Quelldatei,
- deinem Rechnertyp und Entwicklungsfortschritten sehr unterschiedliche
- Resultate erzielen wirst.
-</para>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row><entry>Beschreibung</entry><entry>Encodieroptionen</entry><entry>Geschwindigkeit (in fps)</entry><entry>Relativer PSNR-Verlust (in dB)</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>Sehr hohe Qualität</entry>
- <entry><option>vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</option></entry>
- <entry>6fps</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>Hohe Qualität</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</option></entry>
- <entry>15fps</entry>
- <entry>-0.5dB</entry>
-</row>
-<row>
- <entry>Schnell</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry>
- <entry>42fps</entry>
- <entry>-0.74dB</entry>
-</row>
-<row>
- <entry>Echtzeit</entry>
- <entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry>
- <entry>54fps</entry>
- <entry>-1.21dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect2>
-
-<sect2 id="custommatrices"><title>Maßgeschneiderte inter/intra-Matrizen</title>
-
-<para>
-Mit diesem Feature von <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
-bist du in der Lage, eigene inter- (I-Frames/Keyframes) und intra-Matrizen
-(P-Frames/predicted Frames) zu setzen. Es wird von vielen Codecs unterstützt:
-<systemitem>mpeg1video</systemitem> und <systemitem>mpeg2video</systemitem>
-sollen damit funktionieren.
-</para>
-
-<para>
-Eine typische Anwendung dieses Features ist, die von den
-<ulink url="http://www.kvcd.net/">KVCD</ulink>-Specifikationen
-bevorzugten Matrizen zu setzen.
-</para>
-
-<para>
-Die <emphasis role="bold">KVCD &quot;Notch&quot; Quantisierungsmatrix:</emphasis>
-</para>
-
-<para>
-Intra:
-<screen>
- 8 9 12 22 26 27 29 34
- 9 10 14 26 27 29 34 37
+ <title>Encodieren mit <application>MEncoder</application></title>
+
+ <sect1 id="menc-feat-dvd-mpeg4">
+ <title>Erzeugen eines hochwertigen MPEG-4-Rips (&quot;DivX&quot;) eines DVD-Films</title>
+
+ <para>
+ Eine häufig gestellte Frage ist
+ &quot;Wie mache ich den hochwertigsten Rip für eine gegebene Größe?&quot;.
+ Eine weitere Frage ist
+ &quot;Wie mache ich den qualitativ bestmöglichen DVD-Rip? Die Dateigröße ist
+ mir egal, ich will einfach nur die beste Qualität.&quot;
+ </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 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 eins 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 dazu entworfen
+ wurden, clevere Entscheidungen für dich zu treffen.
+ </para>
+
+ <sect2 id="menc-feat-dvd-mpeg4-preparing-encode">
+ <title>Vorbereitung aufs Encodieren: Identifiziere 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 voraussichtlich 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.
+ Das Fernsehen wurde entworfen, diese Felder als billige Form einer
+ analogen Komprimierung im Wechsel 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 dem Farbfernsehen.
+ Ansonsten ähnlich wie PAL.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">Animation</emphasis>: Üblicherweise bei
+ 24fps gezeichnet, kommt jedoch auch in Varianten mit gemischter
+ Framerate vor.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">Computer Graphics (CG)</emphasis>: Kann
+ irgendeine 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 komplizierter zu machen, sind manche Filme ein
+ Gemisch aus einigen den oben beschriebenen Formen.
+ </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 &quot;pulldown&quot; zugeordnet, von welchem
+ das verrufene NTSC &quot;3:2 telecine&quot; eine Abart darstellt.
+ Sofern das Originalmaterial nicht 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, genau 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 &quot;soft telecined&quot;
+ 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 Encodierungstechniken, sie produzieren stattdessen Filme mit
+ &quot;hard telecine&quot;, bei denen Felder sogar in encodiertes MPEG-2 dupliziert
+ werden.
+ </para>
+ <para>
+ Die Vorgehensweisen für den Umgang mit solchen Fällen werden
+ <link linkend="menc-feat-telecine">später in diesem Handbuch</link>
+ behandelt.
+ 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 zu 24000/1001 gewechselt hat
+ und diese nie wieder zurückwechselt, handelt es sich meist mit
+ Sicherheit um progressiven Inhalt, der &quot;soft telecined&quot; 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 Kammartefakte, dann gibt es mehrere Möglichkeiten.
+ Die Segmente mit 24000/1001 fps sind meist mit Sicherheit progressiver
+ Inhalt, &quot;soft telecined&quot;, jedoch könnten die Teile mit 30000/1001 fps
+ entweder &quot;hard telecined&quot; 24000/1001 fps Inhalt oder 60000/1001 Felder
+ pro Sekunde NTSC-Video sein.
+ Verwende die selben Richtwerte wie in den 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 der
+ Inhalt deines Films &quot;hard telecined&quot; 24000/1001 fps.
+ </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>Tipp:</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 &quot;<keycap>.</keycap>&quot;, um jeweils
+ einen Frame abzuspielen und identifiziere dann das Muster, falls du bei voller
+ Geschwindigkeit nichts erkennen kannst.
+ </para>
+ </note>
+ </sect3>
+ </sect2>
+
+ <sect2 id="menc-feat-dvd-mpeg4-2pass">
+ <title>Konstanter Quantisierungsparameter 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 und Rauschunterdrückung), kann eine sehr gute
+ Qualität bei 700 MB für einen 90-110-minütigen Breitwandfilm erreicht werden.
+ Des Weiteren können alle Filme - sogar die längsten - 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 Quantisierungsparameter 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 Videoencoder 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>Anmerkung:</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 weder 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 extrem übertriebene Vereinfachung
+ des aktuellen Prozesses aber nützlich, um 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, Standardwert ist 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 denselben 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 dieselbe Bitrate und PSNR (peak signal-to-noise ratio) liefern
+ wie CBR mit <option>vbitrate</option>=infinity und der Standardeinstellung
+ <option>vqmin</option>=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 Action 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 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 schneller Action 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 herumzuexperimentieren.
+ </para>
+
+ <para>
+ Wenn du eine bestimmte Größe anvisierst, musst du die Bitrate irgendwie
+ kalkulieren.
+ Aber zuvor solltest du wissen, wieviel Platz du für den/die Audiotrack(s)
+ reservieren musst, 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-Komprimierung 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-Cyan-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 Balken
+ an ihren Rändern. 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 muss sie viel mehr Bits verwenden,
+ oder es wird andernfalls ein als Ringing bekannter Artefakt
+ auftreten.
+ </para>
+
+ <para>
+ Die Discrete 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 schwarze Ränder
+ nicht 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
+ &quot;kopiere den Teil, der innerhalb des Bildes liegt, den schwarzen Rand
+ aber nicht&quot;. 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 hin, 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>
+ Obwohl 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 komplett 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-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 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>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="spa9-10">C</entry>
+ <entry spanname="spa11-12">C</entry>
+ <entry spanname="spa13-14">C</entry>
+ <entry spanname="spa15-16">C</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 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>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="spa9-10">C</entry>
+ <entry spanname="spa11-12">C</entry>
+ <entry spanname="spa13-14">C</entry>
+ <entry spanname="spa15-16">C</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>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>
+ Wie du erkennen kannst, wiederholt sich das Muster bis nach 4 Zeilen nicht.
+ Somit müssen bei interlaced Video dein y-Offset und die Höhe für das
+ Ausschneiden ein Vielfaches von 4 sein.
+ </para>
+
+ <para>
+ Die ursprüngliche DVD-Auflösung ist 720x480 für NTSC und 720x576 für PAL, es
+ gibt jedoch ein Aspektkennzeichen, das spezifiziert, ob Vollbild (4:3) oder
+ Breitwandfilm (16:9) vorliegt. Viele (wenn nicht die meisten) Breitwandfilm-DVDs
+ sind nicht grundsätzlich 16:9, sondern entweder 1.85:1 oder 2.35:1 (Cinescope).
+ Dies bedeutet, dass es schwarze Bänder im Video geben wird, die herausgeschnitten
+ werden müssen.
+ </para>
+
+ <para>
+ <application>MPlayer</application> stellt einen Crop-Erkennungsfilter
+ zur Verfügung, der das Ausschnittsrechteck (<option>-vf cropdetect</option>)
+ bestimmt.
+ Starte <application>MPlayer</application> mit
+ <option>-vf cropdetect</option>, und er wird die Crop-Einstellungen
+ zum Entfernen der Ränder ausgeben.
+ du solltest den Film lange genug laufen lassen, damit die gesamte Bildfläche
+ verwendet wird, um akkurate Crop-Werte zu erhalten.
+ </para>
+
+ <para>
+ Teste danach die Werte, die von <application>MPlayer</application>
+ über die Befehlszeile mittels <option>cropdetect</option> ausgegeben wurden
+ und passe das Rechteck nach deinen Bedürfnissen an.
+ Der Filter <option>rectangle</option> kann dabei helfen, indem er dir erlaubt,
+ das Rechteck interaktiv über dem Film zu positionieren.
+ Vergiss nicht, den oben genannten Teilbarkeitsrichtwerten zu folgen, sodass du
+ die Chroma-Ebenen nicht verkehrt anordnest.
+ </para>
+
+ <para>
+ In bestimmten Fällen könnte Skalieren nicht wünschenswert sein.
+ Skalierung in vertikaler Richtung ist mit interlaced Video
+ schwierig, und wenn du das Interlacing beibehalten willst, solltest
+ du für gewöhnlich das Skalieren bleiben lassen.
+ Hast du nicht vor zu skalieren, willst aber nach wie vor Abmessungen
+ in einem Vielfachen von 16 verwenden, musst du über den Rand
+ hinausschneiden.
+ Schneide aber lieber nicht über den Rand hinaus, da schwarze Ränder
+ sehr schlecht zu encodieren sind!
+ </para>
+
+ <para>
+ Weil MPEG-4 16x16 Macroblöcke nutzt, solltest du dich vergewissern,
+ dass jede Abmessung des zu encodierenden Videos ein Vielfaches von
+ 16 ist oder du verschlechterst andernfalls die Qualität, speziell bei
+ niedrigeren Bitraten. Du kannst dies durch Abrunden der Breite und
+ Höhe des Ausschnittsrechtecks hinunter auf den nächsten Wert eines
+ Vielfachen von 16 erreichen.
+ Wie früher bereits erklärt, wirst du beim Abschneiden das y-Offset
+ um die Hälfte der Differenz der alten und neuen Höhe erhöhen wollen,
+ sodass das daraus resultierende Video aus der Mitte des Frames genommen
+ wird. Und stelle wegen der Art, wie ein DVD-Video gesampelt wird, sicher,
+ dass das Offset eine gerade Zahl ist. (Verwende in der Tat - als eine
+ Regel - nie ungerade Werte für irgendwelche Parameter beim Abschneiden
+ oder Skalieren eines Videos) Wenn du dich beim Wegwerfen einiger extra
+ Pixel nicht wohl fühlst, ziehst du es stattdessen vor, das Video zu
+ skalieren.
+ Wir werden uns dies im unten stehenden Beispiel mal ansehen.
+ Du kannst den <option>cropdetect</option>-Filter sogar alles oben erwähnte
+ für dich erledigen lassen, da dieser einen optionalen Parameter
+ <option>round</option> besitzt, der standardmäßig gleich 16 ist.
+ </para>
+
+ <para>
+ Pass auch auf &quot;halbschwarze&quot; Pixel an den Kanten auf. Stelle sicher, dass
+ du diese ebenfalls mit abschneidest oder du vergeudest dort Bits, wo sie
+ doch besser anderswo verwendet werden sollten.
+ </para>
+
+ <para>
+ Nachdem nun alles gesagt ist, wirst du möglicherweise bei einem
+ Video landen, dessen Pixel nicht ganz 1.85:1 oder 2.35:1, aber ziemlich
+ nahe dran sind. Du könntest ein neues Seitenverhältnis manuell berechnen,
+ aber <application>MEncoder</application> bietet eine Option für
+ <systemitem class="library">libavcodec</systemitem> genannt
+ <option>autoaspect</option>, die das für dich erledigt.
+ Skaliere dieses Video auf keinen Fall hoch, um die Pixel abzugleichen
+ solange du keinen Festplattenplatz verschwenden willst.
+ Das Skalieren sollte beim Playback gemacht werden und der Player wird das
+ in der AVI gespeicherte Seitenverhältnis zur Bestimmung der besten
+ Auflösung verwenden.
+ Unglücklicherweise erzwingen nicht alle Player diese Auto-Skalierinformation,
+ und deshalb willst du vielleicht trotzdem neu skalieren.
+ </para>
+ </sect2>
+
+
+ <sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate">
+ <title>Auswahl von Auflösung und Bitrate</title>
+
+ <para>
+ Wenn du nicht vor hast, im Modus mit konstantem Quantisier zu encodieren,
+ musst du eine Bitrate auswählen.
+ Das Konzept der Bitrate ist denkbar einfach.
+ Sie ist die (mittlere) Anzahl Bits, die pro Sekunde zum Speichern des
+ Films verbraucht werden.
+ Normalerweise wird die Bitrate in Kilobit (1000 Bit) pro Sekunde gemessen.
+ Die Größe deines Films auf der Platte ist die Bitrate multipliziert mit der
+ Dauer des Films, plus einem kleinen &quot;Overhead&quot; (siehe zum Beispiel in der
+ Sektion über
+ <link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">den AVI-Container</link>).
+ Weitere Parameter wie Skalierung, Cropping, usw. werden die Dateigröße
+ <emphasis role="bold">nicht</emphasis> ändern, solange du nicht auch
+ die Bitrate veränderst!
+ </para>
+ <para>
+ Die Bitrate skaliert <emphasis role="bold">nicht</emphasis> proportional
+ zur Auflösung.
+ Dies bedeutet, eine Datei 320x240 mit 200 KBit/Sek wird nicht dieselbe
+ Qualität aufweisen wie der gleiche Film bei 640x480 und 800 KBit/Sek!
+ Dafür gibt es zwei Gründe:
+ <orderedlist>
+ <listitem>
+ <para>
+ <emphasis role="bold">Wahrnehmbar</emphasis>: du bemerkst
+ MPEG-Artefakte eher, wenn sie größer hochskaliert sind!
+ Artefakte erscheinen bei einer Skalierung von Blöcken (8x8).
+ Dein Auge wird in 4800 kleinen Blöcken nicht so leicht Fehler sehen
+ wie es welche in 1200 großen Blöcken sieht (vorausgesetzt du skalierst
+ beide auf Vollbild).
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">Theoretisch</emphasis>: Wenn du ein Bild
+ runterskalierst, aber nach wie vor die selbe Größe der (8x8)
+ Blöcke zur Frequenzraumtransformation verwendest, bewegst Du
+ mehr Daten in die Hochfrequenzbänder.
+ Grob gesagt, jedes Pixel enthält mehr des Details als es dies
+ zuvor tat.
+ Somit enthält dein herunterskaliertes Bild 1/4 der Information
+ in räumlichen Richtungen, es könnte immer noch einen hohen Anteil
+ Information im Frequenzbereich enthalten (vorausgesetzt dass die
+ hohen Frequenzen im originalen 640x480 Bild nicht ausgenutzt wurden).
+ </para>
+ </listitem>
+ </orderedlist>
+ </para>
+ <para>
+ Vergangene Leitfäden legten nahe, eine Bitrate und Auflösung zu wählen,
+ die auf eine &quot;Bits pro Pixel&quot;-Näherung basieren, dies ist jedoch im
+ allgemeinen aus oben genannten Gründen nicht gültig.
+ Eine bessere Schätzung scheint zu sein, dass Bitraten proportional zur
+ Quadratwurzel der Auflösung skalieren, sodass 320x240 und 400 KBit/Sek
+ vergleichbar mit 640x480 bei 800 KBit/Sek wären.
+ Dies wurde aber nicht mit theoretischer oder empirischer Strenge verifiziert.
+ Desweiteren ist es in Anbetracht der Tatsache, dass Filme in Bezug auf Rauschen, Details,
+ Bewegungsgrad usw. außerordentlich variieren, zwecklos, allgemeine Empfehlungen
+ für die Bits pro Diagonallänge (dem Analog zu Bits pro Pixel
+ unter Verwendung der Quadratwurzel) abzugeben.
+ </para>
+ <para>
+ So weit haben wir nun die Schwierigkeit der Wahl von Bitrate und
+ Auflösung diskutiert.
+ </para>
+
+
+ <sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute">
+ <title>Berechnen der Auflösung</title>
+ <para>
+ Die folgenden Schritte werden dich in der Berechnung der Auflösung
+ deiner Encodierung anleiten, ohne das Video allzusehr zu verzerren,
+ indem verschiedene Typen von Informationen über das Quellvideo in
+ Betracht gezogen werden.
+ Zuerst solltest du die encodierte Auflösung berechnen:
+ <systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem>
+ <itemizedlist>
+ <title>wobwei:</title>
+ <listitem>
+ <para>
+ Wc und Hc die Breite und Höhe des zugeschnittenen Videos darstellen
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ ARa das angezeigte Seitenverhältnis ist, das üblicherweise 4/3 oder 16/9 beträgt
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ PRdvd das Pixelverhältnis der DVD ist, welches gleich 1.25=(720/576) für
+ PAL-DVDs und 1.5=(720/480) für NTSC-DVDs beträgt
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <para>
+ Dann kannst du die X- und Y-Auflösung berechnen, gemäß eines gewisse Faktors
+ der Kompressionsqualität (CQ):
+ <systemitem>ResY = INT(SQRT( 1000*Bitrate/25/ARc/CQ )/16) * 16</systemitem>
+ und
+ <systemitem>ResX = INT( ResY * ARc / 16) * 16</systemitem>
+ </para>
+
+ <para>
+ Okay, aber was ist der CQ?
+ Der CQ repräsentiert die Anzahl Bits pro Pixel und pro Frame der Encodierung.
+ Grob ausgedrückt, je größer der CQ, desto geringer die Wahrscheinlichkeit,
+ Encodierungsartefakte zu sehen.
+ Trotz allem, wenn du eine Zielgröße für deinen Film hast (1 oder 2 CDs zum Beispiel),
+ gibt es eine begrenzte Gesamtzahl an Bits, die du aufwenden kannst; deswegen ist es
+ notwendig, einen guten Kompromiss zwischen Komprimierbarkeit und Qualität zu suchen.
+ </para>
+
+ <para>
+ Der CQ hängt von der Bitrate, der Effektivität des Videocodecs und der
+ Filmauflösung ab.
+ Um den CQ anzuheben, könntest du typischerweise den Film unter der Annahme
+ herunterskalieren, dass die Bitrate mit der Funktion der Zielgröße und der
+ Länge des Films berechnest, die ja konstant sind.
+ Mit MPEG-4 ASP-Codecs wie <systemitem class="library">XviD</systemitem>
+ und <systemitem class="library">libavcodec</systemitem>, resultiert ein CQ
+ unter 0.18 für gewöhnlich in einem ziemlich blockhaften Bild, weil nicht
+ genug Bits zum Codieren der Information jedes Macroblocks vorhanden sind.
+ (MPEG4, wie auch viele andere Codecs, gruppiert Pixel nach Blöcken verschiedener
+ Pixel, um das Bild zu komprimieren; sind nicht genügend Bits vorhanden,
+ werden die Kanten dieser Blöcke sichtbar.)
+ Es ist daher weise, einen CQ im Bereich von 0.20 bis 0.22 für einen 1 CD-Rip
+ und 0.26-0.28 für einen 2 CD-Rip mit Standard-Encodieroptionen zu nehmen.
+ Höherentwickelte Encodieroptionen wie die hier für
+ <link linkend="menc-feat-mpeg4-lavc-example-settings"><systemitem class="library">libavcodec</systemitem></link>
+ und
+ <link linkend="menc-feat-xvid-example-settings"><systemitem class="library">XviD</systemitem></link>
+ aufgelisteten sollten es möglich machen, dieselbe Qualität mit einem CQ im Bereich
+ von 0.18 bis 0.20 für einen 1 CD-Rip und 0.24 bis 0.26 für einen 2 CD-Rip zu erreichen.
+ Mit den MPEG-4 ASP-Codecs wie <systemitem class="library">x264</systemitem>,
+ kannst du einen CQ im Bereich von 0.14 bis 0.16 mit Standard-Encodieroptionen
+ verwenden, und solltest bis auf 0.10 bis 0.12 mit den
+ <link linkend="menc-feat-x264-example-settings">erweiterten Encodieroptionen von <systemitem class="library">x264</systemitem></link>
+ runter gehen können.
+ </para>
+
+ <para>
+ Bitte nimm zur Kenntnis, dass der CQ lediglich eine richtungsweisendes Maß ist,
+ da sie vom encodierten Inhalt abhängt. Ein CQ von 0.18 kann für einen
+ Bergman-Film recht hübsch aussehen, im Gegensatz zu einem Film wie
+ The Matrix, der jede Menge High-Motion-Szenen enthält.
+ Auf der anderen Seite ist es nutzlos, den CQ höher als 0.30 zu schrauben,
+ da du ohne spürbaren Qualitätsgewinn Bits vergeuden würdest.
+ Beachte ebenso, dass wie früher in diesem Handbuch bereits angemerkt,
+ niedrig auflösende Videos einen größeren CQ benötigen, um gut auszusehen
+ (im Vergleich z.B. zur DVD-Auflösung).
+ </para>
+ </sect3>
+
+ </sect2>
+
+ <sect2 id="menc-feat-dvd-mpeg4-filtering">
+ <title>Filtern</title>
+
+ <para>
+ Zu lernen, wie man <application>MEncoder</application>s Videofilter
+ verwendet, ist essentiell, um gute Encodierungen zu produzieren.
+ Jede Videoverarbeitung wird über Filter ausgeführt -- Ausschneiden,
+ Skalieren, Farbanpassung, Rauschentfernung, Scharfzeichnen, Deinterlacing,
+ telecine, inverses telecine und Deblocking, um nur ein paar davon aufzuzählen.
+ Zusammen mit der gewaltigen Zahl unterstützter Inputformate, ist die Vielfalt der
+ in <application>MEncoder</application> verfügbaren Filter eine seiner
+ Hauptvorteile im Vergleich zu ähnlichen Programmen.
+ </para>
+
+ <para>
+ Filter werden in einer Kette über die Option -vf geladen:
+
+ <screen>-vf filter1=Optionen,filter2=Optionen,...</screen>
+
+ Die meisten Filter nehmen mehrere numerische, kommagetrennte
+ Optionen entgegen, jedoch variiert die Syntax der Optionen von
+ Filter zu Filter, also lies bitte die Manpage für Details
+ zu den Filtern, die du verwenden willst.
+ </para>
+
+ <para>
+ Filter wirken auf das Video in der Reihenfolge ein, in der sie geladen werden.
+ Zum Beispiel wird folgende Kette:
+
+ <screen>-vf crop=688:464:12:4,scale=640:464</screen>
+
+ zuerst den Bereich 688x464 aus dem Bild schneiden mit der oberen, linken
+ Ecke bei (12,4) und danach das Ergebnis auf 640x464 herunter skalieren.
+ </para>
+
+ <para>
+ Bestimmte Filter müssen zu oder nahe dem Anfang der Filterkette geladen
+ werden, um Vorteile aus den Informationen des Videodecoders zu ziehen,
+ die ansonsten durch andere Filter verloren gehen oder ungültig gemacht
+ würden.
+ Die wichtigsten Beispiele sind <option>pp</option>
+ (Nachbearbeitung (postprocessing), nur wenn es Deblock- oder
+ Dering-Operationen durchführt), <option>spp</option> (ein weiterer
+ Postprozessor zum Entfernen von MPEG-Artefakten), <option>pullup</option>
+ (umgekehrtes telecine) und <option>softpulldown</option> (zur Konvertierung
+ von soft telecine nach hard telecine).
+ </para>
+
+ <para>
+ Im Allgemeinen solltest du den Film so wenig wie möglich Filtern, um
+ nahe an der originalen DVD-Quelle zu bleiben. Ausschneiden ist oft
+ notwendig (wie oben beschrieben), vermeide aber das Skalieren von Videos.
+ Obwohl das Herunterskalieren manchmal vorgezogen wird, um höhere Quantisierer
+ zu verwenden, wollen wir beide diese Dinge vermeiden: Erinnere dich daran,
+ dass wir von Anfang an beschlossen hatten, einen Kompromiss zwischen
+ Bits und Qualität zu schließen.
+ </para>
+
+ <para>
+ Passe ebenso kein Gamma, Kontrast, Helligkeit, usw. an. Was auf deinem
+ Display gut aussieht, sieht auf anderen eventuell nicht gut aus. Diese
+ Anpassungen sollten nur im Playback vorgenommen werden.
+ </para>
+
+ <para>
+ Eine Sache, die du vielleicht machen willst, ist, das Video durch einen sehr
+ feinen Entrauschfilter (Denoise) zu schicken, wie etwa <option>-vf hqdn3d=2:1:2</option>.
+ Nochmals, es geht darum, die Bits einer besseren Verwendung zuzuführen: Warum
+ Bits zum Encodieren des Rauschens verschwenden, wenn du dieses Rauschen auch
+ während des Playback entfernen kannst?
+ Die Parameter für <option>hqdn3d</option> zu erhöhen, wird überdies
+ die Komprimierbarkeit erhöhen, erhöhst du jedoch die Werte zu sehr, riskierst Du
+ eine Verringerung der Bildsichtbarkeit. Die oben vorgeschlagenen Werte
+ (<option>2:1:2</option>) sind ziemlich konservativ; du solltest dich frei
+ fühlen, mit höheren Werten herumzuexperimentieren und die Ergebnisse
+ selbst zu beobachten.
+ </para>
+
+ </sect2>
+
+
+ <sect2 id="menc-feat-dvd-mpeg4-interlacing">
+ <title>Interlacing und Telecine</title>
+
+ <para>
+ Nahezu alle Filme sind bei 24 fps aufgenommen. Weil NTSC 30000/1001 fps entspricht,
+ müssen mit diesen 24 fps Videos einige Verarbeitungen durchgeführt werden,
+ um sie mit der korrekten NTSC-Framerate laufen zu lassen. Der Prozess wird 3:2
+ pulldown genannt, allgemein telecine zugeordnet (weil pulldown des öfteren
+ während des telecine-Prozesses angewandt wird), und naiv so beschrieben,
+ dass er durch Verlangsamung des Films auf 24000/1001 fps und dem
+ Wiederholen jeden vierten Frames arbeitet.
+ </para>
+
+ <para>
+ Keine spezielle Verarbeitung ist jedoch bei einem Video für PAL-DVDs
+ durchzuführen, das bei 25 fps läuft. (Technisch gesehen kann PAL telecined
+ werden, 2:2 pulldown genannt, dies ist jedoch in der Praxis nicht von Bedeutung.)
+ Der 24 fps Film wird einfach mit 25 fps abgespielt. Das Resultat ist, dass
+ der Film ein wenig schneller abläuft, doch solange du kein Alien bist, wirst
+ du möglicherweise keinen Unterschied wahrnehmen.
+ Die meisten PAL-DVDs haben pitch-korrigiertes Audio, dadurch hören sie sich
+ bei 25 fps abgespielt korrekt an, obwohl der Audiotrack (und infolgedessen der
+ gesamte Film) eine 4% kürzere Abspielzeit hat wie NTSC-DVDs.
+ </para>
+
+ <para>
+ Weil das Video in einer PAL-DVD nicht verändert wurde, musst du dich nicht
+ viel um die Framerate sorgen. Die Quelle ist 25 fps und dein Rip wird 25
+ fps haben. Wenn du jedoch einen NTSC-DVD-Film rippst, musst du eventuell
+ umgekehrtes telecine anwenden.
+ </para>
+
+ <para>
+ Für mit 24 fps aufgenommene Filme ist das Video auf der NTSC-DVD entweder telecined
+ 30000/1001 oder hat andernfalls progressive 24000/1001 fps und es ist vorgesehen,
+ on-the-fly vom DVD-Player telecined zu werden. Auf der anderen Seite sind TV-Serien
+ üblicherweise nur interlaced, nicht telecined. Dies ist keine feste Regel: Einige
+ TV-Serien sind interlaced (wie etwa Buffy die Vampirjägerin), wogegen andere
+ eine Mixtur aus progressive und interlaced sind (so wie Angel oder 24) - wers kennt :).
+ </para>
+
+ <para>
+ Es wird strengstens empfohlen, die Sektion über
+ <link linkend="menc-feat-telecine">Wie mit telecine und interlacing in NTSC-DVDs umgehen</link>
+ durchzulesen, um den Umgang mit den verschiedenen Möglichkeiten zu lernen.
+ </para>
+
+ <para>
+ Wenn du aber hauptsächlich nur Filme rippst, gehst du wahrscheinlich entweder
+ mit 24 fps progressivem oder telecined Video um, in welchem Falle du
+ den Filter <option>pullup</option> mittels <option>-vf pullup,softskip</option>
+ verwenden kannst.
+ </para>
+
+ </sect2>
+
+ <sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced">
+ <title>Interlaced Video encodieren</title>
+
+ <para>
+ Ist der Film, den du encodieren willst, interlaced (NTSC-Video oder
+ PAL-Video), wirst du wählen müssen, ob du ihn deinterlacen willst
+ oder nicht.
+ Während das Deinterlacing deinen Film zwar auf progressiven Scan-Displays
+ wie Computermonitoren und Projektoren verwendbar macht, wird dich dies
+ doch etwas kosten: Die Feldrate von 50 oder 60000/1001 Feldern pro Sekunde
+ wird auf 25 oder 30000/1001 Frames pro Sekunde halbiert und annähernd die
+ Hälfte der Informationen in deinem Film geht während Szenen mit
+ signifikanter Bewegung verloren.
+ </para>
+
+ <para>
+ Deswegen wird empfohlen, wenn du aus Gründen hochqualitativer
+ Archivierung encodierst, kein Deinterlacing durchzuführen.
+ Du kannst den Film immer noch beim Playback deinterlacen,
+ wenn du ihn auf progressiven Scan-Geräten anzeigst. Und zukünftige
+ Player werden in der Lage sein, auf volle Feldrate zu
+ deinterlacen, mit Interpolation auf 50 oder 60000/1001 komplette
+ Frames pro Sekunde aus interlaced Video heraus.
+ </para>
+
+ <para>
+ Spezielle Sorgfalt solltest du bei der Arbeit mit interlaced Video walten lassen:
+ </para>
+
+ <orderedlist>
+ <listitem>
+ <para>
+ Ausschneidehöhe und y-Offset müssen Vielfache von 4 sein.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Jedes vertikale Skalieren muss im interlaced Modus durchgeführt werden.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Nachbearbeitungs- (postprocessing) und Rauschunterdrückungsfilter (denoising)
+ funktionieren eventuell nicht wie erwartet, wenn du nicht speziell darauf achtest,
+ dass sie zu einem Zeitpunkt nur ein Feld verarbeiten, und sie können das Video
+ kaputt machen, wenn sie inkorrekt angewendet werden.
+ </para>
+ </listitem>
+ </orderedlist>
+
+ <para>
+ Mit diesen Dingen im Kopf, hier das erste Beispiel:
+ </para>
+<screen>mencoder <replaceable>capture.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \
+vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224</screen>
+ <para>
+ Beachte die Optionen <option>ilme</option> und <option>ildct</option>.
+ </para>
+ </sect2>
+
+
+ <sect2 id="menc-feat-dvd-mpeg4-av-sync">
+ <title>Anmerkungen zur Audio-/Videosynchronisation</title>
+ <para>
+ <application>MEncoder</application>s Algorithmen der Audio-/Videosynchronisation
+ wurden mit der Intention entwickelt, Dateien mit kaputter Sychronisation wieder herzustellen.
+ In einigen Fällen können unnötiges Überspringen und Duplizieren
+ von Frames und möglicherweise leichte A/V-Desynchronisation verursachen, auch wenn sie
+ mit dem richtigen Input verwendet werden
+ (gewiss, Probleme mit A/V-Synchronisation treffen nur zu, wenn du den Audiotrack während
+ der Transcodierung des Videos verarbeitest oder kopierst, wozu auch nachhaltig
+ ermutigt wird).
+ Hierfür müsstest du mit der Option <option>-mc 0</option> in die
+ Grundeinstellung der A/V-Synchronisation wechseln oder diese in deine
+ <systemitem>~/.mplayer/mencoder</systemitem> Konfigurationsdatei eintragen,
+ solange du ausschließlich mit guten Quellen arbeitest (DVD, TV-Capture,
+ hochqualitativen MPEG-4-Rips usw.) und mit nicht-kaputten ASF/RM/MOV-Dateien.
+ </para>
+ <para>
+ Wenn du dich überdies gegen merkwürdige Frameübersprünge und -duplikationen
+ absichern willst, kannst du beides verwenden, <option>-mc 0</option>
+ und <option>-noskip</option>.
+ Dies verhindert <emphasis>jede</emphasis> A/V-Synchronisation und kopiert die Frames
+ eins-zu-eins, somit kannst du sie nicht verwenden, falls du irgendwelche Filter
+ verwendest, die unvorhersagbar Frames hinzufügen oder streichen oder falls
+ deine Input-Datei eine variable Framerate besitzt!
+ Deshalb wird eine allgemeine Anwendung von <option>-noskip</option> nicht empfohlen.
+ </para>
+ <para>
+ Die von <application>MEncoder</application> unterstützte sogenannte
+ &quot;3-pass&quot; Audioencodierung soll laut Berichten A/V-Desynchronisation
+ verursachen.
+ Dies geschieht definitiv dann, wenn sie in Verbindung mit bestimmten Filtern
+ verwendet wird, daher wird <emphasis>nicht</emphasis> empfohlen, den
+ 3-pass-Audio-Modus anzuwenden.
+ Dieses Feature ist nur aus Kompatibilitätsgründen übrig geblieben und für
+ erfahrene Benutzer, die wissen, wann es sicher anzuwenden ist und wann nicht.
+ Wenn du zuvor noch nie etwas vom 3-pass-Modus gehört hast, vergiss, dass wir es je
+ erwähnt haben!
+ </para>
+ <para>
+ Es gab auch Berichte über A/V-Desynchronisation, wenn
+ mit <application>MEncoder</application> von stdin encodiert wurde.
+ Lass das bleiben! Verwende immer eine Datei oder ein CD/DVD/usw-Laufwerk
+ als Input.
+ </para>
+ </sect2>
+
+ <sect2 id="menc-feat-dvd-mpeg4-codec">
+ <title>Auswahl des Videocodecs</title>
+
+ <para>
+ Welcher Videocodec die beste Wahl ist, hängt von mehreren Faktoren
+ wie Größe, Qualität, Streambarkeit, Brauchbarkeit und Popularität, manche
+ davon weitgehend vom persönlichen Geschmack und technischen
+ Randbedingungen ab.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis role="bold">Kompressionseffizienz</emphasis>:
+ Es ist leicht zu verstehen, dass die meisten Codecs der neueren Generation
+ dafür gemacht wurden, Qualität und Komprimierung zu verbessern.
+ Deshalb behauptet der Autor dieses Handbuches und viele andere Leute, dass
+ du nichts verkehrt machen kannst,
+ <footnote id='fn-menc-feat-dvd-mpeg4-codec-cpu'>
+ <para>Sei trotzdem vorsichtig: MPEG-4 AVC-Videos in DVD-Auflösung zu
+ decodieren erfordert einen schnellen Rechner (z.B. einen Pentium 4
+ über 1.5Ghz oder einen Pentium M über 1Ghz).
+ </para>
+ </footnote>
+ wenn du MPEG-4 AVC-Codecs wie
+ <systemitem class="library">x264</systemitem> anstatt MPEG-4 ASP-Codecs
+ wie <systemitem class="library">libavcodec</systemitem> MPEG-4 oder
+ <systemitem class="library">XviD</systemitem> wählst.
+ (Zukunftsorientierte Codec-Entwickler interessiert eventuell Michael
+ Niedermayers Meinung
+ &quot;<ulink url="http://guru.multimedia.cx/?p=10">why MPEG4-ASP sucks</ulink>&quot;
+ zu lesen.)
+ Ebenso solltest du mit MPEG-4 ASP eine bessere Qualität erhalten als mit
+ MPEG-2-Codecs.
+ </para>
+ <para>
+ Allerdings können neuere Codecs, die noch stark in der Entwicklung stecken,
+ unter unentdeckten Bugs leiden, die die Encodierung ruinieren können.
+ Dies nimmt man schlicht in Kauf, wenn man "bleeding edge"-Technologie
+ verwendet.
+ </para>
+ <para>
+ Außerdem erfordert der Umgang mit einem neuen Codec und sich mit dessen Optionen
+ vertraut zu machen eine Zeit, bis du weißt, was alles anzupassen
+ ist, um die erhoffte Bildqualität zu erreichen.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Hardware-Kompatibilität</emphasis>:
+ Gewöhnlich dauert es bei neuen standalone Video-Playern lange, bis der
+ Support für die neuesten Videocodecs eingebunden ist.
+ Als ein Ergebnis unterstützen die meisten nur MPEG-1 (wie VCD, XVCD
+ und KVCD), MPEG-2 (wie DVD, SVCD und KVCD) und MPEG-4 ASP (wie DivX,
+ LMP4 von <systemitem class="library">libavcodec</systemitem> und
+ <systemitem class="library">XviD</systemitem>)
+ (Vorsicht: Im Allgemeinen werden nicht alle MPEG-4 ASP-Features unterstützt).
+ Sieh bitte in den technischen Spezifikationen deines Players nach (falls
+ welche vorhanden sind) oder google nach mehr Informationen.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Beste Qualität pro Encodierzeit</emphasis>:
+ Codecs, die es schon einige Zeit gibt (wie
+ <systemitem class="library">libavcodec</systemitem> MPEG-4 und
+ <systemitem class="library">XviD</systemitem>), sind gewöhnlich heftig
+ mit allen möglichen intelligenten Algorithmen und SIMD Assembly-Code optimiert.
+ Das sind sie deshalb, weil sie darauf abzielen, das beste Verhältnis von Qualität
+ pro Encodierzeit zu liefern.
+ Jedoch haben sie oft einige sehr fortschrittliche Optionen, die,
+ wenn aktiviert, das Encodieren bei marginalem Gewinn wirklich langsam
+ machen.
+ </para>
+ <para>
+ Wenn du es auf die Wahnsinnsgeschwindigkeit abzielst, solltest du
+ in der Nähe der Standardeinstellungen des Videocodecs bleiben
+ (obwohl du ruhig weitere Optionen ausprobieren solltest, die in
+ anderen Sektionen dieses Handbuchs angesprochen werden).
+ </para>
+ <para>
+ Vielleicht überlegst du auch, einen Codec auszuwählen, der mit
+ Multi-Threading klarkommt, was nur für Benutzer von Rechnern
+ mit mehreren CPUs von Nutzen ist.
+ <systemitem class="library">libavcodec</systemitem> MPEG-4 erlaubt
+ dies zwar, aber die Geschwindigkeitsgewinne sind begrenzt und es gibt
+ einen leicht negativen Effekt in Bezug auf die Bildqualität.
+ Die Multi-Thread-Encodierung von <systemitem class="library">XviD</systemitem>,
+ durch die Option <option>threads</option> aktiviert, kann zum Ankurbeln
+ der Encodiergeschwindigkeit - um in typischen Fällen etwa 40-60% -
+ bei wenn überhaupt geringer Bildverschlechterung verwendet werden.
+ <systemitem class="library">x264</systemitem> erlaubt ebenfalls
+ Multi-Thread-Encodierung, was im Moment das Encodieren um 15-30% beschleunigt
+ (abhängig von den Encodier-Einstellungen) bei gleichzeitiger Verringerung des
+ PSNR um etwa 0.05dB.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Persönlicher Geschmack</emphasis>:
+ Hier beginnt die Angelegenheit oft irrational zu werden: Aus den selben
+ Gründen, aus denen manche über Jahre an DivX 3 hängen, während neuere
+ Codecs bereits Wunder wirken, ziehen einige Leute
+ <systemitem class="library">XviD</systemitem>
+ oder <systemitem class="library">libavcodec</systemitem> MPEG-4 dem
+ <systemitem class="library">x264</systemitem> vor.
+ </para>
+ <para>
+ Du solltest dir dein eigenes Urteil bilden; lass dich nicht von Leuten
+ vollquasseln, die auf den einen Codec schwören.
+ Nimm ein paar Beispiel-Clips von Originalquellen und vergleiche die
+ verschiedenen Encodier-Optionen und Codecs, um den einen zu finden, mit
+ dem du am besten klarkommst.
+ Der beste Codec ist der, den du beherrschst und der in deinen Augen
+ auf deinem Display am besten aussieht.
+ <footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'>
+ <para>Dieselbe Encodierung kann auf dem Monitor eines anderen vollkommen
+ anders aussehen oder wenn sie von einem anderen Decoder abgespielt wird,
+ also mach deine Encodierungen zukunftssicher indem du sie unter verschiedenen
+ Setups ablaufen lässt.</para></footnote>!
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ Sieh dazu bitte in der Sektion
+ <link linkend="menc-feat-selecting-codec">Auswahl der Codecs und Containerformate</link>
+ nach der Liste der unterstützten Codecs.
+ </para>
+ </sect2>
+
+ <sect2 id="menc-feat-dvd-mpeg4-audio">
+ <title>Audio</title>
+
+ <para>
+ Audio ist ein leichter zu lösendes Problem: Wenn du Wert auf Qualität legst,
+ lass es einfach so wie es ist.
+ Gerade AC3 5.1 Streams sind meist 448Kbit/s und jedes Bit wert.
+ Möglicherweise gerätst du in Versuchung, Audio in hochwertiges Vorbis
+ umzuwandeln, aber nur weil du heute keinen A/V-Receiver für AC3-pass-through
+ besitzt, bedeutet dies nicht, dass du nicht morgen doch einen hast.
+ Halte deine DVD-Rips zukunftssicher, indem du den AC3-Stream beibehältst.
+ Du behältst den AC3-Stream entweder, indem du ihn
+ <link linkend="menc-feat-mpeg4">während der Encodierung</link>
+ direkt in den Video-Stream kopierst.
+ Du kannst den AC3-Stream aber auch extrahieren, um ihn in Container wie NUT
+ oder Matroska zu muxen.
+ <screen>mplayer <replaceable>source_file.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>sound.ac3</replaceable></screen>
+ dumpt Audiotrack Nummer 129 aus der Datei <replaceable>source_file.vob</replaceable>
+ (NB: DVD-VOB-Dateien verwenden gewöhnlich andere Audionummerierungen,
+ was bedeutet, dass der VOB-Audiotrack 129 der 2-te Audiotrack der Datei ist)
+ in die Datei <replaceable>sound.ac3</replaceable>.
+ </para>
+
+ <para>
+ Aber manchmal hast du wirklich keine andere Wahl als den Sound weiter zu
+ komprimieren, sodass mehr Bits fürs Video aufgewendet werden können.
+ Die meisten Leute entscheiden sich für eine Audiokomprimierung mit MP3- oder
+ Vorbis-Audiocodecs.
+ Wobei letzterer ein sehr platzsparender Codec ist, MP3 wird von Hardware-Playern
+ besser unterstützt, wobei sich dieser Trend auch ändert.
+ </para>
+
+ <para>
+ Verwende <emphasis>nicht</emphasis> <option>-nosound</option> beim Encodieren
+ einer Datei, die Audio enhält, sogar wenn du Audio später separat
+ encodierst und muxt.
+ Zwar kann es im Idealfall manchmal funktionieren, wenn du <option>-nosound</option>
+ verwendest, wahrscheinlich um einige Probleme in deinen
+ Encodier-Befehlszeileneinstellungen zu verbergen.
+ In anderen Worten, einen Soundtrack während dem Encodieren zu haben, stellt sicher,
+ vorausgesetzt du siehst keine Meldungen wie
+ <quote>Too many audio packets in the buffer</quote>, dass du in der Lage sein
+ wirst, eine korrekte Synchronisation zu erhalten.
+ </para>
+
+ <para>
+ Du brauchst <application>MEncoder</application> zur Verarbeitung des Sounds.
+ Du kannst zum Beispiel den originalen Soundtrack während dem Encodieren mit
+ <option>-oac copy</option> kopieren oder ihn mittels
+ <option>-oac pcm -channels 1 -srate 4000</option> in eine &quot;leichte&quot;
+ 4 kHz Mono WAV-PCM konvertieren.
+ Anderenfalls wird er - in einigen Fällen - eine Videodatei erzeugen, die
+ nicht mit Audio synchron läuft.
+ So was kommt vor, wenn die Anzahl der Videoframes in der Quelldatei nicht
+ mit der Gesamtlänge der Audioframes zusammenpasst oder immer dann, wenn
+ Unstetigkeiten/Splices vorhanden sind, wo Audioframes oder extra Audioframes
+ fehlen.
+ Der korrekte Weg, mit dieser Art Problem umzugehen, ist Stille (silence)
+ einzufügen oder Audio an diesen Punkten wegzuschneiden.
+ Seis drum, <application>MPlayer</application> kann das nicht, also wenn du
+ AC3-Audio demuxt und es in einer separaten Anwendung encodierst (oder
+ es mit <application>MPlayer</application> in eine PCM dumpst), die Splices
+ bleiben inkorrekt und der einzige Weg sie zu korrigieren ist, Videoframes
+ an diesem Splice zu streichen bzw. zu duplizieren.
+ Solange <application>MEncoder</application> Audio beim Encodieren des
+ Videos sieht, kann er dieses Streichen/Duplizieren erledigen, was
+ gewöhnlich OK ist, da es bei voller Schwärze/Szenenwechsel stattfindet,
+ aber wenn <application>MEncoder</application> Audio nicht erkennen kann,
+ wird er einfach alle Frames so wie sie ankommen verarbeiten und sie werden
+ einfach nicht zum endgültigen Audiostream passen, wenn du beispielsweise
+ deinen Audio- und Videotrack in eine Matroska-Datei mergst.
+ </para>
+
+ <para>
+ Zuallererst wirst du den DVD-Sound in eine WAV-datei konvertieren müssen, die
+ der Audiocodec als Input nutzen kann.
+ Zum Beispiel:
+ <screen>mplayer <replaceable>source_file.vob</replaceable> -ao pcm:file=<replaceable>destination_sound.wav</replaceable> -vc dummy -aid 1 -vo null</screen>
+ wird den zweiten Audiotrack aus der Datei <replaceable>source_file.vob</replaceable>
+ in die Datei <replaceable>destination_sound.wav</replaceable> dumpen.
+ Vielleicht willst du den Sound vor dem Encodieren normalisieren, da
+ DVD-Audiotracks gemeinhin bei niedriger Lautstärke aufgenommen sind.
+ Du kannst beispielsweise das Tool <application>normalize</application> verwenden,
+ das in den meisten Distributionen zur Verfügung steht.
+ Wenn du Windows nutzt, kann ein Tool wie <application>BeSweet</application>
+ denselben Job erledigen.
+ Du wirst entweder nach Vorbis oder MP3 komprimieren.
+ Zum Beispiel:
+ <screen>oggenc -q1 <replaceable>destination_sound.wav</replaceable></screen>
+ wird <replaceable>destination_sound.wav</replaceable> mit
+ der Encodierqualität 1 encodieren, was annähernd 80Kb/s ergibt und
+ die Minimalqualität darstellt, mit der du encodieren solltest, wenn du
+ Wert auf Qualität legst.
+ Nimm bitte zur Kenntnis, dass MEncoder aktuell keine Vorbis-Audiotracks
+ in die Output-Datei muxen kann, da er nur AVI- und MPEG-Container als
+ Output unterstützt, wobei es beim Audio-/Videoplayback zu
+ Synchronisationproblemen mit einigen Playern führen wird, wenn die AVI-Datei
+ VBR-Audiostreams wie z.B. Vorbis enthält.
+ Keine Bange, dieses Dokument wird dir zeigen, wie du das mit
+ Third-Party-Programmen hinbekommst.
+ </para>
+
+ </sect2>
+
+
+ <sect2 id="menc-feat-dvd-mpeg4-muxing">
+ <title>Muxen</title>
+ <para>
+ Nun da du dein Video encodiert hast, wirst du es höchstwahrscheinlich
+ mit einem oder mehr Audiotracks in einen Movie-Container wie etwa
+ AVI, MPEG, Matroska oder NUT muxen.
+ <application>MEncoder</application> ist aktuell nur in der Lage,
+ Audio und Video nativ in MPEG- und AVI-Containerformate auszugeben.
+ Zum Beispiel:
+ <screen>mencoder -oac copy -ovc copy -o <replaceable>output_movie.avi</replaceable> -audiofile <replaceable>input_audio.mp2</replaceable> <replaceable>input_video.avi</replaceable></screen>
+ würde die Video-Datei <replaceable>input_video.avi</replaceable>
+ und die Audio-Datei <replaceable>input_audio.mp2</replaceable>
+ in die AVI-Datei <replaceable>output_movie.avi</replaceable> mergen.
+ Dieser Befehl funktioniert mit MPEG-1 Layer I, II und III Audio (eher
+ bekannt als MP3), WAV und auch mit ein paar weiteren Audioformaten.
+ </para>
+
+ <para>
+ MEncoder zeichnet sich aus durch experimentellen Support für
+ <systemitem class="library">libavformat</systemitem>, das eine
+ Programmbibliothek des FFmpeg-Projekts ist, welches das Muxen und
+ Demuxen einer Vielzahl von Containern unterstützt.
+ Zum Beispiel:
+ <screen>mencoder -oac copy -ovc copy -o <replaceable>output_movie.asf</replaceable> -audiofile <replaceable>input_audio.mp2</replaceable> <replaceable>input_video.avi</replaceable> -of lavf -lavfopts format=asf</screen>
+ wird das selbe machen, wie das obere Beispiel, außer dass der
+ Output-Container ASF sein wird.
+ Bitte nimm zur Kenntnis, dass dieser Support hochexperimentell ist
+ (aber von Tag zu Tag besser wird) und nur funktionieren wird, wenn du
+ <application>MPlayer</application> mit aktiviertem Support für
+ <systemitem class="library">libavformat</systemitem> kompiliert
+ hast (was meint, dass eine Pre-Packaged Binary Version in den meisten
+ Fällen nicht funktionieren wird).
+ </para>
+
+
+ <sect3 id="menc-feat-dvd-mpeg4-muxing-filter-issues">
+ <title>Verbessern der Mux- und A/V-Synchronisationszuverlässigkeit</title>
+ <para>
+ Es kann vorkommen, dass du ernsthafte A/V-Synchronisationsprobleme hast während
+ du versuchst, deine Video- und einige Audiotracks zu muxen, wobei es nichts
+ ändert, wenn du das Audiodelay anpasst, du bekommst nie eine korrekte
+ Synchronisation zu Stande.
+ Dies kann vorkommen, wenn du manche Videofilter verwendest, die einige Frames
+ weglassen oder duplizieren, wie etwa die inverse telecine-Filter.
+ ich kann dich nur dazu ermutigen, den <option>harddup</option>-Videofilter
+ ans Ende der Filterkette anzuhängen, um solcherlei Problemen aus dem Weg
+ zu gehen.
+ </para>
+
+ <para>
+ Ohne <option>harddup</option> verlässt sich <application>MEncoder</application>,
+ wenn er einen Frame duplizieren will, darauf, dass der Muxer eine Marke auf den
+ Container setzt, sodass der letzte Frame nochmals angezeigt wird, um
+ während des Schreibens des aktuellen Frames synchron zu bleiben.
+ Mit <option>harddup</option> wird <application>MEncoder</application>
+ statt dessen einfach den zuletzt angezeigten Frame nochmal in die Filterkette
+ einschieben.
+ Dies bedeutet, dass der Encoder <emphasis>exakt</emphasis> denselben Frame
+ zweimal entgegen nimmt und komprimiert.
+ Dies ergibt eine etwas größere Datei, verursacht jedoch keine Probleme
+ beim Demuxen oder Remuxen in ein anderes Containerformat.
+ </para>
+
+ <para>
+ Du kommst auch nicht um den Einsatz von <option>harddup</option> im
+ Zusammenhang mit Containerformaten herum, die nicht allzu fest mit
+ <application>MEncoder</application> verlinkt sind, wie etwa diejenigen,
+ welche von <systemitem class="library">libavformat</systemitem> unterstützt
+ werden, der keine Frameduplikation auf Container-Level unterstützt.
+ </para>
+ </sect3>
+
+
+ <sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations">
+ <title>Limitierungen des AVI-Containers</title>
+ <para>
+ Obwohl es das am breitesten unterstützte Containerformat nach MPEG-1 ist,
+ besitzt AVI auch einige gravierende Nachteile.
+ Der vielleicht offensichtlichste ist der Overhead.
+ Für jeden Block der AVI-Datei werden 24 Byte auf Header und Indizes
+ verschwendet.
+ Dies heißt übersetzt etwas mehr als 5 MB pro Stunde oder 1-2.5%
+ Overhead für einen 700 MB Film. Das sieht nicht nach viel aus, könnte aber
+ die Differenz zwischen einem Video mit 700 KBit/Sek oder 714 KBit/Sek
+ bedeuten, und jedes bisschen mehr an Qualität zählt.
+ </para>
+
+ <para>
+ Zu dieser schockierenden Ineffizienz kommen bei AVI noch folgende
+ wesentlichen Einschränkungen:
+ </para>
+
+ <orderedlist>
+ <listitem>
+ <para>
+ Nur Inhalt mit festen fps kann gespeichert werden. Dies ist insbesondere
+ dann einschränkend, wenn das Originalmaterial, das du encodieren willst,
+ gemischter Inhalt ist, zum Beispiel ein Mix aus NTSC-Video und
+ Filmmaterial.
+ Eigentlich gibt es Hacks, die es ermöglichen, Inhalt mit gemischter
+ Framerate in einer AVI unterzubringen, diese vergrößern jedoch den
+ (ohnehin großen) Overhead fünffach oder mehr und sind somit ungeeignet.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Audio in AVI-Dateien muss entweder konstante Bitrate (CBR) oder
+ konstante Framegröße haben (also alle Frames decodieren zur selben Anzahl
+ Samples).
+ Unglücklicherweise erfüllt Vorbis, der effektivste Codec, keine dieser
+ Anforderungen.
+ Deshalb wirst du einen weniger effizienten Codec wie MP3 oder AC3 verwenden
+ müssen, wenn du planst, einen Film in AVI zu speichern.
+ </para>
+ </listitem>
+ </orderedlist>
+
+ <para>
+ Nachdem ich nun all dies erzählt habe, muss ich anmerken, momentan
+ unterstützt <application>MEncoder</application> keinen Output mit
+ variablen fps oder Vorbis-Encodierung.
+ Deswegen magst du dies nicht als Einschränkung ansehen, falls
+ <application>MEncoder</application> das einzige Tool ist, das du
+ nutzt, um deine Ecodierungen zu produzieren.
+ Es ist dennoch möglich, <application>MEncoder</application> nur zur
+ Videoencodierung zu verwenden und danach externe Tools, um Audio
+ zu encodieren und in ein anderes Containerformat zu muxen.
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-dvd-mpeg4-muxing-matroska">
+ <title>Muxen in den Matroska-Container</title>
+ <para>
+ Matroska ist ein freies, offenes Containerformat, das darauf abzielt,
+ eine Menge erweiterter Features bereitzustellen, mit denen ältere Container
+ wie AVI nicht umgehen können.
+ Zum Beispiel unterstützt Matroska Audioinhalt mit variabler Bitrate (VBR),
+ variable Frameraten (VFR), Kapitel, Dateianhänge,
+ Fehlererkennung Error Detection Code (EDC) und modern A/V-Codecs wie &quot;Advanced Audio
+ Coding&quot; (AAC), &quot;Vorbis&quot; oder &quot;MPEG-4 AVC&quot; (H.264), so gut wie nichts
+ womit AVI etwas anfangen kann.
+ </para>
+
+ <para>
+ Die zum Erzeugen von Matroska-Dateien erforderlichen Tools werden
+ zusammen <application>mkvtoolnix</application> genannt und stehen
+ für die meisten Unix-Plattformen wie auch <application>Windows</application>
+ zur Verfügung.
+ Weil Matroska ein offener Standard ist, findest du vielleicht andere
+ Tools, die sich besser für dich eignen, aber da mkvtoolnix das am meisten
+ Verbreitete ist und von Matroska selbst unterstützt wird, werden wir nur
+ dessen Anwendung einbeziehen.
+ </para>
+
+ <para>
+ Möglicherweise der einfachste Weg, mit Matroska anzufangen, ist
+ <application>MMG</application> zu verwenden, das grafische Frontend,
+ das mit <application>mkvtoolnix</application> daherkommt, und dem
+ <ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">guide to mkvmerge GUI (mmg)</ulink>
+ zu folgen.
+ </para>
+
+ <para>
+ Du kannst Audio und Video-Dateien auch per Befehlszeile muxen:
+ <screen>mkvmerge -o <replaceable>output.mkv</replaceable> <replaceable>input_video.avi</replaceable> <replaceable>input_audio1.mp3</replaceable> <replaceable>input_audio2.ac3</replaceable></screen>
+ würde die Video-Datei <replaceable>input_video.avi</replaceable>
+ und die zwei Audio-Dateien <replaceable>input_audio1.mp3</replaceable>
+ und <replaceable>input_audio2.ac3</replaceable> in die Matroska-Datei
+ <replaceable>output.mkv</replaceable> mergen.
+ Matroska, wie zuvor beschrieben, ist in der Lage, noch viel mehr als
+ das zu tun, wie etwa multiple Audiotracks (inklusive Feintuning der
+ Audio-/Videosynchronisation), Kapitel, Untertitel, Splitting, usw...
+ Sieh bitte in den Dokumentationen dieser Anwendungen nach mehr Details.
+ </para>
+
+ </sect3>
+
+ </sect2>
+
+ </sect1>
+
+ <sect1 id="menc-feat-telecine">
+ <title>Wie mit telecine und interlacing in NTSC-DVDs umgehen</title>
+
+ <sect2 id="menc-feat-telecine-intro">
+ <title>Einführung</title>
+ <formalpara>
+ <title>Was ist telecine?</title>
+ <para>
+ Wenn du nicht viel von dem verstehst, was in diesem Dokument beschrieben wird, lies den
+ <ulink url="http://en.wikipedia.org/wiki/Telecine">Wikipedia-Artikel über Telecine</ulink>.
+ Dies ist eine verständliche und einigermaßen umfassende
+ Beschreibung dessen, was telecine ist.
+ </para>
+ </formalpara>
+
+ <formalpara>
+ <title>Eine Anmerkung zu Zahlen</title>
+ <para>
+ Viele Dokumente, einschließlich des oben verlinkten Handbuchs, beziehen
+ sich auf den Wert Felder pro Sekunde von NTSC-Video als 59.94 und den
+ korrespondierenden Frames pro Sekunde als 29.97 (für telecined und
+ interlaced) und 23.976 (für progressiv). Zur Vereinfachung runden
+ manche dieser Dokumente sogar auf 60, 30 und 24 auf.
+ </para>
+ </formalpara>
+
+ <para>
+ Streng genommen sind alle diese Zahlen Näherungswerte. Das schwarz/weiße
+ NTSC-Video war exakt 60 Felder pro Sekunde, später wurde jedoch 60000/1001
+ gewählt, um die Farbdaten anzupassen, solange man gleichzeitig
+ zu Schwarz/weiß-Fernsehen kompatibel blieb. Digitales NTSC-Video
+ (so wie auf einer DVD) hat ebenfalls 60000/1001 Felder pro Sekunde. Hieraus
+ wird interlaced und telecined Video als 30000/1001 Frames pro Sekunde
+ enthaltend abgeleitet; progressive Video hat 24000/1001 Frames pro Sekunde.
+ </para>
+
+ <para>
+ Ältere Versionen der <application>MEncoder</application>-Dokumentation
+ und viele archivierten Posts in Mailing-Listen beziehen sich auf 59.94,
+ 29.97 und 23.976.
+ Alle <application>MEncoder</application>-Dokumentationen wurden insofern
+ aktualisiert, dass sie fraktionale Werte verwenden, und du solltest dies
+ auch tun.
+ </para>
+
+ <para>
+ <option>-ofps 23.976</option> ist inkorrekt.
+ <option>-ofps 24000/1001</option> sollte statt dessen benutzt werden.
+ </para>
+
+ <formalpara>
+ <title>Wie telecine angewandt wird</title>
+ <para>
+ Jedes Video, das zur Anzeige auf einem NTSC-Fernseh-Set vorgesehen ist,
+ muss 60000/1001 Felder pro Sekunde haben. Für TV-Filme und Shows
+ hergestellt sind sie häufig direkt mit 60000/1001 Feldern pro Sekunde
+ aufgenommen, die Mehrheit der Kinofilme jedoch mit 24 oder 24000/1001
+ Frames pro Sekunde. Wenn cinematische Movie-DVDs gemastert werden,
+ wird das Video danach fürs Fernsehen mittels eines telecine genannten
+ Prozesses konvertiert.
+ </para>
+ </formalpara>
+
+ <para>
+ Auf einer DVD wird das Video eigentlich nie als 60000/1001 Felder
+ pro Sekunde abgelegt. Für ein Video, das ursprünglich 60000/1001 war,
+ wird jedes Feldpaar zu einem Frame kombiniert, was dann 30000/1001
+ Frames pro Sekunde ergibt. Hardware-DVD-Player lesen dann ein im
+ Videostream eingebettetes Kennzeichen aus, um zu bestimmen, ob die gerade
+ oder ungerade nummerierten Zeilen das erste Feld formen sollen.
+ </para>
+
+ <para>
+ Üblicherweise bleibt ein Inhalt mit 24000/1001 Frames pro Sekunde
+ so wie er ist, wenn er für eine DVD encodiert wird, und der DVD-Player
+ muss das Telecining on-the-fly bewerkstelligen. Manchmal jedoch wird das
+ Video telecined <emphasis>bevor</emphasis> es auf der DVD gespeichert wird;
+ selbst wenn es ursprünglich 24000/1001 Frames pro Sekunde war, wird es
+ 60000/1001 Felder pro Sekunde. Wenn es auf der DVD gespeichert wird,
+ werden Feldpaare zu 30000/1001 Frames pro Sekunde kombiniert.
+ </para>
+
+ <para>
+ Wenn man das aus 60000/10001 Feldern pro Sekunde geformten Einzelframes
+ erzeugte Video betrachtet, ist telecined oder anderenfalls Interlacing
+ klar sichtbar woimmer Bewegung auftritt, da ein Feld (sagen wir, die
+ geradzahlig nummerierten Zeilen) einen Moment zur Zeit 1/(60000/1001) Sekunden
+ später als das andere repräsentiert. Spielt man ein interlaced Video auf
+ einem Computer ab, sehen beide hässlich aus, weil der Monitor eine höhere
+ Auflösung besitzt und weil das Video Frame für Frame anstatt Feld für Feld
+ angezeigt wird.
+ </para>
+
+ <itemizedlist>
+ <title>Anmerkungen</title>
+ <listitem>
+ <para>
+ Dieser Abschnitt gilt nur für NTSC-DVDs und nicht für PAL.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Die <application>MEncoder</application>-Beispielzeilen überall im
+ Dokument sind <emphasis role="bold">nicht</emphasis> zum
+ eigentlichen Gebrauch vorgesehen. Sie sind schlicht das bloße Minimum,
+ das zum Encodieren der betreffenden Videokategorie benötigt wird.
+ Wie mache ich gute DVD-Rips oder wie feintune ich
+ <systemitem class="library">libavcodec</systemitem> auf maximale
+ Qualität gehören nicht zum Umfang dieses Dokuments.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Es gibt ein paar Fußnoten speziell für dieses Handbuch, die so ähnlich
+ verlinkt sind:
+ <link linkend="menc-feat-telecine-footnotes">[1]</link>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2 id="menc-feat-telecine-ident">
+ <title>Wie kann man sagen, welchen Typ Video man hat</title>
+
+ <sect3 id="menc-feat-telecine-ident-progressive">
+ <title>Progressiv</title>
+ <para>
+ Progressive Video wurde ursprünglich mit 24000/1001 fps gefilmt und
+ ohne Änderung auf der DVD abgespeichert.
+ </para>
+
+ <para>
+ Wenn du eine progressive DVD in <application>MPlayer</application> abspielst,
+ wird <application>MPlayer</application> folgende Zeile ausgeben, sobald
+ das Abspielen des Films beginnt:
+
+ <screen> demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.</screen>
+
+ Von diesem Punkt an vorwärts sollte demux_mpg nie erzählen, es finde
+ &quot;30000/1001 fps NTSC content.&quot;
+ </para>
+
+ <para>
+ Wenn du progressives Video ankuckst, solltest du nie irgendein
+ Interlacing sehen. Sei trotzdem vorsichtig, weil manchmal ein winziges
+ bisschen telecine dort hineingemischt wurde, wo du es nicht erwartest.
+ Ich bin TV-Serien-DVDs begegnet, die eine Sekunde telecine bei jedem
+ Szenenwechsel haben oder an extrem zufälligen Stellen. Ich hatte mir einmal
+ eine DVD angesehen, die eine progressive erste Hälfte besaß, und die
+ zweite Hälfte war telecined. Willst du<emphasis>wirklich</emphasis>
+ gründlich sein, kannst du den kompletten Film scannen:
+
+ <screen>mplayer dvd://1 -nosound -vo null -benchmark</screen>
+
+ Das Verwenden von <option>-benchmark</option> veranlasst
+ <application>MPlayer</application>, den Film so schnell er es nur kann
+ abzuspielen; dies dauert je nach Hardware trotzdem noch eine
+ Weile. Jedesmal wenn demux_mpg einen Frameratenwechsel meldet, wird dir
+ die Zeile unmittelbar darüber die Zeit zeigen, bei welcher der Wechsel
+ auftrat.
+ </para>
+
+ <para>
+ Manchmal wird progressive Video auf DVDs
+ &quot;soft telecine&quot; zugeordnet, weil es dazu vorgesehen ist,
+ vom DVD-Player telecined zu werden.
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-telecine-ident-telecined">
+ <title>Telecined</title>
+ <para>
+ Telecined Video war ursprünglich mit 24000/1001 aufgenommen, wurde aber
+ telecined, <emphasis>bevor</emphasis> es auf die DVD geschrieben wurde.
+ </para>
+
+ <para>
+ <application>MPlayer</application> meldet keine (nie)
+ Frameratenwechsel, wenn er telecined Video abspielt.
+ </para>
+
+ <para>
+ Beim Betrachten eines telecined Videos wirst du Interlacing-Artefakte
+ sehen, die zu &quot;blinken&quot; scheinen: sie erscheinen wiederholt
+ und verschwinden wieder.
+ Du kannst dir das so genauer hinschauen
+ <orderedlist>
+ <listitem>
+ <screen>mplayer dvd://1</screen>
+ </listitem>
+ <listitem>
+ <para>
+ Suche einen Teil mit Bewegung.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Benutze die Taste <keycap>.</keycap>, um jeweils einen Frame vorwärts zu rücken.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Schau auf das Muster der interlaced und progressive aussehenden
+ Frames. Ist das Muster, das du siehst PPPII,PPPII,PPPII,... dann ist das
+ Video telecined. Siehst du andere Muster, dann wurde das Video womöglich
+ mittels einiger Nicht-Standard-Methoden telecined;
+ <application>MEncoder</application> kann ein Nicht-Standard-telecine
+ nicht verlustfrei nach progressive konvertieren. Siehst du überhaupt
+ keine Muster, ist es höchstwahrscheinlich interlaced.
+ </para>
+ </listitem>
+ </orderedlist>
+ </para>
+
+ <para>
+ Manchmal wird telecined Video auf DVDs &quot;hard telecine&quot;
+ zugeordnet. Da hard telecine bereits 60000/1001 Felder pro Sekunde hat,
+ spielt der DVD-Player das Video ohne irgendeine Manipulation ab.
+ </para>
+
+ <para>
+ Ein anderer Weg, zu sagen, ob deine Quelle telecined ist oder nicht,
+ ist die Quelle mit den Befehlszeilenoptionen <option>-vf pullup</option>
+ und <option>-v</option> abzuspielen, um nachzusehen, wie
+ <option>pullup</option> zu den Frames passt.
+ Ist die Quelle telecined, solltest du in der Befehlszeile ein 3:2 Muster
+ mit abwechselnd <systemitem>0+.1.+2</systemitem> und <systemitem>0++1</systemitem>
+ anzeigen.
+ Diese Technik hat den Vorteil, dass du die Quelle nicht zu beobachten
+ brauchst, um sie zu identifizieren, was von Nutzen sein könnte, falls du
+ den Encodiervorgang automatisieren willst oder besagte Prozedur ferngesteuert
+ mittels einer langsamen Verbindung vornehmen willst.
+ </para>
+
+ </sect3>
+
+ <sect3 id="menc-feat-telecine-ident-interlaced">
+ <title>Interlaced</title>
+ <para>
+ Interlaced Video wurde ursprünglich als 60000/1001 Felder pro Sekunde
+ aufgenommen und auf der DVD als 30000/1001 Frames pro Sekunde abgespeichert.
+ Der interlacing-Effekt (oft &quot;combing&quot; genannt) ist ein Ergebnis
+ von Kammpaaren von Feldern in Frames. Jedes Feld wird einzeln als
+ 1/(60000/1001) Sekunden angenommen, und wenn sie simultan angezeigt werden,
+ wird der Unterschied offensichtlich.
+ </para>
+
+ <para>
+ Wie bei telecined Video sollte <application>MPlayer</application> niemals
+ einen Frameratewechsel beim Abspielen des interlaced Inhalts melden.
+ </para>
+
+ <para>
+ Wenn du ein interlaced Video genau ansiehst, in dem du dich mit der Taste
+ <keycap>.</keycap> durch die Frames bewegst, wirst du sehen, dass
+ jeder einzelne Frame interlaced ist.
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-telecine-ident-mixedpt">
+ <title>Gemischtes progressive und telecine</title>
+ <para>
+ Alle &quot;gemischten progressive und telecine&quot; Videos wurden ursprünglich
+ als 24000/1001 Frames pro Sekunde aufgenommen, jedoch werden einige Teile
+ telecined beendet.
+ </para>
+
+ <para>
+ Spielt <application>MPlayer</application> diese Kategorie ab, wird er
+ (oft wiederholt) zwischen &quot;30000/1001 fps NTSC&quot;
+ und &quot;24000/1001 fps progressive NTSC&quot; zurück und vor wechseln.
+ Beobachte die untere Hälfte von <application>MPlayer</application>s Ausgabe,
+ um diese Meldungen anzusehen.
+ </para>
+
+ <para>
+ Du solltest die Sektion &quot;30000/1001 fps NTSC&quot; überprüfen, um
+ sicher zu gehen, dass sie auch wirklich telecine sind und nicht einfach
+ interlaced.
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-telecine-ident-mixedpi">
+ <title>Gemischtes progressive und interlaced</title>
+ <para>
+ In &quot;gemischtem progressive und interlaced&quot; Inhalt wurde progressive
+ und interlaced Video zusammengeklebt.
+ </para>
+
+ <para>
+ Diese Kategorie sieht aus wie &quot;gemischtes progressive und telecine&quot;,
+ bis du die Sektion 30000/1001 fps untersuchst und feststellst, dass
+ sie das telecine-Muster nicht haben.
+ </para>
+ </sect3>
+
+ </sect2>
+
+ <sect2 id="menc-feat-telecine-encode">
+ <title>Wie jede Kategorie encodieren</title>
+ <para>
+ Wie ich anfangs angemerkt hatte, sind die
+ <application>MEncoder</application>-Beispielzeilen unten eigentlich
+ <emphasis role="bold">nicht</emphasis> zur Anwendung bestimmt;
+ sie demonstrieren nur die Minimalparameter zur korrekten Encodierung
+ jeder Kategorie.
+ </para>
+
+ <sect3 id="menc-feat-telecine-encode-progressive">
+ <title>Progressive</title>
+ <para>
+ Progressive Video erfordert kein spezielles Filtern, um es zu encodieren.
+ Der einzige Parameter, den du gewiss anwenden solltest ist
+ <option>-ofps 24000/1001</option>. Andernfalls wird
+ <application>MEncoder</application> versuchen, bei 30000/1001 fps
+ zu encodieren und Frames duplizieren.
+ </para>
+
+ <para>
+ <screen>mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001</screen>
+ </para>
+
+ <para>
+ Dennoch ist es öfters der Fall, dass ein Video, das progressive aussieht,
+ eigentlich kurze Teile telecine eingemischt hat. Solange du dir nicht
+ sicher bist, ist es am sichersten, das Video als
+ <link linkend="menc-feat-telecine-encode-mixedpt">gemischtes progressive und telecine</link>.
+ zu behandeln. Der Performance-Verlust ist gering
+ <link linkend="menc-feat-telecine-footnotes">[3]</link>.
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-telecine-encode-telecined">
+ <title>Telecined</title>
+ <para>
+ Telecine kann umgekehrt werden, um den originalen 24000/1001-Inhalt zu erhalten,
+ indem man einen Prozess verwendet, der inverse-telecine genannt wird.
+ <application>MPlayer</application> enthält verschiedene Filter, um dies
+ zu erreichen; der beste Filter, <option>pullup</option> wird in der Sektion
+ <link linkend="menc-feat-telecine-encode-mixedpt">Gemischtes progressive und telecine</link>
+ beschrieben.
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-telecine-encode-interlaced">
+ <title>Interlaced</title>
+ <para>
+
+ In den meisten praktischen Fällen ist es nicht möglich, ein komplett
+ progressives Video aus interlaced Inhalt zu erhalten. Der einzige Weg,
+ dies ohne den Verlust der Hälfte der vertikalen Auflösung zu erreichen,
+ ist das Verdoppeln der Framerate, und man kann versuchen zu
+ &quot;schätzen&quot;, wie die korrespondierenden Zeilen für jedes Feld
+ vervollständigt werden sollten (dies hat Nachteile - siehe Methode 3).
+ </para>
+
+ <orderedlist>
+ <listitem>
+ <para>
+ Das Video in interlaced Form encodieren. Normalerweise richtet Interlacing
+ verheerenden Schaden für die Fähigkeit des Encoders an, gut zu komprimieren,
+ <systemitem class="library">libavcodec</systemitem> hat jedoch zwei
+ eigens für das ein wenig bessere Abspeichern von interlaced Video gedachte
+ Parameter: <option>ildct</option> und <option>ilme</option>. Auch wenn
+ die Verwendung von <option>mbd=2</option> dringend zu empfehlen ist
+ <link linkend="menc-feat-telecine-footnotes">[2]</link>, weil es
+ Macroblöcke wie nicht-interlaced an Stellen encodiert, an denen keine Bewegung
+ stattfindet. Beachte, dass <option>-ofps</option> hier NICHT notwendig ist.
+
+ <screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Nutze einen Deinterlacing-Filter vor dem Encodieren. Es stehen verschiedene
+ dieser Filter zur Auswahl, jeder mit seinen eigenen Vor-
+ und Nachteilen. Ziehe <option>mplayer -pphelp</option> zu Rate, um zu sehen, welche
+ verfügbar sind (suche nach &quot;deint&quot;) und durchsuche die
+ <ulink url="http://www.mplayerhq.hu/design7/info.html#mailing_lists">
+ MPlayer-Mailinglisten</ulink>, um Diskussionen über die zahlreichen Filter
+ zu finden. Nochmals, die Framerate wechselt nicht, also kein
+ <option>-ofps</option>. Deinterlacing sollte außerdem nach dem Zuschneiden
+ (cropping) <link linkend="menc-feat-telecine-footnotes">[1]</link>
+ und vor dem Skalieren angewandt werden.
+
+ <screen>mencoder dvd://1 -oac copy -vf pp=lb -ovc lavc</screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Unglücklicherweise arbeitet diese Option im Zusammenhang mit
+ <application>MEncoder</application> fehlerhaft; sie sollte mit
+ <application>MEncoder G2</application> gut funktionieren, den gibts aber
+ noch nicht. Du könntest Abstürze erleben. Seis drum, der Zweck von
+ <option> -vf tfields</option> ist es, einen vollen Frame aus jedem Feld
+ zu erzeugen, was eine Framerate von 60000/1001 ergibt. Der Vorteil dieses
+ Lösungsansatzes ist, dass nie irgendwelche Daten verloren gehen;
+ dennoch, da jeder Frame aus nur einem Feld kommt, müssen die fehlenden Zeilen
+ irgendwie interpoliert werden. Es gibt keine sehr guten Methoden, die
+ fehlenden Daten zu generieren, und so wird das Resultat ein bisschen aussehen,
+ als hätte man irgendeinen Deinterlacing-Filter verwendet. Die fehlenden Zeilen
+ zu generieren erzeugt auch weitere Probleme, einfach weil sich die Menge
+ an Daten verdoppelt. Somit sind höhere Encodier-Bitraten nötig, um
+ die Qualität beizubehalten und mehr CPU-Power wird für beides,
+ Encodieren und Decodieren, aufgewendet. Das Attribut tfields hat mehrere
+ verschiedene Optionen dafür, wie die fehlenden Zeilen jedes Frames erzeugt
+ werden.
+ Wenn du diese Methode nutzt, dann nimm Bezug auf das Handbuch und wähle,
+ welche Option auch immer am besten für dein Material aussieht.
+ Beachte, dass du wenn <option>tfields</option> verwendet wird,
+ sowohl <option>-fps</option> als auch <option>-ofps</option>spezifizieren <emphasis role="bold">musst</emphasis>,
+ um die doppelte Framerate der originalen Quelle zu erhalten.
+
+ <screen>mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc -fps 60000/1001 -ofps 60000/1001</screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Wenn du vorhast, dramatisch herunterzuskalieren, kannst du nur eins
+ der beiden Felder extrahieren und encodieren. Sicherlich, du wirst die
+ Hälfte der vertikalen Auflösung verlieren, aber wenn du planst, bis auf
+ 1/2 des Originals herunter zu skalieren, macht der Verlust so gut wie
+ gar nichts aus. Das Resultat wird eine progressive Datei mit 30000/1001
+ Frames pro Sekunde sein. Die Prozedur ist, <option>-vf field</option>
+ zu verwenden, dann die Ränder abzuschneiden
+ <link linkend="menc-feat-telecine-footnotes">[1]</link> und angemessen
+ zu skalieren. Vergiss nicht, dass du die Skalierung anpassen musst, um
+ das Halbieren der vertikalen Auflösung zu kompensieren.
+ <screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen>
+ </para>
+ </listitem>
+ </orderedlist>
+ </sect3>
+
+ <sect3 id="menc-feat-telecine-encode-mixedpt">
+ <title>Gemischtes progressive und telecine</title>
+ <para>
+ Um progressive und telecine Video komplett in progressive Video
+ umzuwandeln, müssen die telecined Teile inverse-telecined werden.
+ Die drei Wege, dies zu erreichen, werden unten beschrieben.
+ Beachte, dass du inverse-telecine <emphasis role="bold">immer</emphasis>
+ vor der Reskalierung durchführen solltest; es sei denn, du weißt wirklich,
+ was du tust; mache inverse-telecine auch vor dem Entfernen der Ränder
+ <link linkend="menc-feat-telecine-footnotes">[1]</link>.
+ <option>-ofps 24000/1001</option> wird hier benötigt, weil das Output-Video
+ 24000/1001 Frames pro Sekunde werden soll.
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <option>-vf pullup</option> wurde entworfen, um auf telecined Material
+ inverse-telecine anzuwenden, während die progressiven Daten unangetastet
+ bleiben. Damit dies richtig funktioniert, <emphasis role="bold">muss</emphasis>
+ <option>pullup</option> vom <option>softskip</option>-Filter gefolgt werden, sonst
+ wird <application>MEncoder</application> abstürzen.
+ <option>pullup</option> ist trotz allem die sauberste und akkurateste
+ Methode, die zum Encodieren von beidem telecine und
+ &quot;gemischtem progressive und telecine&quot; zur Verfügung steht.
+
+ <screen>mencoder dvd://1 -oac copy -vf pullup,softskip -ovc lavc -ofps 24000/1001</screen>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Eine ältere Methode ist, anstatt inverse-telecine auf die telecined Teile
+ anzuwenden, telecine auf nicht-telecined Teile und dann inverse-telecine auf das
+ ganze Video anzuwenden. Hört sich verwirrend an? softpulldown ist
+ ein Filter, der ein Video durchgeht und die komplette Datei telecined macht.
+ Lassen wir auf softpulldown entweder <option>detc</option> oder <option>ivtc</option>
+ folgen, wird das Endergebnis vollkommen progressiv. <option>-ofps 24000/1001</option>
+ wird benötigt.
+
+ <screen>mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001</screen>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ich habe <option>-vf filmdint</option> selbst verwendet, aber lies hier, was
+ D Richard Felker III zu erzählen hat:
+
+ <blockquote>
+ <para>
+ Es ist OK, aber IMO versucht er zu oft eher ein deinterlace
+ als ein inverse telecine durchzuführen (ganz wie Settop-DVD-Player
+ &amp; progressive TVs), was ein hässliches Flimmern erzeugt und
+ andere Artefakte. Wenn du vorhast, es anzuwenden, musst du zumindest
+ einige Zeit darauf verwenden, die Optionen zu tunen und zuerst den Output
+ zu beobachten, damit du auch sicher sein kannst, dass du nichts
+ vermasselst.
+ </para>
+ </blockquote>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect3>
+
+ <sect3 id="menc-feat-telecine-encode-mixedpi">
+ <title>Gemischtes progressive und interlaced</title>
+ <para>
+ Es gibt zwei Optionen für den Umgang mit dieser Kategorie, jede von
+ beiden stellt einen Kompromiss dar. Du solltest basierend auf
+ Dauer/Stelle jedes Typs entscheiden.
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Behandle es wie progressive. Die interlaced Teile werden interlaced
+ aussehen und einige der interlaced Felder müssen weggelassen werden,
+ was ein wenig zu Sprüngen führt. Du kannst einen
+ Nachbearbeitungsfilter verwenden, wenn du willst, aber dies wird die
+ progressive-Anteile geringfügig verringern.
+ </para>
+
+ <para>
+ Diese Option sollte definitiv nicht verwendet werden, wenn du eventuell
+ Video auf einem interlaced Gerät anzeigen willst (mit einer TV-Karte
+ zum Beispiel). Wenn du interlaced Frames in einem Video mit 24000/1001
+ Frames pro Sekunde hast, werden diese zusammen mit den progressive
+ Frames telecined. Die Hälfte der interlaced &quot;Frames&quot; werden für die
+ Dauer von drei Feldern (3/(60000/1001) Sekunden) angezeigt, was
+ einen flimmernden &quot;Zeitrücksprung&quot;-Effekt zur Folge hat, der
+ ziemlich schlecht aussieht. Solltest du dies dennoch versuchen,
+ <emphasis role="bold">musst</emphasis> du einen
+ Deinterlacing-Filter wie <option>lb</option> oder <option>l5</option>
+ anwenden.
+ </para>
+
+ <para>
+ Es wäre auch keine gute Idee für eine progressive Anzeige. Es wird
+ Paare aufeinander folgender interlaced Felder auslassen, was eine
+ Unstetigkeit zur Folge hat, die eher sichtbar ist als mit der
+ zweiten Methode, die einige progressive Frames zweimal anzeigt.
+ Ein interlaced Video mit 30000/1001 Frames pro Sekunde ist bereits
+ ein bisschen abgehackt, weil es wirklich mit 60000/1001 Felder pro
+ Sekunde angezeigt werden sollte, sodass sich die doppelten Frames
+ nicht zu sehr abzeichnen.
+ </para>
+
+ <para>
+ Egal welchen Weg du wählst, es ist das beste, deinen Inhalt
+ zu berücksichtigen und wie du ihn anzeigen willst. Ist dein Video
+ zu 90% progressive und du hast nie vor, es auf einem TV-Bildschirm
+ anzuzeigen, solltest du einen progressive-Ansatz wählen. Ist es nur
+ halb-progressive, willst du es eventuell so encodieren, als sei alles
+ interlaced.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Behandle es wie interlaced. Einige Frames des progressive-Anteils
+ müssen dupliziert werden, was zu Sprüngen führt. Nochmal,
+ Deinterlacing-Filter können die progressive-Anteile leicht verringern.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect3>
+
+ </sect2>
+
+ <sect2 id="menc-feat-telecine-footnotes">
+ <title>Fußnoten</title>
+ <orderedlist>
+ <listitem>
+ <formalpara>
+ <title>Über das Zuschneiden (cropping):</title>
+ <para>
+ Videodaten auf DVDs werden in einem YUV 4:2:0 genannten Format abgelegt.
+ In einem YUV-Video, werden Helligkeit und Chrominanz separat gespeichert.
+ Da das menschliche Auge ein bisschen weniger empfindlich auf Farbe
+ reagiert als auf Helligkeit, ist in einem YUV 4:2:0 Bild nur ein
+ Chrominanz-Pixel für alle vier Helligkeits-Pixel vorhanden.
+ In einem progressive Bild, besitzt jedes Quadrat von vier luma-Pixeln (zwei
+ auf jeder Seite) ein gemeinsames chroma-Pixel. Du musst progressive YUV
+ 4:2:0 zu geradzahligen Auflösungen zurechtschneiden und geradzahlige
+ Offsets verwenden. Zum Beispiel ist
+ <option>crop=716:380:2:26</option> OK,
+ <option>crop=716:380:3:26 </option> aber nicht.
+ </para>
+ </formalpara>
+
+ <para>
+ Wenn du es mit interlaced YUV 4:2:0 zu tun hast, ist die Situation
+ ein wenig komplizierter. Anstatt dass immer vier luma-Pixel im
+ <emphasis>Frame</emphasis> sich ein chroma-Pixel teilen, teilen sich
+ immer vier luma-Pixel in jedem <emphasis>Feld</emphasis> ein
+ chroma-Pixel. Wenn Felder zur Formung eines Frames interlaced werden,
+ ist jede Scanzeile ein Pixel hoch. Jetzt liegen anstatt je vier
+ luma-Pixel in einem Quadrat immer zwei Pixel nebeneinander und die
+ anderen zwei Pixel liegen zwei Scanzeilen weiter unten nebeneinander.
+ Die zwei luma-Pixel in der dazwischen liegenden Scanzeile sind vom
+ anderen Feld und teilen sich somit ein anderes chroma-Pixel mit
+ zwei luma-Pixeln zwei Scanzeile entfernt. All diese Konfusion macht
+ es notwendig, vertikale Ausschneide-Abmessungen und Offsets zu
+ haben, die ein Vielfaches von vier sind. Horizontal kann geradzahlig
+ bleiben.
+ </para>
+
+ <para>
+ Für telecined Video empfehle ich, das Zuschneiden nach dem inverse
+ telecining stattfinden zu lassen. Ist das Video einmal progressive,
+ musst du nur noch mit geraden Zahlen zuschneiden. Wenn du wirklich die
+ leichte Beschleunigung haben willst, die zuerst zuzuschneiden
+ möglicherweise bietet, musst du vertikal mit einem Vielfachen von vier
+ zuschneiden, oder der inverse-telecine Filter wird keine korrekten Daten
+ haben.
+ </para>
+
+ <para>
+ Für interlaced (nicht telecined) Video musst du immer
+ mit einem Vielfachen von vier zuschneiden, es sei denn, du verwendest
+ <option>-vf field</option> vor dem Schneiden.
+ </para>
+ </listitem>
+
+ <listitem><formalpara>
+ <title>Über Encodier-Parameter und Qualität:</title>
+ <para>
+ Nur weil ich hier <option>mbd=2</option> vorschlage, heißt das nicht,
+ dass es woanders benutzt werden soll. Zusammen mit <option>trell</option>
+ ist <option>mbd=2</option> eine der Optionen von
+ <systemitem class="library">libavcodec</systemitem>, welche die
+ Qualität am deutlichsten heben, und du solltest stets das letzte der beiden
+ anwenden, außer das Abfallen der Encodiergeschwindigkeit ist abschreckend
+ hoch (z.B. Encodierung in Echtzeit). Es gibt eine Menge anderer Optionen für
+ <systemitem class="library">libavcodec</systemitem>, die die Encodierqualität
+ verbessern (und die Encodiergeschwindigkeit verringern), dies liegt aber jenseits
+ des Rahmens dieses Dokuments.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>Über die Performance von pullup:</title>
+ <para>
+ <option>Pullup</option> kann sicher (zusammen mit <option>softskip</option>)
+ auf progressive Video angewandt werden und ist für gewöhnlich eine gute Idee,
+ es sei denn, die Quelle wurde definitiv als vollkommen progressive verifiziert.
+ Der Performaceverlust ist in den meisten Fällen gering. Bei einer Minimalencodierung
+ macht <option>pullup</option> <application>MEncoder</application>
+ 50% langsamer. Das Hinzufügen von Soundverarbeitung und erweiterten
+ <option>lavcopts</option> überschattet diesen Unterschied
+ und drückt den Performanceabfall, der mit dem Verwenden von <option>pullup</option>
+ verbunden war, runter auf 2%.
+ </para>
+ </formalpara>
+ </listitem>
+
+ </orderedlist>
+
+ </sect2>
+
+ </sect1>
+
+
+ <sect1 id="menc-feat-enc-libavcodec">
+ <title>Encodieren mit der <systemitem class="library">libavcodec</systemitem>
+ Codecfamilie</title>
+
+ <para>
+ <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
+ stellt einfache Encodierung für eine Menge interessanter Video- und Audioformate
+ zur Verfügung.
+ Du kannst folgende Codecs encodieren (mehr oder weniger aktuell):
+ </para>
+
+ <sect2 id="menc-feat-enc-libavcodec-video-codecs">
+ <title>Videocodecs von <systemitem class="library">libavcodec</systemitem></title>
+
+ <para>
+ <informaltable frame="all">
+ <tgroup cols="2">
+ <thead>
+ <row><entry>Name des Videocodecs</entry><entry>Beschreibung</entry></row>
+ </thead>
+ <tbody>
+ <row><entry>mjpeg</entry><entry>
+ Motion-JPEG
+ </entry></row>
+ <row><entry>ljpeg</entry><entry>
+ Verlustfreies JPEG
+ </entry></row>
+ <row><entry>h261</entry><entry>
+ H.261
+ </entry></row>
+ <row><entry>h263</entry><entry>
+ H.263
+ </entry></row>
+ <row><entry>h263p</entry><entry>
+ H.263+
+ </entry></row>
+ <row><entry>mpeg4</entry><entry>
+ ISO Standard MPEG-4 (DivX 5, XviD-kompatibel)
+ </entry></row>
+ <row><entry>msmpeg4</entry><entry>
+ Pre-Standard MPEG-4 Variante von MS, v3 (AKA DivX3)
+ </entry></row>
+ <row><entry>msmpeg4v2</entry><entry>
+ Pre-Standard MPEG-4 von MS, v2 (in alten ASF-Dateien verwendet)
+ </entry></row>
+ <row><entry>wmv1</entry><entry>
+ Windows Media Video, Version 1 (AKA WMV7)
+ </entry></row>
+ <row><entry>wmv2</entry><entry>
+ Windows Media Video, Version 2 (AKA WMV8)
+ </entry></row>
+ <row><entry>rv10</entry><entry>
+ RealVideo 1.0
+ </entry></row>
+ <row><entry>rv20</entry><entry>
+ RealVideo 2.0
+ </entry></row>
+ <row><entry>mpeg1video</entry><entry>
+ MPEG-1 Video
+ </entry></row>
+ <row><entry>mpeg2video</entry><entry>
+ MPEG-2 Video
+ </entry></row>
+ <row><entry>huffyuv</entry><entry>
+ Verlustfreie (lossless) Kompression
+ </entry></row>
+ <row><entry>asv1</entry><entry>
+ ASUS Video v1
+ </entry></row>
+ <row><entry>asv2</entry><entry>
+ ASUS Video v2
+ </entry></row>
+ <row><entry>ffv1</entry><entry>
+ FFmpeg's verlustfreier (lossless) Videocodec
+ </entry></row>
+ <row><entry>svq1</entry><entry>
+ Sorenson Video 1
+ </entry></row>
+ <row><entry>flv</entry><entry>
+ Sorenson H.263, der in Flash Video benutzt wird
+ </entry></row>
+ <row><entry>dvvideo</entry><entry>
+ Sony Digital Video
+ </entry></row>
+ <row><entry>snow</entry><entry>
+ FFmpeg's experimenteller Wavelet-basierter Codec
+ </entry></row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ Die erste Spalte enthält die Codecnamen, die nach der Konfiguration
+ <literal>vcodec</literal> übergeben werden müssen, wie:
+ <option>-lavcopts vcodec=msmpeg4</option>
+ </para>
+ <informalexample>
+ <para>
+ Ein Beispiel mit MJPEG-Komprimierung:
+ <screen>mencoder dvd://2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy</screen>
+ </para>
+ </informalexample>
+ </sect2>
+
+ <sect2 id="menc-feat-enc-libavcodec-audio-codecs">
+ <title>Audiocodecs von <systemitem class="library">libavcodec</systemitem></title>
+ <para>
+ <informaltable frame="all">
+ <tgroup cols="2">
+ <thead>
+ <row><entry>Name des Audiocodecs</entry><entry>Beschreibung</entry></row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>mp2</entry>
+ <entry>MPEG Layer 2</entry>
+ </row>
+ <row>
+ <entry>ac3</entry>
+ <entry>AC3, AKA Dolby Digital</entry>
+ </row>
+ <row>
+ <entry>adpcm_ima_wav</entry>
+ <entry>IMA adaptive PCM (4 Bit pro Sample, 4:1-Kompression)</entry>
+ </row>
+ <row>
+ <entry>sonic</entry>
+ <entry>experimenteller verlustbehafteter/verlustfreier Codec</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ Die erste Spalte enthält die Codecnamen, die nach der Konfiguration
+ <literal>acodec</literal> übergeben werden müssen, wie:
+ <option>-lavcopts acodec=ac3</option>
+ </para>
+
+ <informalexample>
+ <para>
+ Ein Beispiel mit AC3-Kompression:
+ <screen>mencoder dvd://2 -o title2.avi -oac lavc -lavcopts acodec=ac3 -ovc copy</screen>
+ </para>
+ </informalexample>
+
+ <para>
+ Im Gegensatz zu den Videocodecs von <systemitem class="library">libavcodec</systemitem>
+ machen dessen Audiocodecs keinen weisen Gebrauch von den Bits, die ihnen übergeben
+ werden, da es ihnen an einem minimalen psychoakustischen Modell fehlt (falls
+ überhaupt eins vorhanden ist), wodurch sich die meisten anderen
+ Codec-Implementierungen auszeichnen.
+ Beachte jedoch, dass all diese Audiocodecs sehr schnell sind und überall dort
+ hervorragend arbeiten, wo <application>MEncoder</application> mit
+ <systemitem class="library">libavcodec</systemitem> kompiliert wurde (was
+ meistens der Fall ist) und nicht von externen Programmbibliotheken abhängt.
+ </para>
+ </sect2>
+
+
+ <sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options">
+ <title>Encodieroptionen von libavcodec</title>
+
+ <para>
+ Idealerweise möchtest du eventuell in der Lage sein, dem Encoder einfach zu sagen,
+ er soll in den &quot;hochqualitativen&quot; Modus wechseln und weiter machen.
+ Das wäre vermutlich nett, aber unglücklicherweise schwer zu implementieren, da
+ verschiedene Encodieroptionen unterschiedliche Qualitätsresultate hervorbringen,
+ abhängig vom Quellmaterial.
+ Das liegt daran, dass die Komprimierung von den visuellen Eigenschaften des fraglichen Videos abhängt.
+ Zum Beispiel haben Anime und Live-Action sehr unterschiedliche Eigenschaften und
+ benötigen aus diesm Grund verschiedene Optionen, um optimale Encodierung zu erreichen.
+ Die gute Neuigkeit ist, dass einige Optionen wie <option>mbd=2</option>,
+ <option>trell</option> und <option>v4mv</option> nie ausgelassen werden sollten.
+ Siehe unten nach der detaillierten Beschreibung allgemeiner Encodieroptionen.
+ </para>
+
+
+ <itemizedlist>
+ <title>Anzupassende Optionen:</title>
+ <listitem>
+ <para>
+ <emphasis role="bold">vmax_b_frames</emphasis>: 1 oder 2 ist gut, abhängig vom Film.
+ Beachte, dass du, falls deine Encodierung von DivX5 decodierbar sein muss, den
+ Support für "closed GOP" aktivieren musst, indem du die
+ <systemitem class="library">libavcodec</systemitem>-Option <option>cgop</option>
+ verwendest, du musst jedoch Szenenerkennung deaktivieren, was wiederum keine gute
+ Idee ist, da es die Ecodierungseffizienz etwas angreift.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">vb_strategy=1</emphasis>: hilft in Szenen mit viel
+ Bewegung (high-motion).
+ Bei manchen Videos wird vmax_b_frames der Qualität schaden, vmax_b_frames=2
+ zusammen mit vb_strategy=1 hilft jedoch.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">dia</emphasis>: Bewegungssuchbereich. Größer ist besser
+ als kleiner.
+ Negative Werte sind ein komplett anderer Maßstab.
+ Gute Werte sind -1 für ein schnelle oder 2-4 für langsame Encodierung.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">predia</emphasis>: Bewegungssuche Vorabdurchlauf (pre-pass).
+ Nicht so wichtig wie dia. Gute Werte sind 1 (Standard) bis 4. Erfordert preme=2, um
+ wirklich was zu nützen.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">cmp, subcmp, precmp</emphasis>: Vergleichsfunktion zur
+ Bewegungseinschätzung.
+ Experimentiere mit Werten von 0 (Standard), 2 (hadamard), 3 (dct) und
+ 6 (Ratenverzerrung).
+ 0 ist am schnellsten und ausreichend für precmp.
+ Für cmp und subcmp ist 2 gut bei Anime, und 3 ist gut bei Live-Action.
+ 6 kann leicht besser sein oder auch nicht, ist aber langsam.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">last_pred</emphasis>: Anzahl der Bewegungsvorhersagen, die
+ vom vorherigen Frame genommen werden sollen.
+ 1-3 oder so hilft bei geringer Geschwindigkeitseinbuße.
+ Höhere Werte sind langsam bei keinerlei Zusatzgewinn.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">cbp, mv0</emphasis>: Kontrolliert die Auswahl von Macroblöcken.
+ Kleine Geschwindigkeitseinbußen bei kleinem Qualitätsgewinn.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">qprd</emphasis>: adaptive Quantisierung basierend auf der
+ Komplexität des Macroblocks.
+ Kann hilfreich sein oder schaden, abhängig vom Video und anderen Optionen.
+ Dies kann Artefakte verursachen, es sei denn, du setzt vqmax auf einen halbwegs
+ kleinen Wert (6 ist gut, vielleicht so langsam wie 4); vqmin=1 sollte ebenfalls
+ helfen.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">qns</emphasis>: sehr langsam, speziell wenn kombiniert
+ mit qprd.
+ Diese Option veranlasst den Encoder, durch Kompressionsartefakte entstandenes
+ Rauschen zu minimieren anstatt das encodierte Video strikt der Quelle anzupassen.
+ Verwende dies nicht, es sei denn du, hast bereits alles andere so weit wie möglich
+ optimiert und die Resultate sind immer noch nicht gut genug.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">vqcomp</emphasis>: Frequenzkontrolle optimieren.
+ Welche Werte gut sind, hängt vom Film ab.
+ Du kannst dies sicher so lassen wie es ist, wenn du willst.
+ Wird vqcomp verringert, werden mehr Bits auf Szenen mit geringer Komlexität
+ gelegt, wird es erhöht, legt es diese Bits auf Szenen mit hoher Komlexität
+ (Standard: 0.5, Bereich: 0-1. empfohlener Bereich: 0.5-0.7).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">vlelim, vcelim</emphasis>: Setzt die Schwelle für die
+ Eliminierung einzelner Koeffizienten bei Helligkeits- und Farbanteilen.
+ Sie werden in allen MPEG-ähnlichen Algorithmen getrennt encodiert.
+ Die Idee hinter diesen Optionen ist, einige gute Heuristiken zu verwenden,
+ um zu bestimmen, wenn ein Wechsel innerhalb eines Blocks kleiner als der
+ der von dir festgelegte Schwellenwert ist und in solch einem Fall den
+ Block einfach so zu encodieren als fände &quot;kein Wechsel&quot; statt.
+ Das spart Bits und beschleunigt womöglich die Encodierunng. vlelim=-4 und vcelim=9
+ scheinen gut für Live-Filme zu sein, helfen aber scheinbar nicht bei Anime;
+ beim Encodieren einer Animation solltest du sie womöglich unverändert lassen.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">qpel</emphasis>: Bewegungsabschätzung auf ein viertel
+ Pixel (quarter pel).
+ MPEG-4 verwendet als Voreinstellung eine Halbpixel-Genauigkeit für die Bewegungssuche,
+ deswegen hat diese Option einen Overhead, da mehr Informationen in der
+ encodierte Datei untergebracht werden.
+ Der Kompressionsgewinn/-verlust hängt vom Film ab, ist aber in der Regel nicht
+ sonderlich effektiv bei Anime.
+ qpel zieht immer eine signifikante Erhöhung der CPU-Decodierzeit nach
+ sich (+25% in der Praxis).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">psnr</emphasis>: wirkt sich eigentlich nicht auf
+ das Encodieren aus, schreibt jedoch eine Log-Datei mit Typ/Größe/Qualität
+ jedes Frames und gibt am Ende die Summe des PSNR Signal-zu-Rauschabstands
+ (Peak Signal to Noise Ratio) aus.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <itemizedlist>
+ <title>Optionen, mit denen besser nicht herumgespielt werden sollte:</title>
+ <listitem>
+ <para>
+ <emphasis role="bold">vme</emphasis>: Der Standardwert ist der beste.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">lumi_mask, dark_mask</emphasis>: Psychovisuell adaptive
+ Quantisierung.
+ Du solltest nicht im Traum daran denken, mit diesen Optionen herumzuspielen,
+ wenn dir Qualität wichtig ist.
+ Vernünftige Werte mögen in deinem Fall effektiv sein, aber sei gewarnt,
+ dies ist sehr subjektiv.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">scplx_mask</emphasis>: Versucht, Blockartefakte
+ zu verhindern, Postprocessing ist aber besser.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2 id="menc-feat-mpeg4-lavc-example-settings">
+ <title>Beispiele für Encodierungseinstellungen</title>
+
+ <para>
+ Die folgenden Einstellungen sind Beispiele verschiedener Kombinationen
+ von Encodierungsoptionen, die den Kompromiss Geschwindigkeit gegenüber
+ Qualität bei gleicher Zielbitrate beeinflussen.
+ </para>
+
+ <para>
+ Alle Encodierungseinstellungen wurden auf einem Beispielvideo
+ mit 720x448 @30000/1001 fps getestet, die Zielbitrate war 900kbps und
+ der Rechner war ein AMD-64 3400+ mit 2400 Mhz im 64bit-Modus.
+ Jede Encodiereinstellung zeichnet sich aus durch die gemessene
+ Encodiergeschwindigkeit (in Frames pro Sekunde) und den PSNR-Verlust
+ (in dB) im Vergleich zu Einstellungen für &quot;sehr hohe Qualität&quot;.
+ Bitte habe Verständnis, dass du abhängig von deiner Quelldatei,
+ deinem Rechnertyp und Entwicklungsfortschritten sehr unterschiedliche
+ Resultate erzielen wirst.
+ </para>
+
+ <para>
+ <informaltable frame="all">
+ <tgroup cols="4">
+ <thead>
+ <row><entry>Beschreibung</entry><entry>Encodieroptionen</entry><entry>Geschwindigkeit (in fps)</entry><entry>Relativer PSNR-Verlust (in dB)</entry></row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>Sehr hohe Qualität</entry>
+ <entry><option>vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</option></entry>
+ <entry>6fps</entry>
+ <entry>0dB</entry>
+ </row>
+ <row>
+ <entry>Hohe Qualität</entry>
+ <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</option></entry>
+ <entry>15fps</entry>
+ <entry>-0.5dB</entry>
+ </row>
+ <row>
+ <entry>Schnell</entry>
+ <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry>
+ <entry>42fps</entry>
+ <entry>-0.74dB</entry>
+ </row>
+ <row>
+ <entry>Echtzeit</entry>
+ <entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry>
+ <entry>54fps</entry>
+ <entry>-1.21dB</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </para>
+ </sect2>
+
+ <sect2 id="custommatrices"><title>Maßgeschneiderte inter/intra-Matrizen</title>
+
+ <para>
+ Mit diesem Feature von <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
+ bist du in der Lage, eigene inter- (I-Frames/Keyframes) und intra-Matrizen
+ (P-Frames/predicted Frames) zu setzen. Es wird von vielen Codecs unterstützt:
+ <systemitem>mpeg1video</systemitem> und <systemitem>mpeg2video</systemitem>
+ sollen damit funktionieren.
+ </para>
+
+ <para>
+ Eine typische Anwendung dieses Features ist, die von den
+ <ulink url="http://www.kvcd.net/">KVCD</ulink>-Specifikationen
+ bevorzugten Matrizen zu setzen.
+ </para>
+
+ <para>
+ Die <emphasis role="bold">KVCD &quot;Notch&quot; Quantisierungsmatrix:</emphasis>
+ </para>
+
+ <para>
+ Intra:
+<screen>8 9 12 22 26 27 29 34
+9 10 14 26 27 29 34 37
12 14 18 27 29 34 37 38
22 26 27 31 36 37 38 40
26 27 29 36 39 38 40 48
27 29 34 37 38 40 48 58
29 34 37 38 40 48 58 69
-34 37 38 40 48 58 69 79
-</screen>
+34 37 38 40 48 58 69 79</screen>
-Inter:
-<screen>
-16 18 20 22 24 26 28 30
+ Inter:
+<screen>16 18 20 22 24 26 28 30
18 20 22 24 26 28 30 32
20 22 24 26 28 30 32 34
22 24 26 30 32 32 34 36
24 26 28 32 34 34 36 38
26 28 30 32 34 36 38 40
28 30 32 34 36 38 42 42
-30 32 34 36 38 40 42 44
-</screen>
-</para>
-
-<para>
-Anwendung:
-<screen>
-$ mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=...
-</screen>
-</para>
-
-<para>
-<screen>
-$ mencoder <replaceable>input.avi</replaceable> -ovc lavc -lavcopts
+30 32 34 36 38 40 42 44</screen>
+ </para>
+
+ <para>
+ Anwendung:
+ <screen>$ mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=... </screen>
+ </para>
+
+ <para>
+<screen>$ mencoder <replaceable>input.avi</replaceable> -ovc lavc -lavcopts
vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,
12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,
29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79
:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,
28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,
-36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg
-</screen>
-</para>
-</sect2>
-
-
-<sect2 id="menc-feat-dvd-mpeg4-example">
-<title>Beispiel</title>
-
-<para>
- Jetzt hast du gerade eben deine brandneue Kopie von Harry Potter und die
- Kammer des Schreckens gekauft (natürlich die Breitbildedition), und du
- willst diese DVD so rippen, dass du sie deinem Home Theatre PC hinzufügen
- kannst. Dies ist eine Region-1-DVD, also ist sie NTSC. Das unten stehende
- Beispiel wird auch auf PAL zutreffen, nur dass du
- <option>-ofps 24000/1001</option> weglässt (weil die Ausgabeframerate die
- gleiche ist wie die Eingabeframerate), und logischerweise werden die
- Ausschnittsabmessungen anders sein.
-</para>
-
-<para>
- Nach dem Start von <option>mplayer dvd://1</option>, verfolgen wir den
- detailliert in der Sektion <link linkend="menc-feat-telecine">Wie mit telecine
- und interlacing in NTSC-DVDs umgehen</link> beschriebenen Prozess und
- entdecken, dass es progressive Video mit 24000/1001 fps ist, was bedeutet, dass
- wir keinen inverse telecine-Filter wie <option>pullup</option> oder
- <option>filmdint</option> anwenden müssen.
-</para>
-
-<para>
- Als Nächstes wollen wir das passende Ausschnittsrechteck bestimmen, also
- verwenden wir den crop-Erkennungsfilter:
-
- <screen>mplayer dvd://1 -vf cropdetect</screen>
-
- Stelle sicher, dass du einen voll gefüllten Frame anstrebst (wie zum
- Beispiel eine helle Szene), und dass du diese Ausgabe in
- <application>MPlayer</application>s Konsole siehst:
-
- <screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen>
-
- Wir spielen den Film dann mit diesem Filter ab, um seine Korrektheit zu testen:
-
- <screen>mplayer dvd://1 -vf crop=720:362:0:58</screen>
-
- Und wir sehen, dass er einfach perfekt aussieht. Als Nächstes vergewissern wir
- uns, dass Breite und Höhe ein Vielfaches von 16 sind. Die Breite ist gut,
- aber die Höhe ist es nicht. Da wir in der 7-ten Klasse in Mathe nicht gefehlt
- haben, wissen wir, dass das am nähesten liegende Vielfache von 16 kleiner
- als 362 der Wert 352 ist (Taschenrechner ist erlaubt).
-</para>
-
-<para>
- Wir könnten einfach <option>crop=720:352:0:58</option> verwenden, aber es wäre
- nett, ein bisschen von oben und ein bisschen von unten wegzunehmen, sodass
- wir zentriert bleiben. Wir haben die Höhe um 10 Pixel schrumpfen lassen, aber
- wir wollen das y-Offset nicht um 5 Pixel erhöhen, da dies eine ungerade Zahl
- ist und die Qualität nachteilig beeinflussen würde. Statt dessen werden wir
- das y-Offset um 4 Pixel erhöhen:
-
- <screen>mplayer dvd://1 -vf crop=720:352:0:62</screen>
-
- Ein anderer Grund, Pixel von beidem - oben und unten - abzuschnipseln ist,
- dass wir sicher gehen wollen, jegliches halbschwarze Pixel eliminiert zu
- haben, falls welche existieren. Beachte, falls das Video telecined
- ist, stelle sicher, dass der <option>pullup</option>-Filter (oder für
- welchen umgekehrten telecine-Filter auch immer du dich entschieden hast)
- in der Filterkette auftaucht, bevor du zuschneidest. Ist es interlaced,
- deinterlace es vor dem Zuschneiden.
- (Wenn du dich entscheidest, interlaced Video beizubehalten, dann vergewissere dich, dass
- das vertikale crop-Offset ein Vielfaches von 4 ist.)
-</para>
-
-<para>
- Wenn du wirklich besorgt um den Verlust dieser 10 Pixel bist, ziehst du
- statt dessen etwa das Herunterskalieren der Abmessungen auf das am nächsten
- liegende Vielfache von 16 vor.
- Die Filterkette würde dann etwa so aussehen:
-
- <screen>-vf crop=720:362:0:58,scale=720:352</screen>
-
- Das Video auf diese Art herunter zu skalieren wird bedeuten, dass eine
- kleine Menge Details verloren geht, obwohl es vermutlich nicht wahrnehmbar
- sein wird. Hoch zu skalieren führt zu niedrigerer Qualität (es sei denn,
- du erhöhst die Bitrate). Ausschneiden sondert sämtliche dieser Pixel
- aus. Es ist ein Kompromiss, den du unter allen Umständen
- in Betracht ziehen solltest. Zum Beispiel, wenn das DVD-Video für das Fernsehen
- hergestellt wurde, solltest du vertikales Skalieren vermeiden, da das
- Zeilensampling mit der Art und Weise korrespondiert, für die der Inhalt
- ursprünglich aufgenommen wurde.
-</para>
-
-<para>
- Bei der Überprüfung sehen wir, dass unser Film ordentlich Action enthält
- und sehr viele Details, also wählen wir 2400Kbit für unsere Bitrate.
-</para>
-
-<para>
- Wir sind nun bereit, die 2-pass Encodierung durchzuführen. Erster Durchlauf:
-
- <screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
--lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=1 \
--o Harry_Potter_2.avi</screen>
-
- Und der zweite Durchlauf ist derselbe, außer dass wir <option>vpass=2</option>
- festlegen:
-
- <screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
--lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=2 \
--o Harry_Potter_2.avi</screen>
-</para>
-
-<para>
- Die Optionen <option>v4mv:mbd=2:trell</option> werden die Qualität
- außerordentlich erhöhen, auf Kosten der Encodierdauer. Es gibt
- einen kleinen Grund, diese Optionen auszulassen, wenn das Primärziel
- die Qualität ist. Die Optionen
- <option>cmp=3:subcmp=3:mbcmp=3</option> wählen eine Vergleichsfunktion,
- die eine höhere Qualität liefert als die Standardeinstellungen.
- Du darfst mit diesem Parameter rumexperimentieren (ziehe die Manpage
- zu möglichen Werten zu Rate) da verschiedene Funktionen abhängig vom
- Quellmaterial einen starken Einfluss auf die Qualität haben. Wenn du zum Beispiel
- meinst, dass <systemitem class="library">libavcodec</systemitem> zu
- viele Blockartefakte produziert, könntest du ja das experimentelle
- NSSE als Vergleichsfunktion via <option>*cmp=10</option> wählen.
-</para>
-
-<para>
- Für diesen Film wird das resultierende AVI 138 Minuten lang und nahezu
- 3GB groß sein. Und weil du erzählt hast, dass eine große Datei nichts
- ausmacht, ist dies eine perfekt akzeptierbare Größe. Wolltest du sie aber
- kleiner haben, könntest du eine niedrigere Bitrate hernehmen. Erhöhte
- Bitraten haben verminderte Rückgaben, während wir also deutlich eine
- Verbesserung von 1800Kbit nach 2000Kbit sehen, ist es oberhalb 2000Kbit
- nicht so auffällig. Fühl dich frei solange herum zu experimentieren bis
- du glücklich bist.
-</para>
-
-<para>
- Weil wir das Quellvideo durch einen Denoise-Filter geschickt haben,
- könntest du einige davon während des Playbacks wieder hinzufügen wollen.
- Dies zusammen mit dem Nachbearbeitungsfilter <option>spp</option>
- verbessert die Wahrnehmung der Qualität drastisch und hilft dabei,
- blockhafte Artefakte aus dem Video zu eliminieren.
- Mit <application>MPlayer</application>s Option <option>autoq</option>
- kannst du den Nachbearbeitungsaufwand des spp-Filters abhängig von der
- verfügbaren CPU variieren. An dieser Stelle kannst du auch Gamma- und/oder
- Farbkorrektur zur besten Anpassung an dein Display verwenden, wenn du willst.
- Zum Beispiel:
-
- <screen>mplayer Harry_Potter_2.avi -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3</screen>
-
-</para>
-</sect2>
-</sect1>
-
-
-<sect1 id="menc-feat-xvid">
-<title>Encodieren mit dem <systemitem class="library">XviD</systemitem>-Codec</title>
-<para>
- <systemitem class="library">XviD</systemitem> ist eine freie
- Programmbibliothek zum Encodieren von MPEG-4 ASP-Videostreams.
- Bevor du mit <link linkend="xvid"> zu encodieren beginnst, musst du
- <application>MEncoder</application> so einstellen, dass er es unterstützt</link>.
-</para>
-<para>
- Dieses Handbuch beabsichtigt, sich vorwiegend durch dieselbe Art von
- Informationen auszuzeichnen wie x264's Encodier-Handbuch.
- Beginne deshalb damit,
- <link linkend="menc-feat-x264-encoding-options-intro">den ersten Teil</link>
- dieses Handbuchs zu lesen.
-</para>
-
-
-<sect2 id="menc-feat-xvid-intro">
-<title>Welche Optionen sollte ich verwenden, um die besten Resultate zu erzielen?</title>
-
-<para>
- Bitte beginne mit der Durchsicht der
- <systemitem class="library">XviD</systemitem>-Sektion von
- <application>MPlayer</application>s Manpage.
- Diese Sektion ist als Ergänzung zur Manpage zu verstehen.
-</para>
-<para>
- Die Standardeinstellungen von XviD sind bereits ein guter Kompromiss zwischen
- Geschwindigkeit und Qualität, deshalb kannst du ruhig bei ihnen
- bleiben, wenn nachfolgender Abschnitt dich allzusehr ins Grübeln bringt.
-</para>
-</sect2>
-
-<sect2 id="menc-feat-xvid-encoding-options">
-<title>Encodieroptionen von <systemitem class="library">XviD</systemitem></title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">vhq</emphasis>
- Diese Einstellung betreffen den Entscheidungsalgorithmus für
- Macroblöcke, wobei gilt, je höher die Einstellung desto weiser die
- Entscheidung.
- Die Standardeinstellung kann für jede Encodierung sicher verwendet
- werden, während höhere Einstellungen immer für PSNR hilfreich, jedoch
- signifikant langsamer sind.
- Nimm bitte zur Kenntnis, dass ein besserer PSNR nicht notwedigerweise
- bedeutet, dass das Bild besser aussehen wird, aber er zeigt dir, dass
- du näher am Original bist.
- Wird er deaktiviert, beschleunigt dies die Encodierung spürbar; wenn
- Geschwindigkeit ein Kriterium für dich ist, kann dieser Kompromiss es wert sein.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">bvhq</emphasis>
- Dies erledigt dieselbe Arbeit wie vhq, macht dies jedoch bei B-Frames.
- Es hat einen vernachlässigbar kleinen Einfluss auf die Geschwindigkeit, und
- verbessert geringfügig die Qualität (um etwa +0.1dB PSNR).
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">max_bframes</emphasis>
- Eine höhere Anzahl von erlaubten hintereinander folgenden B-frames verbessert
- gewöhnlich die Komprimierbarkeit, obwohl dies auch zu mehr Blockartefakten
- führt.
- Die Standardeinstellung ist ein guter Kompromiss zwischen Komprimierbarkeit
- und Qualität, aber wenn du Bitraten-hungrig bist kannst du sie bis auf 3
- hochschrauben.
- Du kannst sie auch auf 1 oder 0 verringern, wenn du auf perfekte Qualität
- abzielst, wenngleich du in diesem Fall sicherstellen solltest, dass deine
- Zielbitrate hoch genug ist, um zu gewährleisten, dass der Encoder nicht
- die Quantisierer höher setzen muss, um den Wert zu erreichen.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">bf_threshold</emphasis>
- Dies kontrolliert die B-Frame-Empfindlichkeit des Encoders, wobei ein
- höherer Wert dazu führt, dass mehr B-Frames angewendet werden (und
- umgekehrt).
- Diese Einstellung muss zusammen mit <option>max_bframes</option>
- verwendet werden; bist du Bitraten-hungrig, solltest du beides erhöhen,
- <option>max_bframes</option> und <option>bf_threshold</option>,
- während du <option>max_bframes</option> erhöhen und
- <option>bf_threshold</option> verringern kannst, sodass der Encoder
- B-Frames nur an Stellen anwendet, die diese auch
- <emphasis role="bold">wirklich</emphasis> brauchen.
- Eine niedrigere Zahl an <option>max_bframes</option> und ein höherer Wert
- bei <option>bf_threshold</option> ist möglicherweise keine kluge Wahl,
- da dies den Encoder zwingt, B-Frames in Stellen zu setzen, die nicht
- davon profitieren würden und dies daher die visuelle Qualität reduziert.
- Wie auch immer, wenn du mit Standalone-Playern kompatibel bleiben musst,
- die nur alte DivX-Profile unterstützen (der wiederum höchstens einen
- aufeinander folgenden B-Frame unterstützt), wäre dies dein einziger Weg,
- die Komprimierbarkeit mittels B-Frames zu verbessern.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">trellis</emphasis>
- Optimiert den Quantisierungsprozess um einen optimalen Kompromiss
- zwischen PSNR und Bitrate zu erhalten, was signifikant Bit-sparend
- wirkt.
- Diese Bits können woanders im Video wieder verwendet werden
- und verbessern die visuelle Gesamtqualität.
- Du solltest es immer eingeschaltet lassen, da sein Einfluss auf
- die Qualität gewaltig ist.
- Gerade wenn du Geschwindigkeit haben willst, darfst du es nicht
- deaktivieren, solange du nicht <option>vhq</option>
- und alle anderen CPU-hungrigeren Optionen auf
- ein Minimum heruntergesetzt hast.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">hq_ac</emphasis>
- Aktiviert die Vorhersagemethode für einen besseren Koeffizientenaufwand, was
- die Dateigröße leicht um etwa 0.15 bis 0.19% reduziert (was mit einer
- PSNR-Erhöhung um weniger als 0.01dB einhergeht), während es eine
- vernachlässigbar kleine Einwirkung auf die Geschwindigkeit hat.
- Es empfiehlt sich deshalb, dies immer eingeschaltet zu lassen.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">cartoon</emphasis>
- Entworfen, um Kartoon-Inhalt besser zu encodieren, und hat keine Auswirkung
- auf die Geschwindigkeit, da es lediglich die Heuristiken zur Bestimmung des
- Modus für diese Art Inhalt abstimmt.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">me_quality</emphasis>
- Diese Einstellung ist da, um die Präzision der Bewegungseinschätzung zu
- kontrollieren.
- Je höher <option>me_quality</option>, desto präziser wird die Schätzung
- der Originalbewegung sein, und desto besser wird der resultierende Ausschnitt
- die Originalbewegung einfangen.
- </para>
- <para>
- Die Standardeinstellung ist in jedem Fall die beste;
- folglich ist es nicht empfehlenswert, sie herunter zu drehen,
- es sei denn du hast es wirklich auf Geschwindigkeit abgesehen,
- da alle durch eine gute Bewegungseinschätzung gesparten Bits
- woanders verwendet würden, was die Gesamtqualität verbessern
- würde.
- Gehe deshalb nie unter 5, selbst wenn es der letzte Ausweg
- sein sollte.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">chroma_me</emphasis>
- Verbessert die Bewegungsabschätzung dadurch, dass auch die
- chroma-(Farb)-Informationen einbezogen werden, wobei
- <option>me_quality</option> alleine nur luma (Graustufen)
- verwendet.
- Dies verlangsamt die Encodierung um 5-10%, verbessert aber die
- visuelle Qualität durch Reduzieren von Blockeffekten ein wenig
- und reduziert die Dateigröße um rund 1.3%.
- Wenn du Geschwindigkeit haben willst, solltest du diese Option
- deaktivieren, bevor du anfängst zu überlegen,
- <option>me_quality</option> zu reduzieren.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">chroma_opt</emphasis>
- Ist dafür vorgesehen, die chroma-Bildqualität rund um reine
- weiße/schwarze Kanten zu verbessern, eher noch als die
- Kompression zu verbessern.
- Dies kann dabei helfen, den &quot;Rote Stufen&quot;-Effekt zu reduzieren.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">lumi_mask</emphasis>
- Versucht, weniger Bitrate auf den Teil eines Bildes zu übergeben,
- der vom menschlichen Auge nicht gut zu sehen ist, was dem Encoder
- erlauben sollte, die eingesparten Bits auf wichtigere Teile des
- Bildes anzuwenden.
- Die durch diese Option gewonnene Encodierungsqualität hängt in
- hohem Maße von persönlichen Vorlieben und von Monitortyp und
- dessen Einstellungen ab (typischerweise wird es nicht gut aussehen,
- wenn er hell oder ein TFT-Monitor ist).
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">qpel</emphasis>
- Hebt die Anzahl Kandidaten der Bewegungsvektoren durch
- Erhöhung der Präzision der Bewegungsabschätzung von einem
- halben Pixel (halfpel) auf ein viertel Pixel
- (quarterpel) an.
- Die Idee dahinter ist, bessere Bewegungsvektoren zu finden,
- was wiederum die Bitrate reduziert (deshalb wird die Qualität
- verbessert).
- Bewegungsvektoren mit viertel Pixel Präzision brauchen ein
- paar Extrabits für die Codierung, die Bewegungsvektoren ergeben aber
- nicht immer ein (viel) besseres Resultat.
- Sehr oft verbraucht der Codec dennoch Bits für die Extrapräzision,
- jedoch wird im Gegenzug eine geringe oder keine Extraqualität
- gewonnen.
- Unglücklicherweise gibt es keinen Weg, den möglichen Gewinn von
- <option>qpel</option> vorzuaussagen, also musst du eigentlich
- mit und ohne encodieren, um sicher zu gehen.
- </para><para>
- <option>qpel</option> kann fast die doppelte Encodierzeit in
- Anspruch nehmen und erfordert etwa 25% mehr
- Verarbeitungsleistung fürs Decodieren.
- Es wird nicht von allen Standalone-Playern unterstützt.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">gmc</emphasis>
- Versucht, Bits beim Schwenken von Szenen einzusparen, indem es einen
- einzelnen Bewegungsvektor für den gesamten Frame verwendet.
- Dies erhöht fast immer den PSNR, verlangsamt aber signifikant
- die Encodierung (genauso wie die Decodierung).
- Deshalb solltest du es nur nutzen, wenn du <option>vhq</option>
- auf das Maximum gestellt hast.
- <systemitem class="library">XviD</systemitem>s GMC ist höher
- entwickelt als das von DivX, wird aber nur von ein paar
- Standalone-Playern unterstützt.
-</para></listitem>
-
-</itemizedlist>
-</sect2>
-
-<sect2 id="menc-feat-xvid-encoding-profiles">
-<title>Encodierung Profile</title>
-<para>
- XviD unterstützt Encodierungsprofile über die Option <option>profile</option>,
- die dazu verwendet werden, den Eigenschaften des XviD-Videostreams
- Restriktionen so aufzuerlegen, dass es überall dort abgespielt werden kann,
- wo das gewählte Profil unterstützt wird.
- Die Restriktionen beziehen sich auf Auflösungen, Bitraten und
- bestimmte MPEG-4-Features.
- Die folgende Tabelle zeigt, was jedes Profil unterstützt.
-</para>
-<informaltable>
-<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"/>
-<colspec colnum="17" colname="col17"/>
-<spanspec spanname="spa2-5" namest="col2" nameend="col5"/>
-<spanspec spanname="spa6-11" namest="col6" nameend="col11"/>
-<spanspec spanname="spa12-17" namest="col12" nameend="col17"/>
- <tbody>
- <row>
- <entry></entry>
- <entry spanname="spa2-5">Einfach</entry>
- <entry spanname="spa6-11">Einfach erweitert</entry>
- <entry spanname="spa12-17">DivX</entry>
- </row>
- <row>
- <entry>Profilname</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>4</entry>
- <entry>5</entry>
- <entry>Handheld</entry>
- <entry>Portable NTSC</entry>
- <entry>Portable PAL</entry>
- <entry>Home Theater NTSC</entry>
- <entry>Home Theater PAL</entry>
- <entry>HDTV</entry>
- </row>
- <row>
- <entry>Breite [Pixel]</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>720</entry>
- <entry>1280</entry>
- </row>
- <row>
- <entry>Höhe [Pixel]</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>576</entry>
- <entry>576</entry>
- <entry>144</entry>
- <entry>240</entry>
- <entry>288</entry>
- <entry>480</entry>
- <entry>576</entry>
- <entry>720</entry>
- </row>
- <row>
- <entry>Framerate [fps]</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
- </row>
- <row>
- <entry>Max. mittlere Bitrate [kbps]</entry>
- <entry>64</entry>
- <entry>64</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>128</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>768</entry>
- <entry>3000</entry>
- <entry>8000</entry>
- <entry>537.6</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>9708.4</entry>
- </row>
- <row>
- <entry>Höchstwert mittlere Bitrate über 3 Sek. [kbps]</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>800</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>16000</entry>
- </row>
- <row>
- <entry>Max. B-Frames</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>2</entry>
- </row>
- <row>
- <entry>MPEG-Quantisierung</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry>Adaptive Quantisierung</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- </row>
- <row>
- <entry>Interlaced Encodierung</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- </row>
- <row>
- <entry>Viertelpixel</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry>Globale Bewegungskompensierung</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- </tbody>
-</tgroup>
-</informaltable>
-</sect2>
-
-<sect2 id="menc-feat-xvid-example-settings">
-<title>Encodierungseinstellungen Beispiele</title>
-
-<para>
- Die folgenden Einstellungen sind Beispiele unterschiedlicher
- Kombinationen von Encodierungsoptionen, die den Kompromiss
- zwischen Geschwindigkeit gegenüber Qualität bei gleicher
- Zielbitrate betreffen.
-</para>
-
-<para>
- Alle Encodierungseinstellungen wurden auf einem Beispielvideo
- mit 720x448 @30000/1001 fps getestet, die Zielbitrate war 900kbps,
- und der Rechner war ein
- AMD-64 3400+ mit 2400 Mhz im 64bit-Modus.
- Jede Encodierungseinstellung zeichnet sich aus durch die gemessene
- Encodiergeschwindigkeit (in Frames pro Sekunde) und den PSNR-Verlust
- (in dB) im Vergleich zu Einstellungen für &quot;sehr hohe Qualität&quot;.
- Bitte hab Verständnis, dass du abhängig von deiner Quelldatei,
- deinem Rechnertyp und Entwicklungsfortschritten sehr unterschiedliche
- Resultate erzielen wirst.
-</para>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row><entry>Beschreibung</entry><entry>Encodieroptionen</entry><entry>Geschwindigkeit (in fps)</entry><entry>Relativer PSNR-Verlust (in dB)</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>Sehr hohe Qualität</entry>
- <entry><option>chroma_opt:vhq=4:bvhq=1:quant_type=mpeg</option></entry>
- <entry>16fps</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>Hohe Qualität</entry>
- <entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry>
- <entry>18fps</entry>
- <entry>-0.1dB</entry>
-</row>
-<row>
- <entry>Schnell</entry>
- <entry><option>turbo:vhq=0</option></entry>
- <entry>28fps</entry>
- <entry>-0.69dB</entry>
-</row>
-<row>
- <entry>Echtzeit</entry>
- <entry><option>turbo:nochroma_me:notrellis:max_bframes=0:vhq=0</option></entry>
- <entry>38fps</entry>
- <entry>-1.48dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect2>
-
-</sect1>
-
-<sect1 id="menc-feat-x264">
-<title>Encodieren mit dem <systemitem class="library">x264</systemitem>-Codec</title>
-<para>
- <systemitem class="library">x264</systemitem> ist eine freie
- Programmbibliothek zum Encodieren von H.264/AVC-Videostreams.
- Bevor du mit <link linkend="xvid"> zu encodieren beginnst, musst du
- <application>MEncoder</application> so einstellen, dass er es unterstützt</link>.
-</para>
-
-<sect2 id="menc-feat-x264-encoding-options">
-<title>Encodieroptionen von x264</title>
-
-<para>
- Bitte beginne mit der Durchsicht der
- <systemitem class="library">x264</systemitem>-Sektion von
- <application>MPlayer</application>s Manpage.
- Diese Sektion ist als Anhang zur Manpage vorgesehen.
- Hier wirst du Schnellhinweise dazu finden, welche Optionen am
- wahrscheinlichsten die meisten Leute interessieren. Die Manpage
- ist knapper gehalten, aber auch vollständiger, und zeigt oft
- viel bessere technische Details.
-</para>
-
-<sect3 id="menc-feat-x264-encoding-options-intro">
-<title>Einführung</title>
-<para>Dieses Handbuch berücksichtigt zwei Hauptkategorien der Encodieroptionen:</para>
-
-<orderedlist>
- <listitem><para>Optionen, die hauptsächlich Encodierdauer gegenüber Qualität
- abwägen
- </para></listitem>
- <listitem><para>Optionen, die zur Erfüllung zahlreicher persönlicher
- Vorlieben und spezieller Anforderungen nützlich sind</para></listitem>
-</orderedlist>
-
-<para>
- Letztendlich kannst nur du entscheiden, welche Optionen für deine
- Zwecke am besten geeignet sind. Die Entscheidung für die erste
- Klasse der Optionen ist die einfachste:
- Du musst nur entscheiden, ob du denkst, dass Qualitätsunterschiede
- Geschwindigkeitsunterschiede rechtfertigen. Für die zweite Klasse
- der Optionen sind die Vorzüge weitaus subjektiver, und mehr Faktoren
- können involviert sein. Beachte, dass manche der Optionen für
- &quot;persönliche Vorlieben und spezielle Anforderungen&quot;
- noch große Auswirkungen auf Geschwindigkeit oder Qualität haben können,
- das ist aber nicht, wozu sie primär benutzt werden. Ein paar der
- Optionen für &quot;persönliche Vorlieben&quot; können sogar Änderungen
- verursachen, die für manche Leute besser aussehen aber schlechter
- für andere.
-</para>
-
-<para>
- Bevor du fortfährst, musst du verstehen, dass dieses Handbuch nur
- eine Qualitätsmetrik verwendet: globaler PSNR.
- Für eine kurze Erklärung, was PSNR ist, schau dir
- <ulink url="http://en.wikipedia.org/wiki/PSNR">den Wikipedia-Artikel zu PSNR</ulink>
- an.
- Globaler PSNR ist die letzte gemeldete PSNR-Nummer, wenn du die
- Option <option>psnr</option> in <option>x264encopts</option>
- einbindest.
- Jedesmal wenn du eine Forderung nach PSNR liest, ist eine der Annahmen
- hinter dieser Forderung, dass gleiche Bitraten verwendet werden.
-</para>
-
-<para>
- Nahezu alle dieser Handbuchkommentare unterstellen, dass du
- 2-pass anwendest.
- Beim Vergleich der Optionen gibt es zwei Hauptgründe, 2-pass-Encodierung
- zu nutzen.
- Der erste ist, 2-pass bringt rund 1dB PSNR, was einen sehr
- großen Unterschied ausmacht.
- Der zweite ist, Optionen zu testen, indem man direkte Qualitätsvergleiche
- zu 1-pass-Encodierung anstellt, führt einen einen wichtigen verwirrenden
- Faktor ein: die Bitrate variiert bei jeder Encodierung oft signifikant.
- Es ist nicht immer einfach zu sagen, ob Qualitätsänderungen vorwiegend
- auf geänderte Optionen zurückzuführen sind oder ob sie meist
- essentielle, zufällige Unterschiede in der erhaltenen Bitrate reflektieren.
-</para>
-
-</sect3>
-
-<sect3 id="menc-feat-x264-encoding-options-speedvquality">
-<title>Optionen die primär Geschwindigkeit und Qualität betreffen</title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">subq</emphasis>:
- Von den Optionen, die dir erlauben, einen Kompromiss zwischen
- Geschwindigkeit und Qualität einzugehen, sind <option>subq</option>
- und <option>frameref</option> (siehe unten) gewöhnlich die bei weitem
- wichtigsten.
- Wenn du dich für die Optimierung von entweder Geschwindigkeit oder Qualität
- interessierst, sind diese die ersten, die du in Erwägung ziehen solltest.
- Bei der Dimension Geschwindigkeit, interagieren die Optionen
- <option>frameref</option> und <option>subq</option> ziemlich stark
- miteinander.
- Die Erfahrung zeigt, dass mit einem Referenzframe <option>subq=5</option>
- (die Standardeinstellung) das ganze etwa 35% mehr Zeit in Anspruch nimmt als
- <option>subq=1</option>.
- Mit 6 Referenzframes wächst der Nachteil auf 60%.
- Der Effekt, den <option>subq</option> auf den PSNR ausübt, scheint ziemlich
- konstant zu sein, ungeachtet der Anzahl der Referenzframes.
- Typischerweise erreicht <option>subq=5</option> einen 0.2-0.5 dB höheren globalen
- PSNR im Vergleich zu <option>subq=1</option>.
- Dies ist gewöhnlich ausreichend, um sichtbar zu werden.
-</para>
-<para>
- <option>subq=6</option> ist der langsamste Modus mit der höchsten
- Qualität.
- Im Vergleich zu <option>subq=5</option> gewinnt sie gewöhnlich 0.1-0.4 dB
- globalen PSNR mit Geschwindigkeitseinbußen, die sich zwischen 25%-100%
- bewegen.
- Im Unterschied zu anderen Levels von <option>subq</option> hängt das
- Verhalten von <option>subq=6</option> nicht sehr von <option>frameref</option>
- und <option>me</option> ab. Statt dessen hängt die Effektivität von
- <option>subq=6</option> größtenteils von der Anzahl der verwendeten
- B-Frames ab. Im Normalgebrauch bedeutet dies, <option>subq=6</option>
- hat einen großen Einfluss auf Geschwindigkeit und Qualität
- in komplexen, stark bewegten Szenen, kann aber auch einen geringen Effekt
- in Szenen mit wenig Bewegung haben. Beachte, dass dennoch empfohlen wird,
- <option>bframes</option> immer auf etwas anderes als null
- zu setzen (siehe unten).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">frameref</emphasis>:
- <option>frameref</option> ist per Voreinstellung auf 1 gesetzt, jedoch
- solltest du deshalb nicht darauf schließen, dass es unbedingt
- auf 1 gesetzt sein muss.
- Allein die Erhöhung von <option>frameref</option> auf 2 bringt rund
- 0.15dB PSNR mit einem Geschwindigkeitsnachteil von 5-10%; dies sieht nach
- einem guten Kompromiss aus.
- <option>frameref=3</option> bringt rund 0.25dB PSNR mehr als
- <option>frameref=1</option>, was einen sichtbaren Unterschied machen
- sollte.
- <option>frameref=3</option> ist rund 15% langsamer als
- <option>frameref=1</option>.
- Leider setzen vermindernde Rückgaben schnell ein.
- <option>frameref=6</option> kann erwartungsgemäß nur
- 0.05-0.1 dB mehr als <option>frameref=3</option> bei zusätzlichen
- 15% Geschwindigkeitsnachteil.
- Oberhalb <option>frameref=6</option> sind die Qualitätsgewinne
- für gewöhnlich sehr klein (obwohl du während der ganzen Diskussion
- im Kopf behalten solltest, dass sie abhängig von deiner Quelle stark
- variieren können).
- In einem ziemlich typischen Fall wird <option>frameref=12</option>
- den globalen PSNR um ein bisschen mehr als 0.02dB gegenüber
- <option>frameref=6</option> verbessern, bei Geschwindigkeitseinbußen
- von 15%-20%.
- Bei so hohen <option>frameref</option>-Werten ist das wirklich
- einzig Gute, dass man sagen kann, dass ein weiteres Anheben dieses
- Wertes ziemlich sicher nie den PSNR <emphasis role="bold">schädigen</emphasis>
- wird, jedoch sind zusätzliche Qualitätsvorteile sogar kaum messbar,
- geschweige denn wahrnehmbar.
-</para>
-<note><title>Beachte:</title>
-<para>
- Das Erhöhen von <option>frameref</option> auf unnötig hohe Werte
- <emphasis role="bold">kann</emphasis> und
- <emphasis role="bold">tut dies üblicherweise auch</emphasis>
- die Codiereffizienz schädigen, wenn du CABAC ausschaltest.
- Mit eingeschaltetem CABAC (das Standardverhalten) scheint die
- Möglichkeit, <option>frameref</option> &quot;zu hoch&quot;
- zu setzen, gegenwärtig zu weit entfernt um sich Sorgen zu machen,
- und in der Zukunft werden womöglich Optimierungen diese Möglichkeit
- ganz und gar ausschließen.
-</para>
-</note>
-<para>
- Wenn du auf Geschwindigkeit abzielst, ist ein vernünftiger
- Kompromiss, im ersten Durchgang niedrigere <option>subq</option>- und
- <option>frameref</option>-Werte zu nehmen, und sie danach im
- zweten Durchgang zu erhöhen.
- Typischerweise hat dies einen vernachlässigbar negativen Effekt
- auf die Encodierqualität: Du wirst womöglich unter 0.1dB PSNR
- verlieren, was viel zu klein für einen sichtbaren Unterschied
- sein sollte.
- Trotzdem, unterschiedliche Werte für <option>frameref</option>
- können auf verschiedene Weise die Frametypenbestimmung beeinflussen.
- Höchstwahrscheinlich sind dies außerordentlich seltene Fälle,
- willst du jedoch wirklich sicher gehen, ziehe in Betracht, ob
- dein Video entweder Vollbild- respektive Einblendungsmuster
- oder sehr große temporäre Überdeckungen enthält, was einen I-Frame
- erzwingen könnte.
- Passe <option>frameref</option> des ersten Durchgangs so an,
- dass es groß genug ist, die Dauer des Einblendungszyklus
- (oder der Überdeckungen) zu enthalten.
- Zum Beispiel, wenn die Szene zwischen zwei Bildern über eine
- Zeitspanne von drei Frames rückwärts und vorwärts springt,
- setze <option>frameref</option> des ersten Durchgangs auf 3
- oder höher.
- Dieser Sachverhalt kommt vermutlich extrem selten in
- Videomaterial mit Live Action vor, erscheint aber manchmal
- bei eingefangenen Computerspiel-Sequenzen.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">me</emphasis>:
- Diese Option dient der Wahl der Suchmethode der Bewegungseinschätzung.
- Diese Option zu verändern stellt einen überschaubaren Kompromiss
- zwischen Qualität und Geschwindigkeit dar.
- <option>me=1</option> ist nur ein paar Prozent schneller als
- die Standardsuche, auf Kosten von unter 0.1dB globalem PSNR. Die
- Standardeinstellung (<option>me=2</option>) ist ein angemessener
- Kompromiss zwischen Qualität und Geschwindigkeit.
- <option>me=3</option> bringt ein wenig unter 0.1dB globalem PSNR,
- mit Geschwindigkeitsnachteil, der abhängig von <option>frameref</option>
- variiert. Bei hohen <option>frameref</option>-Werten (z.B. 12 oder so)
- ist <option>me=3</option> etwa 40% langsamer als die Standardeinstellung
- <option>me=2</option>. Mit <option>frameref=3</option> fällt der
- Geschwindigkeitsnachteil auf 25%-30%.
-</para>
-<para>
- <option>me=4</option> verwendet eine gründliche, für die praktische
- Anwendung zu langsame Suche.
-</para>
-</listitem>
-
-<listitem><para>
- <emphasis role="bold">4x4mv</emphasis>:
- Diese Option aktiviert die Verwendung von 8x4, 4x8 und 4x4 Unterteilungen
- in den vorhergesagten Macroblöcken. Sie zu aktivieren führt zu einem
- recht beständigen Geschwindigkeitsverlust von 10%-15%. Sie ist
- ziemlich nutzlos bei Quellen, die nur langsame Bewegungen enthalten,
- obwohl in manchen Quellen mit sehr viel Bewegung und vielen kleinen,
- sich bewegenden Objekten Zugewinne von etwa 0.1dB erwartet werden können.
-</para>
-</listitem>
-
-<listitem><para>
- <emphasis role="bold">bframes</emphasis>:
- Wenn du gewohnt bist, mit anderen Codecs zu encodieren, hast du
- womöglich empfunden, dass B-Frames nicht immer nützlich sind.
- Bei H.264 wurde dies geändert: es gibt neue Techniken und Blocktypen,
- die in B-Frames möglich sind.
- Für gewöhnlich kann selbst ein einfältiger Algorithmus zur Wahl
- der B-Frames einen signifikanten PSNR-Vorteil bringen.
- Es ist interessant festzustellen, dass die Anwendung von B-Frames
- normalerweise den zweiten Durchgang ein bisschen beschleunigt,
- und er kann auch eine Encodierung mit einfachem Durchgang etwas
- schneller machen, wenn adaptive B-Frame-Bestimmung deaktiviert
- ist.
-</para>
-<para>
- Mit deaktivierter adaptiver B-Framebestimmung
- (<option>nob_adapt</option> von <option>x264encopts</option>)
- ist der optimale Wert für diese Einstellung normalerweise nicht
- mehr als <option>bframes=1</option>, andernfalls leiden Szenen
- mit sehr viel Bewegung darunter.
- Mit aktivierter adaptiver B-Framebestimmung (das Standardverhalten)
- ist es sicher, höhere Werte zu verwenden; der Encoder wird die Anwendung
- von B-Frames in Szenen reduzieren, in denen sie die Kompression
- schädigen könnten.
- Der Encoder zieht es selten vor, mehr als 3 oder 4 B-Frames zu
- verwenden; diese Option höher zu setzen wird einen geringen Effekt haben.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">b_adapt</emphasis>:
- Beachte: Dies ist standardmäßig eingeschaltet.
-</para>
-<para>
- Ist diese Option aktiviert, wird der Encoder einen einigermaßen schnellen
- Entscheidungsprozess zur Reduzierung der Anzahl B-Frames in Szenen anwenden, die
- nicht viel von ihnen profitieren würden.
- Du kannst <option>b_bias</option> dazu verwenden, zu optimieren wie
- froh der Encoder über B-Frames sein soll.
- Der Geschwindigkeitsnachteil adaptiver B-Frames ist gegenwärtig ziemlich
- bescheiden, und genauso ist der potentielle Qualitätsgewinn.
- Es sollte aber normalerweise nicht schaden.
- Beachte, dass dies nur Geschwindigkeit und Frametypenbestimmung im ersten
- Durchgang betrifft.
- <option>b_adapt</option> und <option>b_bias</option> haben keinen
- Effekt auf nachfolgende Durchgänge.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">b_pyramid</emphasis>:
- Du kannst diese Option genauso gut aktivieren, falls du >=2 B-Frames
- verwendest; wie die Manpage dir sagt, erreichst du eine kleine
- Qualitätsverbesserung bei keinerlei Geschwindigkeitseinbuße.
- Beachte, dass diese Videos von libavcodec-basierten Decodern
- älter als etwa 5. März 2005 nicht gelesen werden können.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">weight_b</emphasis>:
- In typischen Fällen gibt es nicht viel Gewinn mit dieser Option.
- Trotzdem, in überblendenden oder ins Schwarze übergehenden Szenen
- liefert die gewichtete Vorhersage ziemlich große Einsparungen bei der Bitrate.
- In MPEG-4 ASP wird ein Übergang ins Schwarze gewöhnlich am besten
- als eine Serie aufwändiger I-Frames codiert; das Verwenden einer
- gewichteten Vorhersage in B-Frames macht es möglich, wenigstens
- manche von diesen in viel kleinere B-Frames zu wandeln.
- Der Verlust an Encodierzeit ist minimal, da keine extra Bestimmungen
- vorgenommen werden müssen.
- Auch werden die CPU-Anforderungen des Encoders, im Gegensatz zu den
- Einschätzungen mancher Leute, von gewichteter Vorhersage nicht sonderlich
- beeinflusst, ansonsten bleibt alles gleich.
-</para>
-<para>
- Leider hat der aktuelle Algorithmus zur adaptiven B-Frame-Bestimmung
- eine starke Tendenz, B-Frames während des Fadens zu verhindern.
- Bis sich dies ändert, kann es eine gute Idee sein,
- <option>nob_adapt</option> zu deinen x264encopts hinzuzufügen, falls
- du erwartest, dass Fades einen großen Effekt in deinem jeweiligen
- Videoclip erzeugen.
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-<sect3 id="menc-feat-x264-encoding-options-misc-preferences">
-<title>Diverse Eigenschaften betreffende Optionen</title>
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">2-pass-Encodierung</emphasis>:
- Oben wurde vorgeschlagen, immer 2-pass-Encodierung anzuwenden.
- Es gibt aber durchaus Gründe, dies nicht zu tun. Beispielsweise bist du,
- wenn du Live-TV aufnimmst und in Echtzeit encodierst,
- gezwungen, einen einzigen Durchgang zu verwenden.
- Auch ist ein Durchgang offensichtlich schneller als zwei Durchgänge;
- wenn du exakt die gleichen Optionen bei beiden Durchgängen anwendest,
- ist das Encodieren in zwei Durchgängen mindestens zweimal so langsam.
-</para>
-<para>
- Noch gibt es sehr gute Gründe, in zwei Durchgängen zu encodieren.
- Zum einen ist Ratenkontrolle in einem Durchgang kein Allheilmittel.
- Sie trifft oft eine unvernünftige Auswahl, weil sie das große
- Bild nicht sehen kann. Zum Beispiel angenommen, du hast ein zwei Minuten
- langes Video bestehend aus zwei ausgeprägten Hälften. Die erste Hälfte
- besitzt eine 60 Sekunden dauernde Szene mit sehr viel Bewegung, die
- einzeln für sich etwa 2500kbps benötigt, um anständig auszusehen.
- Direkt daruffolgend kommt eine viel weniger anspruchsvolle 60 Sekunden
- lange Szene, die bei 300kbps gut aussieht. Angenommen du forderst in
- der Theorie 1400kbps an, was beiden Szenen ausreichend entgegenkommen
- würde. Die Ratenkontrolle in einem Durchgang wird in diesem Fall
- ein paar &quot;Fehler&quot; machen. Zuallererst wird es in beiden Segmenten
- 1400kbps anpeilen. Das erste Segment könnte schwer überquantisiert enden,
- was es unakzeptabel und unangemessen blockhaft aussehen lässt.
- Das zweite Segment wird schwer unterquantisiert sein; es sieht vielleicht
- perfekt aus, aber der Bitratenverlust dieser Perfektion wird komplett
- unangemessen sein.
- Noch schwerer vermeidbar ist das Problem am Übergang beider Szenen.
- Die ersten Sekunden der Hälfte mit wenig Bewegung wird enorm
- überquantisiert sein, weil die Ratenkontrolle noch die Art Anforderung
- an die Bitrate erwartet, der sie in der ersten Hälfte des Videos begegnet
- war. Diese &quot;Fehlerperiode&quot; der extrem überquantisierten Szene
- mit wenig Bewegung wird fürchterlich schlecht aussehen, und wird sogar
- weniger als die 300kbps in Anspruch nehmen als das, was sie genommen hätte, um annehmbar
- auszusehen. Es gibt Mittel und Wege, diese Fälle des Encodierens in einem
- Durchgang zu mildern, diese werden allerdingst dahin tendieren, die
- fehlerhaften Vorhersagen der Bitraten zu häufen.
-</para>
-<para>
- Multipass-Ratenkontrolle kann gegenüber der eines einzigen Durchgangs
- enorm große Vorteile bieten.
- Indem sie die im ersten Encodierungsdurchlauf gesammelte Statistik
- verwendet, kann der Encoder mit angemessener Genauigkeit den Aufwand
- (in Bit) abschätzen, den das Encodieren jeden gegebenen Frames bei
- jedem gegebenen Quantisierer erfordert. Dies erlaubt eine viel
- rationalere, besser geplante Zuweisung von Bits zwischen den
- bithungrigen Szenen mit viel Bewegung und denen bescheidenen mit
- wenig Bewegung.
- Siehe <option>qcomp</option> unten für einige Ideen darüber, wie man
- diese Zuweisungen nach seinem Geschmack optimiert.
-</para>
-<para>
- Darüber hinaus brauchen zwei Durchgänge zweimal so lang wie ein Durchgang.
- Du kannst die Optionen im ersten Durchgang auf höhere Geschwindigkeit
- und niedrigere Qualität optimieren.
- Wenn du deine Optionen geschickt wählst, kannst du einen sehr schnellen
- ersten Durchgang hinkriegen.
- Die resultierende Qualität im zweiten Durchgang wird geringfügig niedriger
- ausfallen, weil die Größenvorhersage weniger akkurat ist, jedoch
- ist die Qualitätsdifferenz normalerweise viel zu klein, um sichtbar zu sein.
- Versuche zum Beispiel <option>subq=1:frameref=1</option> zu
- <option>x264encopts</option> des ersten Durchgangs hinzuzufügen.
- Verwende dann im zweiten Durchgang langsamere, hochwertigere Optionen:
- <option>subq=6:frameref=15:4x4mv:me=3</option>
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Encodierung mit drei Durchgängen</emphasis>?
-
- x264 bietet die Möglichkeit, eine beliebige Anzahl aufeinander folgender
- Durchgänge auszuführen. Wenn du <option>pass=1</option> im ersten Durchgang
- spezifizierst, dann verwende <option>pass=3</option> im nachfolgenden
- Durchgang, der nachfolgende Durchgang wird beides tun, die Statistik des
- vorhergehenden Durchgangs lesen und seine eigene Statistik schreiben.
- Ein zusätzlicher Durchgang, der diesem folgt, wird eine sehr gute Basis
- haben, von der aus er hochpräzise Vorhersagen der Framegrößen bei
- einem gewählten Quantisierer machen kann.
- In der Praxis ist der damit erzielte gesamte Qualitätsgewinn
- gewöhnlich nahezu null, und ziemlich wahrscheinlich resultiert ein dritter
- Durchgang in einem geringfügig schlechteren globalen PSNR als der Durchgang
- davor. In der typischen Anwendung helfen drei Durchgänge, wenn du entweder
- eine schleche Vorhersage der Bitraten oder schlecht aussehende Szenenübergänge
- beim Verwenden nur eines Durchlaufs bekommst.
- Dies passiert mit ziemlicher Wahrscheinlichkeit bei extrem kurzen Clips.
- Ebenso gibt es ein paar Spezialfälle, in denen drei (oder mehr) Durchgänge
- erfahrenen Nutzern dienlich sind, aber um es kurz zu machen, dieses Handbuch
- behandelt die Diskussion solcher speziellen Fälle nicht.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qcomp</emphasis>:
- <option>qcomp</option> wägt die Anzahl der für &quot;aufwändige&quot; Frames
- mit viel Bewegung vorgesehenen Bits gegen die für &quot;weniger aufwändige&quot;
- Frames mit wenig Bewegung ab.
- Bei einem Extrem zielt <option>qcomp=0</option> auf eine echte konstante
- Bitrate ab. Typischerweise würde dies Szenen mit viel Bewegung vollkommen
- ätzend aussehen lassen, während Szenen mit wenig Bewegung womöglich absolut
- perfekt aussehen, jedoch öfter mehr Bitrate verwenden würden, als sie es für
- lediglich sehr gutes Aussehen bräuchten. Beim anderen Extrem
- erreicht <option>qcomp=1</option> nahezu konstante Quantisierungsparameter
- (QP). Ein konstanter QP sieht nicht schlecht aus, die meisten Leute meinen
- aber, es sei vernünftiger, etwas Bitrate aus den extrem aufwändigen Szenen
- zu nehmen (wobei dort der Qualitätsverlust micht ganz so augenfällig ist)
- und sie wieder den Szenen zuzuweisen, die bei sehr guter Qualität leichter
- zu encodieren sind.
- <option>qcomp</option> ist per Voreinstellung auf 0.6 gesetzt, was für den
- Geschmack mancher Leute etwas zu langsam sein könnte (0.7-0.8 werden im
- Allgemeinen auch verwendet).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">keyint</emphasis>:
- <option>keyint</option> ist einzig und allein zur Abwägung der
- Durchsuchbarkeit der Datei gegenüber der Codiereffiziez da.
- Als Standardwert ist <option>keyint</option> auf 250 gesetzt. In
- Material mit 25fps garantiert dies, auf 10 Sekunden genau
- suchen zu können. Wenn du meinst, es wäre wichtig und nützlich,
- auf 5 Sekunden genau suchen zu können, setze es auf <option>keyint=125</option>;
- dies wird der Qualität/Bitrate leicht schaden. Wenn es dir nur um Qualität
- geht und nicht um die Durchsuchbarkeit, kannst du viel höhere Werte
- setzen (vorausgesetzt du verstehst, daß es verringerte Resultate gibt, die verschwindend
- klein werden oder sogar gegen null gehen). Der Videostream wird nach
- wie vor suchbare Stellen besitzen, solange einige Szenenwechsel
- vorhanden sind.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">deblockalpha, deblockbeta</emphasis>:
- Dieses Thema ist im Begriff etwas kontrovers zu geraten.
-</para>
-<para>
- H.264 definiert eine simple Deblocking-Prozedur bei I-Blöcken, die
- von vorgegebenen Stärken und vom QP des strittigen Blocks
- abhängigen.
- Mit dem Standardwert werden hohe QP-Blöcke stark gefiltert, und
- niedrige QP-Blöcke werden überhaupt nicht entblockt.
- Die vom Standard definierten vorgegebenen Stärken sind mit
- Bedacht gewählt und die Chancen stehen sehr gut, dass sie
- PSNR-optimal sind, egal welches Video auch immer du zu encodieren
- versuchst.
- Die <option>deblockalpha</option>- und
- <option>deblockbeta</option>-Parameter erlauben dir, Offsets festzulegen,
- um Deblocking-Schwellen voreinzustellen.
-</para>
-<para>
- Viele Leute scheinen zu glauben, es sei eine gute Idee, die Stärke
- des Deblocking-Filters um hohe Beträge abzusenken (sagen wir -3).
- Dies ist jedoch meist keine gute Idee, und in den meisten Fällen
- verstehen Leute, die das machen, nicht viel davon wie Deblocking
- standardmäßig funktioniert.
-</para>
-<para>
- Die erste und wichtigste Sache, die man über den
- in-loop-Deblocking-Filter wissen sollte, ist, dass die
- Standardschwellenwerte meistens PSNR-optimal sind.
- In den seltenen Fällen, in denen sie nicht optimal sind, ist das
- ideale Offset plus oder minus 1.
- Die Deblocking-Parameter durch einen höheren Betrag anzupassen
- garantiert meist, dem PSNR zu schaden.
- Das Verstärken des Filters wird mehr Details verwischen; den
- Filter zu schwächen wird das Auftreten von Blockeffekten
- erhöhen.
-</para>
-<para>
- Es ist definitiv eine schlechte Idee, die Deblocking-Schwellenwerte
- herabzusetzen, falls deine Quelle eine vorwiegend niedrige räumliche
- Komplexität besitzt (z.B. nicht viele Details oder Rauschen).
- Der in-loop-Filter macht eigentlich einen exzellenten Job durch
- das Kaschieren auftretender Artefakte.
- Besitzt die Quelle eine hohe räumliche Komplexität, sind Artefakte
- weniger bemerkbar.
- Dies ist so, weil das Schwingen (ringing) dazu neigt, wie Details
- oder Rauschen auszusehen.
- Die viselle Wahrnehmung des Menschen erkennt leicht, wenn Details
- entfernt wurden, aber erkennt nicht so leicht, wenn Rauschen falsch
- dargestellt wird.
- Wird die Qualität subjektiv, sind Details und Rauschen etwas
- austauschbares.
- Durch das Herabsetzen der Deblocking-Filterstärke verstärkst du
- höchstwahrscheinlich Fehler durch Hinzufügen von
- Schwingungsartefakten, aber dem Auge fällt nichts auf, weil
- es die Artefakte mit Details verwechselt.
-</para>
-
-<para>
- Dies rechtfertigt jedoch <emphasis role="bold">nach wie vor</emphasis>
- nicht das Herabsetzen der Deblocking-Filterstärke.
- Du kannst im Allgemeinen besseres Qualitätsrauschen im Postprocessing
- erzielen.
- Falls deine H.264-Encodierungen zu verschwommen oder verschmiert
- aussehen, versuche, mit
- <option>-vf noise</option> beim Abspielen des encodierten Films
- herumzuspielen.
- <option>-vf noise=8a:4a</option> sollte die meisten weichen Artefakte
- kaschieren.
- Es wird meist mit Sicherheit besser aussehen als die Resultate, die
- du durch einfaches Herumtüfteln mit dem Deblocking-Filter bekommen
- hättest.
-</para></listitem>
-</itemizedlist>
-</sect3>
-</sect2>
-
-<sect2 id="menc-feat-x264-example-settings">
-<title>Beispiele für Encodieroptionen</title>
-
-<para>
- Die folgenden Einstellungen sind Beispiele unterschiedlicher
- Kombinationen von Encodier-Optionen, die einen Kompromiss zwischen
- Geschwindigkeit und Qualität bei gleicher Zielbitrate darstellen.
-</para>
-
-<para>
- All diese Encodier-Einstellungen wurden an einem Beispielvideo
- mit 720x448 @30000/1001 fps getestet, die Zielbitrate war 900kbps,
- und der Rechner war ein
- AMD-64 3400+ mit 2400 Mhz im 64bit-Modus.
- Jede Encodier-Einstellung zeichnet sich durch eine gemessene
- Encodiergeschwindigkeit (in Frames pro Sekunde) und dem
- PSNR-Verlust (in dB) im Vergleich zu den &quot;sehr
- hochwertigen&quot; Einstellung aus.
- Bitte hab dafür Verständnis, dass du abhängig von deiner Quelle, deinem
- Rechnertyp und Entwicklungsfortschritten sehr unterschiedliche Resultate
- erhalten kannst.
-</para>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row><entry>Beschreibung</entry><entry>Encodier-Optionen</entry><entry>Geschwindigkeit (in fps)</entry><entry>Relativer PSNR-Verlust (in dB)</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>Sehr hohe Qualität</entry>
- <entry><option>subq=6:4x4mv:8x8dct:me=3:frameref=5:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>6fps</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>Hohe Qualität</entry>
- <entry><option>subq=5:4x4mv:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>13fps</entry>
- <entry>-0.89dB</entry>
-</row>
-<row>
- <entry>Schnell</entry>
- <entry><option>subq=4:bframes=2:b_pyramid:weight_b</option></entry>
- <entry>17fps</entry>
- <entry>-1.48dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect2>
-
-</sect1>
-
-<sect1 id="menc-feat-video-for-windows">
-<title>Encodieren mit der <systemitem class="library">Video for Windows</systemitem> Codecfamilie</title>
-
-<para>
- Video for Windows bietet einfaches Encodieren mittels binärer Video-Codecs.
- Du kannst mit folgenden Codecs encodieren (solltest du mehr haben, teile es
- uns bitte mit!)
-</para>
-<para>
- Beachte, dass der Support hierfür sehr experimentell ist, und
- einige Codecs arbeiten vielleicht nicht korrekt. Manche Codecs werden
- nur in bestimmten Farbräumen funktionieren, versuche
- <option>-vf format=bgr24</option> und <option>-vf format=yuy2</option>,
- falls ein Codec versagt oder einen falschen Output liefert.
-</para>
-
-<sect2 id="menc-feat-enc-vfw-video-codecs">
-<title>Von Video for Windows unterstützte Codecs</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
-<entry>Video-Codec Dateiname</entry>
-<entry>Beschreibung (FourCC)</entry>
-<entry>md5sum</entry>
-<entry>Kommentar</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>aslcodec_vfw.dll</entry>
- <entry>Alparysoft verlustfreier (lossless) Codec vfw (ASLC)</entry>
- <entry>608af234a6ea4d90cdc7246af5f3f29a</entry>
- <entry></entry>
-</row>
-<row>
- <entry>avimszh.dll</entry>
- <entry>AVImszh (MSZH)</entry>
- <entry>253118fe1eedea04a95ed6e5f4c28878</entry>
- <entry>needs <option>-vf format</option></entry>
-</row>
-<row>
- <entry>avizlib.dll</entry>
- <entry>AVIzlib (ZLIB)</entry>
- <entry>2f1cc76bbcf6d77d40d0e23392fa8eda</entry>
- <entry></entry>
-</row>
-<row>
- <entry>divx.dll</entry>
- <entry>DivX4Windows-VFW</entry>
- <entry>acf35b2fc004a89c829531555d73f1e6</entry>
- <entry></entry>
-</row>
-<row>
- <entry>huffyuv.dll</entry>
- <entry>HuffYUV verlustfrei (lossless) (HFYU)</entry>
- <entry>b74695b50230be4a6ef2c4293a58ac3b</entry>
- <entry></entry>
-</row>
-<row>
- <entry>iccvid.dll</entry>
- <entry>Cinepak Video (cvid)</entry>
- <entry>cb3b7ee47ba7dbb3d23d34e274895133</entry>
- <entry></entry>
-</row>
-<row>
- <entry>icmw_32.dll</entry>
- <entry>Motion Wavelets (MWV1)</entry>
- <entry>c9618a8fc73ce219ba918e3e09e227f2</entry>
- <entry></entry>
-</row>
-<row>
- <entry>jp2avi.dll</entry>
- <entry>ImagePower MJPEG2000 (IPJ2)</entry>
- <entry>d860a11766da0d0ea064672c6833768b</entry>
- <entry><option>-vf flip</option></entry>
-</row>
-<row>
- <entry>m3jp2k32.dll</entry>
- <entry>Morgan MJPEG2000 (MJ2C)</entry>
- <entry>f3c174edcbaef7cb947d6357cdfde7ff</entry>
- <entry></entry>
-</row>
-<row>
- <entry>m3jpeg32.dll</entry>
- <entry>Morgan Motion JPEG Codec (MJPG)</entry>
- <entry>1cd13fff5960aa2aae43790242c323b1</entry>
- <entry></entry>
-</row>
-<row>
- <entry>mpg4c32.dll</entry>
- <entry>Microsoft MPEG-4 v1/v2</entry>
- <entry>b5791ea23f33010d37ab8314681f1256</entry>
- <entry></entry>
-</row>
-<row>
- <entry>tsccvid.dll</entry>
- <entry>TechSmith Camtasia Screen Codec (TSCC)</entry>
- <entry>8230d8560c41d444f249802a2700d1d5</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp31vfw.dll</entry>
- <entry>On2 Open Source VP3 Codec (VP31)</entry>
- <entry>845f3590ea489e2e45e876ab107ee7d2</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp4vfw.dll</entry>
- <entry>On2 VP4 Personal Codec (VP40)</entry>
- <entry>fc5480a482ccc594c2898dcc4188b58f</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp6vfw.dll</entry>
- <entry>On2 VP6 Personal Codec (VP60)</entry>
- <entry>04d635a364243013898fd09484f913fb</entry>
- <entry>stürzt unter Linux ab</entry>
-</row>
-<row>
- <entry>vp7vfw.dll</entry>
- <entry>On2 VP7 Personal Codec (VP70)</entry>
- <entry>cb4cc3d4ea7c94a35f1d81c3d750bc8d</entry>
- <entry>falscher FourCC?</entry>
-</row>
-<row>
- <entry>ViVD2.dll</entry>
- <entry>SoftMedia ViVD V2 Codec VfW (GXVE)</entry>
- <entry>a7b4bf5cac630bb9262c3f80d8a773a1</entry>
- <entry></entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-Die erste Spalte enthält die Codec-Namen, die nach dem Parameter
-<literal>codec</literal> übergeben werden sollten, wie:
-<option>-xvfwopts codec=divx.dll</option>.
-Der FourCC-Code, der von jedem Codec verwendet wird, steht in Klammern.
-</para>
-<informalexample>
-<para>
-Ein Beispiel mit VP3-Kompression:
-<screen>mencoder dvd://2 -o title2.avi -ovc vfw -xvfwopts codec=vp31vfw.dll -oac copy</screen>
-</para>
-</informalexample>
-</sect2>
-</sect1>
-
-
-<sect1 id="menc-feat-vcd-dvd">
-<title>Verwenden des MEncoder zum Erzeugen VCD/SVCD/DVD-konformer Dateien.</title>
-
-<sect2 id="menc-feat-vcd-dvd-constraints">
-<title>Formatbeschränkungen</title>
-<para>
- <application>MEncoder</application> ist in der Lage, MPEG-Dateien im VCD-, SCVD-
- und DVD-Format durch Verwendung der
- <systemitem class="library">libavcodec</systemitem>-Programmbibliothek
- zu erzeugen.
- Diese Dateien können danach im Zusammenhang mit
- <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>
- oder
- <ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink>
- zum Erzeugen von Disks verwendet werden, die auf einem Standard Set-Top-Player
- abgespielt werden können.
-</para>
-
-<para>
- Die Formate DVD, SVCD und VCD sind starken Beschränkungen unterworfen.
- Es ist nur eine kleine Auswahl an encodierten Bildgrößen und Seitenverhältnissen
- verfügbar.
- Wenn dein Film nicht bereits die Anforderungen erfüllt, musst du das Bild
- skalieren, zuschneiden oder schwarze Ränder hinzufügen, um es konform zu machen.
-</para>
-
-<sect3 id="menc-feat-vcd-dvd-constraints-resolution">
-<title>Formatbeschränkungen</title>
-
-<informaltable frame="all">
-<tgroup cols="9">
-<thead>
- <row>
- <entry>Format</entry>
- <entry>Auflösung</entry>
- <entry>V. Codec</entry>
- <entry>V. Bitrate</entry>
- <entry>Samplerate</entry>
- <entry>A. Codec</entry>
- <entry>A. Bitrate</entry>
- <entry>FPS</entry>
- <entry>Seitenverhältnis</entry>
- </row>
-</thead>
-<tbody>
- <row>
- <entry>NTSC DVD</entry>
- <entry>720x480, 704x480, 352x480, 352x240</entry>
- <entry>MPEG-2</entry>
- <entry>9800 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>AC3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9 (nur für 720x480)</entry>
- </row>
- <row>
- <entry>NTSC DVD</entry>
- <entry>352x240<footnote id='fn-rare-resolutions'><para>
- Diese Auflösungen werden selten für DVDs verwendet, da sie von
- ziemlch niedriger Qualität sind.</para></footnote></entry>
- <entry>MPEG-1</entry>
- <entry>1856 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>AC3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9</entry>
- </row>
- <row>
- <entry>NTSC SVCD</entry>
- <entry>480x480</entry>
- <entry>MPEG-2</entry>
- <entry>2600 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>384 kbps (max)</entry>
- <entry>30000/1001</entry>
- <entry>4:3</entry>
- </row>
- <row>
- <entry>NTSC VCD</entry>
- <entry>352x240</entry>
- <entry>MPEG-1</entry>
- <entry>1150 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>224 kbps</entry>
- <entry>24000/1001, 30000/1001</entry>
- <entry>4:3</entry>
- </row>
- <row>
- <entry>PAL DVD</entry>
- <entry>720x576, 704x576, 352x576, 352x288</entry>
- <entry>MPEG-2</entry>
- <entry>9800 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>MP2,AC3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9 (nur für 720x576)</entry>
- </row>
- <row>
- <entry>PAL DVD</entry>
- <entry>352x288<footnoteref linkend='fn-rare-resolutions'/></entry>
- <entry>MPEG-1</entry>
- <entry>1856 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>MP2,AC3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9</entry>
- </row>
- <row>
- <entry>PAL SVCD</entry>
- <entry>480x576</entry>
- <entry>MPEG-2</entry>
- <entry>2600 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>384 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3</entry>
- </row>
- <row>
- <entry>PAL VCD</entry>
- <entry>352x288</entry>
- <entry>MPEG-1</entry>
- <entry>1152 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>224 kbps</entry>
- <entry>25</entry>
- <entry>4:3</entry>
- </row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<para>
- Wenn ein Film ein 2.35:1 Seitenverhältnis hat (die meisten aktuellen Action-Filme),
- wirst du schwarze Ränder hinzufügen oder den Film auf 16:9 zuschneiden müssen,
- um eine DVD oder VCD herzustellen.
- Wenn du schwarze Ränder hinzufügst, versuche diese an 16-Pixel-Rändern
- auszurichten, um den Einfluß auf die Encodier-Performance zu minimieren.
- Zum Glück besitzen DVDs eine ausreichend hohe Bitrate, damit du dich
- nicht zu sehr um die Encodier-Effizienz sorgen musst. SVCD
- und VCD jedoch sind höchst mager an Bitrate und erfordern Aufwand, um akzeptable
- Qualität zu erreichen.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-constraints-gop">
-<title>GOP-Größenbeschränkungen</title>
-<para>
- DVD, VCD und SVCD zwingen dich auch zu relativ niedrigen
- GOP-Größen (Group of Pictures).
- Für Material mit 30 fps ist die größte erlaubte GOP-Größe 18.
- Für 25 oder 24 fps ist das Maximum 15.
- Die GOP-Größe wird mittels der Option <option>keyint</option> gesetzt.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-constraints-bitrate">
-<title>Bitraten-Beschränkungen</title>
-<para>
- VCD-Video muss bei CBR 1152 kbps sein.
- Zu dieser nach oben begrenzten Einschränkung kommt auch noch eine
- extrem niedrige vbv-Puffergröße von 327 Kilobit.
- SVCD erlaubt das Variieren der Video-Bitraten auf bis zu 2500 kbps,
- und eine etwas weniger restriktive vbv-Puffergröße von 917 Kilobit
- ist erlaubt.
- DVD-Video-Bitraten können sich bis auf irgendwo um die 9800 kbps
- einpegeln (wenngleich typische Bitraten etwa halb so groß sind),
- und die vbv-Puffergröße ist 1835 Kilobit.
-</para>
-</sect3>
-</sect2>
-
-<sect2 id="menc-feat-vcd-dvd-output">
-<title>Output-Optionen</title>
-<para>
- <application>MEncoder</application> besitzt Optionen zur Kontrolle des
- Output-Formats.
- Durch das Verwenden dieser Optionen können wir ihn anweisen, den
- korrekten Dateityp zu erzeugen.
-</para>
-
-<para>
- Die Optionen für VCD und SVCD werden xvcd und xsvcd genannt, weil sie
- erweiterte Formate sind.
- Sie sind nicht strikt Standard-konform, hauptsächlich weil der Output
- keine Scan-Offsets enthält.
- Wenn du ein SVCD-Image generieren musst, solltest du die Output-Datei
- dem
- <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>
- übergeben.
-</para>
-
-<para>
- VCD:
- <screen>
- -of mpeg -mpegopts format=xvcd
- </screen>
-</para>
-
-<para>
- SVCD:
- <screen>
- -of mpeg -mpegopts format=xsvcd
- </screen>
-</para>
-
-<para>
- DVD:
- <screen>
- -of mpeg -mpegopts format=dvd
- </screen>
-</para>
-
-<para>
- DVD mit NTSC-Pullup:
- <screen>
- -of mpeg -mpegopts format=dvd:telecine -ofps 24000/1001
- </screen>
- Dies erlaubt 24000/1001 fps progressive-Inhalt bei 30000/1001
- fps encodiert zu werden, wobei die DVD-Konformität erhalten bleibt.
-</para>
-
-<sect3 id="menc-feat-vcd-dvd-output-aspect">
-<title>Seitenverhältnis</title>
-<para>
- Der Parameter für das Seitenverhältnis von <option>-lavcopts</option> wird zum Encodieren
- des Seitenverhältnisses einer Datei verwendet.
- Während des Playbacks wird das Seitenverhältnis dazu benutzt, die korrekte
- Größe des Videos wieder herzustellen.
-</para>
-
-<para>
- 16:9 oder "Breitbild"
- <screen>
- -lavcopts aspect=16/9
- </screen>
-</para>
-
-<para>
- 4:3 oder "Vollbild"
- <screen>
- -lavcopts aspect=4/3
- </screen>
-</para>
-
-<para>
- 2.35:1 oder "Cinemascope" NTSC
- <screen>
- -vf scale=720:368,expand=720:480 -lavcopts aspect=16/9
- </screen>
- Um die korrekte Skalierungsgröße zu berechnen, verwende die
- erweiterte NTSC-Breite von 854/2.35 = 368
-</para>
-
-<para>
- 2.35:1 oder "Cinemascope" PAL
- <screen>
- -vf scale="720:432,expand=720:576 -lavcopts aspect=16/9
- </screen>
- Um die korrekte Skalierungsgröße zu berechnen, verwende die
- erweiterte PAL-Breite von 1024/2.35 = 432
-</para>
-
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-a-v-sync">
-<title>Aufrechterhalten der A/V-Synchronisation</title>
-<para>
- Um die Audio-/Video-Synchronisation während der kompletten
- Encodierung aufrechtzuerhalten, muss
- <application>MEncoder</application> Frames auslassen oder duplizieren.
- Dies funktioniert beim Muxen in eine AVI-Datei ziemlich gut,
- aber meist schlägt das Aufrechterhalten der A/V-Synchronisation mit
- anderen Muxern wie etwa MPEG garantiert fehl.
- Dies ist der Grund, weshalb es nötig ist, den
- <option>harddup</option>-Video-Filter am Ende der Filterkette anzuhängen,
- um diese Art Problem zu vermeiden.
- Du findest mehr technische Informationen zu <option>harddup</option>
- im Abschnitt
- <link linkend="menc-feat-dvd-mpeg4-muxing-filter-issues">Verbessern der Mux- und A/V-Synchronisationszuverlässigkeit</link>
- oder in der Manpage.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-output-srate">
-<title>Sampleraten-Konvertierung</title>
-<para>
- Wenn die Audio-Samplerate in der Originaldatei nicht dieselbe wie die
- vom Zielformat angeforderte ist, wird eine Sampleraten-Konvertierung
- erforderlich.
- Dies wird erreicht, indem man die Option <option>-srate</option> und
- den <option>-af lavcresample</option> Audio-Filter zusammen
- anwedet.
- </para>
- <para>
- DVD:
- <screen>
- -srate 48000 -af lavcresample=48000
- </screen>
-</para>
-<para>
- VCD und SVCD:
- <screen>
- -srate 44100 -af lavcresample=44100
- </screen>
- </para>
-</sect3>
-</sect2>
-
-<sect2 id="menc-feat-vcd-dvd-lavc">
-<title>Verwenden des libavcodec zur VCD/SVCD/DVD-Encodierung</title>
-
-<sect3 id="menc-feat-vcd-dvd-lavc-intro">
-<title>Einführung</title>
-<para>
- <systemitem class="library">libavcodec</systemitem> kann verwendet
- werden, um ein VCD/SVCD/DVD-konformes Video durch die Anwendung der
- passenden Optionen zu erzeugen.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-lavc-options">
-<title>lavcopts</title>
-<para>
- Dies ist eine Liste von Feldern in <option>-lavcopts</option>, die du
- möglicherweise ändern musst, um einen für VCD, SVCD
- oder DVD konformen Film herzustellen:
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">acodec</emphasis>:
- <option>mp2</option> für VCD, SVCD oder PAL DVD;
- <option>ac3</option> wird am häufigsten für DVD verwendet.
- PCM-Audio kann auch für DVD verwendet werden, aber dies ist meistens
- eine riesen Platzverschwendung.
- Beachte, dass MP3-Audio nicht konform für irgendeines dieser Formate
- ist, aber Player haben oft ohnehin kein Problem, es abzuspielen.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">abitrate</emphasis>:
- 224 für VCD; bis zu 384 für SVCD; bis zu 1536 für DVD, aber
- übliche Werte reichen von 192 kbps für Stereo bis 384 kbps für
- 5.1-Kanal-Sound.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">vcodec</emphasis>:
- <option>mpeg1video</option> für VCD;
- <option>mpeg2video</option> für SVCD;
- <option>mpeg2video</option> wird gewöhnlich für DVD verwendet, man kann aber auch
- <option>mpeg1video</option> für CIF-Auflösungen verwenden.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">keyint</emphasis>:
- Angewandt, um die GOP-Größe zu setzen.
- 18 für Material mit 30fps oder 15 für Material mit 25/24 fps.
- Kommerzielle Hersteller scheinen Keyframe-Intervalle von 12 zu bevorzugen.
- Es ist möglich, dies viel größer zu machen und dennoch die Kompatibilität
- zu den meisten Player zu behalten.
- Ein <option>keyint</option> von 25 sollte nie irgendwelche Probleme machen.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">vrc_buf_size</emphasis>:
- 327 für VCD, 917 für SVCD und 1835 für DVD.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">vrc_minrate</emphasis>:
- 1152 für VCD. kann für SVCD und DVD so gelassen werden.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">vrc_maxrate</emphasis>:
- 1152 für VCD; 2500 für SVCD; 9800 für DVD.
- Für SVCD und DVD könntest du niedrigere Werte verwenden, abhängig von
- deinen persönlichen Vorlieben und Anforderungen.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">vbitrate</emphasis>:
- 1152 für VCD;
- bis zu 2500 für SVCD;
- bis zu 9800 für DVD.
- Für letztere zwei Formate sollte vbitrate basierend auf persönliche
- Vorlieben gesetzt werden.
- Zum Beispiel, wenn du darauf bestehst, 20 Stunden oder so passend auf
- eine DVD zu bringen, könntest du vbitrate=400 benutzen.
- Die sich daraus ergebende Video-Qualität würde womöglich äußerst mies.
- Wenn du versuchst, die maximal mögliche Qualität auf eine DVD zu quetschen,
- nimm vbitrate=9800, aber sei gewarnt, dass dich dies zu weniger als
- einer Stunde Video auf einer Single-Layer DVD zwingen würde.
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-lavc-examples">
-<title>Beispiele</title>
-<para>
- Dies ist eine typische Zusammenstellung von mindestens zu verwendenden
- <option>-lavcopts</option>-Optionen zum Encodieren eines Videos:
-</para>
-<para>
- VCD:
- <screen>
- -lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
- vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2
- </screen>
-</para>
-
-<para>
- SVCD:
- <screen>
- -lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
- keyint=15:acodec=mp2
- </screen>
-</para>
-
-<para>
- DVD:
- <screen>
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
- keyint=15:acodec=ac3
- </screen>
-</para>
-
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-lavc-advanced">
-<title>Erweiterte Optionen</title>
-<para>
- Für das Encodieren höherer Qualität könntest du auch qualitätssteigernde
- Optionen an lavcopts anfügen, wie etwa <option>trell</option>,
- <option>mbd=2</option> und weitere.
- Beachte, dass <option>qpel</option> und <option>v4mv</option>, obwohl
- oft bei MPEG-4 nützlich, nicht auf MPEG-1 oder MPEG-2 anwendbar sind.
- Außerdem, wenn du versuchst, eine sehr hochwertige DVD-Encodierung zu
- machen, kann es nützlich sein, <option>dc=10</option> an lavcopts
- anzufügen.
- Wobei dies helfen könnte, das Auftreten von Blöcken in fahl-farbenen
- Bereichen zu reduzieren.
- Zusammenfassend ist dies ein Beispiel einer Zusammenstellung von lavcopts für
- für eine höherwertige DVD:
-</para>
-
-<para>
- <screen>
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\
- keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:\
- vqmin=1:lmin=1:dc=10
- </screen>
-</para>
-
-</sect3>
-</sect2>
-
-<sect2 id="menc-feat-vcd-dvd-audio">
-<title>Encodieren von Audio</title>
-<para>
- VCD und SVCD unterstützen MPEG-1 Layer II Audio, indem sie einen
- MP2-Encoder von
- <systemitem class="library">toolame</systemitem>,
- <systemitem class="library">twolame</systemitem>,
- oder <systemitem class="library">libavcodec</systemitem>
- verwenden.
- Der libavcodec MP2 ist weit davon entfernt, so gut zu sein wie die
- anderen zwei Bibliotheken, dennoch sollte er immer verfügbar sein.
- VCD unterstützt nur Audio mit konstanten Bitraten (CBR) wogegen SVCD
- auch variable Bitraten (VBR) unterstützt.
- Sei vorsichtig, wenn du VBR benutzt, weil einige schlechte
- Standalone-Player diese nicht so gut unterstützen könnten.
-</para>
-
-<para>
- Für DVD-Audio wird der AC3-Codec von
- <systemitem class="library">libavcodec</systemitem>
- verwendet.
-</para>
-
-<sect3 id="menc-feat-vcd-dvd-audio-toolame">
-<title>toolame</title>
-<para>
- Für VCD und SVCD:
- <screen>
- -oac toolame -toolameopts br=224
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-audio-twolame">
-<title>twolame</title>
-<para>
- Für VCD und SVCD:
- <screen>
- -oac twolame -twolameopts br=224
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-audio-lavc">
-<title>libavcodec</title>
-<para>
- Für DVD mit 2-Kanal-Sound:
- <screen>
- -oac lavc -lavcopts acodec=ac3:abitrate=192
- </screen>
-</para>
-<para>
- Für DVD mit 5.1-Kanal-Sound:
- <screen>
- -channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384
- </screen>
-</para>
-<para>
- Für VCD und SVCD:
- <screen>
- -oac lavc -lavcopts acodec=mp2:abitrate=224
- </screen>
-</para>
-</sect3>
-
-</sect2>
-
-<sect2 id="menc-feat-vcd-dvd-all">
-<title>Zusammenfassung</title>
-<para>
- Diese Sektion zeigt einige komplette Befehle zum Erzeugen von
- VCD/SVCD/DVD-konformen Videos.
-</para>
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-dvd">
-<title>PAL DVD</title>
-<para>
- <screen>
- mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,\
- harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:\
- vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3:\
- abitrate=192:aspect=16/9 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-dvd">
-<title>NTSC DVD</title>
-<para>
- <screen>
- mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:480,\
+36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg</screen>
+ </para>
+ </sect2>
+
+
+ <sect2 id="menc-feat-dvd-mpeg4-example">
+ <title>Beispiel</title>
+
+ <para>
+ Jetzt hast du gerade eben deine brandneue Kopie von Harry Potter und die
+ Kammer des Schreckens gekauft (natürlich die Breitbildedition), und du
+ willst diese DVD so rippen, dass du sie deinem Home Theatre PC hinzufügen
+ kannst. Dies ist eine Region-1-DVD, also ist sie NTSC. Das unten stehende
+ Beispiel wird auch auf PAL zutreffen, nur dass du
+ <option>-ofps 24000/1001</option> weglässt (weil die Ausgabeframerate die
+ gleiche ist wie die Eingabeframerate), und logischerweise werden die
+ Ausschnittsabmessungen anders sein.
+ </para>
+
+ <para>
+ Nach dem Start von <option>mplayer dvd://1</option>, verfolgen wir den
+ detailliert in der Sektion <link linkend="menc-feat-telecine">Wie mit telecine
+ und interlacing in NTSC-DVDs umgehen</link> beschriebenen Prozess und
+ entdecken, dass es progressive Video mit 24000/1001 fps ist, was bedeutet, dass
+ wir keinen inverse telecine-Filter wie <option>pullup</option> oder
+ <option>filmdint</option> anwenden müssen.
+ </para>
+
+ <para>
+ Als Nächstes wollen wir das passende Ausschnittsrechteck bestimmen, also
+ verwenden wir den crop-Erkennungsfilter:
+
+ <screen>mplayer dvd://1 -vf cropdetect</screen>
+
+ Stelle sicher, dass du einen voll gefüllten Frame anstrebst (wie zum
+ Beispiel eine helle Szene), und dass du diese Ausgabe in
+ <application>MPlayer</application>s Konsole siehst:
+
+ <screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen>
+
+ Wir spielen den Film dann mit diesem Filter ab, um seine Korrektheit zu testen:
+
+ <screen>mplayer dvd://1 -vf crop=720:362:0:58</screen>
+
+ Und wir sehen, dass er einfach perfekt aussieht. Als Nächstes vergewissern wir
+ uns, dass Breite und Höhe ein Vielfaches von 16 sind. Die Breite ist gut,
+ aber die Höhe ist es nicht. Da wir in der 7-ten Klasse in Mathe nicht gefehlt
+ haben, wissen wir, dass das am nähesten liegende Vielfache von 16 kleiner
+ als 362 der Wert 352 ist (Taschenrechner ist erlaubt).
+ </para>
+
+ <para>
+ Wir könnten einfach <option>crop=720:352:0:58</option> verwenden, aber es wäre
+ nett, ein bisschen von oben und ein bisschen von unten wegzunehmen, sodass
+ wir zentriert bleiben. Wir haben die Höhe um 10 Pixel schrumpfen lassen, aber
+ wir wollen das y-Offset nicht um 5 Pixel erhöhen, da dies eine ungerade Zahl
+ ist und die Qualität nachteilig beeinflussen würde. Statt dessen werden wir
+ das y-Offset um 4 Pixel erhöhen:
+
+ <screen>mplayer dvd://1 -vf crop=720:352:0:62</screen>
+
+ Ein anderer Grund, Pixel von beidem - oben und unten - abzuschnipseln ist,
+ dass wir sicher gehen wollen, jegliches halbschwarze Pixel eliminiert zu
+ haben, falls welche existieren. Beachte, falls das Video telecined
+ ist, stelle sicher, dass der <option>pullup</option>-Filter (oder für
+ welchen umgekehrten telecine-Filter auch immer du dich entschieden hast)
+ in der Filterkette auftaucht, bevor du zuschneidest. Ist es interlaced,
+ deinterlace es vor dem Zuschneiden.
+ (Wenn du dich entscheidest, interlaced Video beizubehalten, dann vergewissere dich, dass
+ das vertikale crop-Offset ein Vielfaches von 4 ist.)
+ </para>
+
+ <para>
+ Wenn du wirklich besorgt um den Verlust dieser 10 Pixel bist, ziehst du
+ statt dessen etwa das Herunterskalieren der Abmessungen auf das am nächsten
+ liegende Vielfache von 16 vor.
+ Die Filterkette würde dann etwa so aussehen:
+
+ <screen>-vf crop=720:362:0:58,scale=720:352</screen>
+
+ Das Video auf diese Art herunter zu skalieren wird bedeuten, dass eine
+ kleine Menge Details verloren geht, obwohl es vermutlich nicht wahrnehmbar
+ sein wird. Hoch zu skalieren führt zu niedrigerer Qualität (es sei denn,
+ du erhöhst die Bitrate). Ausschneiden sondert sämtliche dieser Pixel
+ aus. Es ist ein Kompromiss, den du unter allen Umständen
+ in Betracht ziehen solltest. Zum Beispiel, wenn das DVD-Video für das Fernsehen
+ hergestellt wurde, solltest du vertikales Skalieren vermeiden, da das
+ Zeilensampling mit der Art und Weise korrespondiert, für die der Inhalt
+ ursprünglich aufgenommen wurde.
+ </para>
+
+ <para>
+ Bei der Überprüfung sehen wir, dass unser Film ordentlich Action enthält
+ und sehr viele Details, also wählen wir 2400Kbit für unsere Bitrate.
+ </para>
+
+ <para>
+ Wir sind nun bereit, die 2-pass Encodierung durchzuführen. Erster Durchlauf:
+
+<screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
+ -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=1 \
+ -o Harry_Potter_2.avi</screen>
+
+ Und der zweite Durchlauf ist derselbe, außer dass wir <option>vpass=2</option>
+ festlegen:
+
+<screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
+ -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=2 \
+ -o Harry_Potter_2.avi</screen>
+ </para>
+
+ <para>
+ Die Optionen <option>v4mv:mbd=2:trell</option> werden die Qualität
+ außerordentlich erhöhen, auf Kosten der Encodierdauer. Es gibt
+ einen kleinen Grund, diese Optionen auszulassen, wenn das Primärziel
+ die Qualität ist. Die Optionen
+ <option>cmp=3:subcmp=3:mbcmp=3</option> wählen eine Vergleichsfunktion,
+ die eine höhere Qualität liefert als die Standardeinstellungen.
+ Du darfst mit diesem Parameter rumexperimentieren (ziehe die Manpage
+ zu möglichen Werten zu Rate) da verschiedene Funktionen abhängig vom
+ Quellmaterial einen starken Einfluss auf die Qualität haben. Wenn du zum Beispiel
+ meinst, dass <systemitem class="library">libavcodec</systemitem> zu
+ viele Blockartefakte produziert, könntest du ja das experimentelle
+ NSSE als Vergleichsfunktion via <option>*cmp=10</option> wählen.
+ </para>
+
+ <para>
+ Für diesen Film wird das resultierende AVI 138 Minuten lang und nahezu
+ 3GB groß sein. Und weil du erzählt hast, dass eine große Datei nichts
+ ausmacht, ist dies eine perfekt akzeptierbare Größe. Wolltest du sie aber
+ kleiner haben, könntest du eine niedrigere Bitrate hernehmen. Erhöhte
+ Bitraten haben verminderte Rückgaben, während wir also deutlich eine
+ Verbesserung von 1800Kbit nach 2000Kbit sehen, ist es oberhalb 2000Kbit
+ nicht so auffällig. Fühl dich frei solange herum zu experimentieren bis
+ du glücklich bist.
+ </para>
+
+ <para>
+ Weil wir das Quellvideo durch einen Denoise-Filter geschickt haben,
+ könntest du einige davon während des Playbacks wieder hinzufügen wollen.
+ Dies zusammen mit dem Nachbearbeitungsfilter <option>spp</option>
+ verbessert die Wahrnehmung der Qualität drastisch und hilft dabei,
+ blockhafte Artefakte aus dem Video zu eliminieren.
+ Mit <application>MPlayer</application>s Option <option>autoq</option>
+ kannst du den Nachbearbeitungsaufwand des spp-Filters abhängig von der
+ verfügbaren CPU variieren. An dieser Stelle kannst du auch Gamma- und/oder
+ Farbkorrektur zur besten Anpassung an dein Display verwenden, wenn du willst.
+ Zum Beispiel:
+
+ <screen>mplayer Harry_Potter_2.avi -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3</screen>
+ </para>
+
+ </sect2>
+ </sect1>
+
+
+ <sect1 id="menc-feat-xvid">
+ <title>Encodieren mit dem <systemitem class="library">XviD</systemitem>-Codec</title>
+
+ <para>
+ <systemitem class="library">XviD</systemitem> ist eine freie
+ Programmbibliothek zum Encodieren von MPEG-4 ASP-Videostreams.
+ Bevor du mit <link linkend="xvid"> zu encodieren beginnst, musst du
+ <application>MEncoder</application> so einstellen, dass er es unterstützt</link>.
+ </para>
+
+ <para>
+ Dieses Handbuch beabsichtigt, sich vorwiegend durch dieselbe Art von
+ Informationen auszuzeichnen wie x264's Encodier-Handbuch.
+ Beginne deshalb damit,
+ <link linkend="menc-feat-x264-encoding-options-intro">den ersten Teil</link>
+ dieses Handbuchs zu lesen.
+ </para>
+
+
+ <sect2 id="menc-feat-xvid-intro">
+ <title>Welche Optionen sollte ich verwenden, um die besten Resultate zu erzielen?</title>
+
+ <para>
+ Bitte beginne mit der Durchsicht der
+ <systemitem class="library">XviD</systemitem>-Sektion von
+ <application>MPlayer</application>s Manpage.
+ Diese Sektion ist als Ergänzung zur Manpage zu verstehen.
+ </para>
+
+ <para>
+ Die Standardeinstellungen von XviD sind bereits ein guter Kompromiss zwischen
+ Geschwindigkeit und Qualität, deshalb kannst du ruhig bei ihnen
+ bleiben, wenn nachfolgender Abschnitt dich allzusehr ins Grübeln bringt.
+ </para>
+ </sect2>
+
+ <sect2 id="menc-feat-xvid-encoding-options">
+ <title>Encodieroptionen von <systemitem class="library">XviD</systemitem></title>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis role="bold">vhq</emphasis>
+ Diese Einstellung betreffen den Entscheidungsalgorithmus für
+ Macroblöcke, wobei gilt, je höher die Einstellung desto weiser die
+ Entscheidung.
+ Die Standardeinstellung kann für jede Encodierung sicher verwendet
+ werden, während höhere Einstellungen immer für PSNR hilfreich, jedoch
+ signifikant langsamer sind.
+ Nimm bitte zur Kenntnis, dass ein besserer PSNR nicht notwedigerweise
+ bedeutet, dass das Bild besser aussehen wird, aber er zeigt dir, dass
+ du näher am Original bist.
+ Wird er deaktiviert, beschleunigt dies die Encodierung spürbar; wenn
+ Geschwindigkeit ein Kriterium für dich ist, kann dieser Kompromiss es wert sein.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">bvhq</emphasis>
+ Dies erledigt dieselbe Arbeit wie vhq, macht dies jedoch bei B-Frames.
+ Es hat einen vernachlässigbar kleinen Einfluss auf die Geschwindigkeit, und
+ verbessert geringfügig die Qualität (um etwa +0.1dB PSNR).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">max_bframes</emphasis>
+ Eine höhere Anzahl von erlaubten hintereinander folgenden B-frames verbessert
+ gewöhnlich die Komprimierbarkeit, obwohl dies auch zu mehr Blockartefakten
+ führt.
+ Die Standardeinstellung ist ein guter Kompromiss zwischen Komprimierbarkeit
+ und Qualität, aber wenn du Bitraten-hungrig bist kannst du sie bis auf 3
+ hochschrauben.
+ Du kannst sie auch auf 1 oder 0 verringern, wenn du auf perfekte Qualität
+ abzielst, wenngleich du in diesem Fall sicherstellen solltest, dass deine
+ Zielbitrate hoch genug ist, um zu gewährleisten, dass der Encoder nicht
+ die Quantisierer höher setzen muss, um den Wert zu erreichen.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">bf_threshold</emphasis>
+ Dies kontrolliert die B-Frame-Empfindlichkeit des Encoders, wobei ein
+ höherer Wert dazu führt, dass mehr B-Frames angewendet werden (und
+ umgekehrt).
+ Diese Einstellung muss zusammen mit <option>max_bframes</option>
+ verwendet werden; bist du Bitraten-hungrig, solltest du beides erhöhen,
+ <option>max_bframes</option> und <option>bf_threshold</option>,
+ während du <option>max_bframes</option> erhöhen und
+ <option>bf_threshold</option> verringern kannst, sodass der Encoder
+ B-Frames nur an Stellen anwendet, die diese auch
+ <emphasis role="bold">wirklich</emphasis> brauchen.
+ Eine niedrigere Zahl an <option>max_bframes</option> und ein höherer Wert
+ bei <option>bf_threshold</option> ist möglicherweise keine kluge Wahl,
+ da dies den Encoder zwingt, B-Frames in Stellen zu setzen, die nicht
+ davon profitieren würden und dies daher die visuelle Qualität reduziert.
+ Wie auch immer, wenn du mit Standalone-Playern kompatibel bleiben musst,
+ die nur alte DivX-Profile unterstützen (der wiederum höchstens einen
+ aufeinander folgenden B-Frame unterstützt), wäre dies dein einziger Weg,
+ die Komprimierbarkeit mittels B-Frames zu verbessern.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">trellis</emphasis>
+ Optimiert den Quantisierungsprozess um einen optimalen Kompromiss
+ zwischen PSNR und Bitrate zu erhalten, was signifikant Bit-sparend
+ wirkt.
+ Diese Bits können woanders im Video wieder verwendet werden
+ und verbessern die visuelle Gesamtqualität.
+ Du solltest es immer eingeschaltet lassen, da sein Einfluss auf
+ die Qualität gewaltig ist.
+ Gerade wenn du Geschwindigkeit haben willst, darfst du es nicht
+ deaktivieren, solange du nicht <option>vhq</option>
+ und alle anderen CPU-hungrigeren Optionen auf
+ ein Minimum heruntergesetzt hast.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">hq_ac</emphasis>
+ Aktiviert die Vorhersagemethode für einen besseren Koeffizientenaufwand, was
+ die Dateigröße leicht um etwa 0.15 bis 0.19% reduziert (was mit einer
+ PSNR-Erhöhung um weniger als 0.01dB einhergeht), während es eine
+ vernachlässigbar kleine Einwirkung auf die Geschwindigkeit hat.
+ Es empfiehlt sich deshalb, dies immer eingeschaltet zu lassen.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">cartoon</emphasis>
+ Entworfen, um Kartoon-Inhalt besser zu encodieren, und hat keine Auswirkung
+ auf die Geschwindigkeit, da es lediglich die Heuristiken zur Bestimmung des
+ Modus für diese Art Inhalt abstimmt.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">me_quality</emphasis>
+ Diese Einstellung ist da, um die Präzision der Bewegungseinschätzung zu
+ kontrollieren.
+ Je höher <option>me_quality</option>, desto präziser wird die Schätzung
+ der Originalbewegung sein, und desto besser wird der resultierende Ausschnitt
+ die Originalbewegung einfangen.
+ </para>
+
+ <para>
+ Die Standardeinstellung ist in jedem Fall die beste;
+ folglich ist es nicht empfehlenswert, sie herunter zu drehen,
+ es sei denn du hast es wirklich auf Geschwindigkeit abgesehen,
+ da alle durch eine gute Bewegungseinschätzung gesparten Bits
+ woanders verwendet würden, was die Gesamtqualität verbessern
+ würde.
+ Gehe deshalb nie unter 5, selbst wenn es der letzte Ausweg
+ sein sollte.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">chroma_me</emphasis>
+ Verbessert die Bewegungsabschätzung dadurch, dass auch die
+ chroma-(Farb)-Informationen einbezogen werden, wobei
+ <option>me_quality</option> alleine nur luma (Graustufen)
+ verwendet.
+ Dies verlangsamt die Encodierung um 5-10%, verbessert aber die
+ visuelle Qualität durch Reduzieren von Blockeffekten ein wenig
+ und reduziert die Dateigröße um rund 1.3%.
+ Wenn du Geschwindigkeit haben willst, solltest du diese Option
+ deaktivieren, bevor du anfängst zu überlegen,
+ <option>me_quality</option> zu reduzieren.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">chroma_opt</emphasis>
+ Ist dafür vorgesehen, die chroma-Bildqualität rund um reine
+ weiße/schwarze Kanten zu verbessern, eher noch als die
+ Kompression zu verbessern.
+ Dies kann dabei helfen, den &quot;Rote Stufen&quot;-Effekt zu reduzieren.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">lumi_mask</emphasis>
+ Versucht, weniger Bitrate auf den Teil eines Bildes zu übergeben,
+ der vom menschlichen Auge nicht gut zu sehen ist, was dem Encoder
+ erlauben sollte, die eingesparten Bits auf wichtigere Teile des
+ Bildes anzuwenden.
+ Die durch diese Option gewonnene Encodierungsqualität hängt in
+ hohem Maße von persönlichen Vorlieben und von Monitortyp und
+ dessen Einstellungen ab (typischerweise wird es nicht gut aussehen,
+ wenn er hell oder ein TFT-Monitor ist).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">qpel</emphasis>
+ Hebt die Anzahl Kandidaten der Bewegungsvektoren durch
+ Erhöhung der Präzision der Bewegungsabschätzung von einem
+ halben Pixel (halfpel) auf ein viertel Pixel
+ (quarterpel) an.
+ Die Idee dahinter ist, bessere Bewegungsvektoren zu finden,
+ was wiederum die Bitrate reduziert (deshalb wird die Qualität
+ verbessert).
+ Bewegungsvektoren mit viertel Pixel Präzision brauchen ein
+ paar Extrabits für die Codierung, die Bewegungsvektoren ergeben aber
+ nicht immer ein (viel) besseres Resultat.
+ Sehr oft verbraucht der Codec dennoch Bits für die Extrapräzision,
+ jedoch wird im Gegenzug eine geringe oder keine Extraqualität
+ gewonnen.
+ Unglücklicherweise gibt es keinen Weg, den möglichen Gewinn von
+ <option>qpel</option> vorzuaussagen, also musst du eigentlich
+ mit und ohne encodieren, um sicher zu gehen.
+ </para>
+ <para>
+ <option>qpel</option> kann fast die doppelte Encodierzeit in
+ Anspruch nehmen und erfordert etwa 25% mehr
+ Verarbeitungsleistung fürs Decodieren.
+ Es wird nicht von allen Standalone-Playern unterstützt.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">gmc</emphasis>
+ Versucht, Bits beim Schwenken von Szenen einzusparen, indem es einen
+ einzelnen Bewegungsvektor für den gesamten Frame verwendet.
+ Dies erhöht fast immer den PSNR, verlangsamt aber signifikant
+ die Encodierung (genauso wie die Decodierung).
+ Deshalb solltest du es nur nutzen, wenn du <option>vhq</option>
+ auf das Maximum gestellt hast.
+ <systemitem class="library">XviD</systemitem>s GMC ist höher
+ entwickelt als das von DivX, wird aber nur von ein paar
+ Standalone-Playern unterstützt.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+
+ <sect2 id="menc-feat-xvid-encoding-profiles">
+ <title>Encodierung Profile</title>
+ <para>
+ XviD unterstützt Encodierungsprofile über die Option <option>profile</option>,
+ die dazu verwendet werden, den Eigenschaften des XviD-Videostreams
+ Restriktionen so aufzuerlegen, dass es überall dort abgespielt werden kann,
+ wo das gewählte Profil unterstützt wird.
+ Die Restriktionen beziehen sich auf Auflösungen, Bitraten und
+ bestimmte MPEG-4-Features.
+ Die folgende Tabelle zeigt, was jedes Profil unterstützt.
+ </para>
+ <informaltable>
+ <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"/>
+ <colspec colnum="17" colname="col17"/>
+ <spanspec spanname="spa2-5" namest="col2" nameend="col5"/>
+ <spanspec spanname="spa6-11" namest="col6" nameend="col11"/>
+ <spanspec spanname="spa12-17" namest="col12" nameend="col17"/>
+ <tbody>
+ <row>
+ <entry></entry>
+ <entry spanname="spa2-5">Einfach</entry>
+ <entry spanname="spa6-11">Einfach erweitert</entry>
+ <entry spanname="spa12-17">DivX</entry>
+ </row>
+ <row>
+ <entry>Profilname</entry>
+ <entry>0</entry>
+ <entry>1</entry>
+ <entry>2</entry>
+ <entry>3</entry>
+ <entry>0</entry>
+ <entry>1</entry>
+ <entry>2</entry>
+ <entry>3</entry>
+ <entry>4</entry>
+ <entry>5</entry>
+ <entry>Handheld</entry>
+ <entry>Portable NTSC</entry>
+ <entry>Portable PAL</entry>
+ <entry>Home Theater NTSC</entry>
+ <entry>Home Theater PAL</entry>
+ <entry>HDTV</entry>
+ </row>
+ <row>
+ <entry>Breite [Pixel]</entry>
+ <entry>176</entry>
+ <entry>176</entry>
+ <entry>352</entry>
+ <entry>352</entry>
+ <entry>176</entry>
+ <entry>176</entry>
+ <entry>352</entry>
+ <entry>352</entry>
+ <entry>352</entry>
+ <entry>720</entry>
+ <entry>176</entry>
+ <entry>352</entry>
+ <entry>352</entry>
+ <entry>720</entry>
+ <entry>720</entry>
+ <entry>1280</entry>
+ </row>
+ <row>
+ <entry>Höhe [Pixel]</entry>
+ <entry>144</entry>
+ <entry>144</entry>
+ <entry>288</entry>
+ <entry>288</entry>
+ <entry>144</entry>
+ <entry>144</entry>
+ <entry>288</entry>
+ <entry>288</entry>
+ <entry>576</entry>
+ <entry>576</entry>
+ <entry>144</entry>
+ <entry>240</entry>
+ <entry>288</entry>
+ <entry>480</entry>
+ <entry>576</entry>
+ <entry>720</entry>
+ </row>
+ <row>
+ <entry>Framerate [fps]</entry>
+ <entry>15</entry>
+ <entry>15</entry>
+ <entry>15</entry>
+ <entry>15</entry>
+ <entry>30</entry>
+ <entry>30</entry>
+ <entry>15</entry>
+ <entry>30</entry>
+ <entry>30</entry>
+ <entry>30</entry>
+ <entry>15</entry>
+ <entry>30</entry>
+ <entry>25</entry>
+ <entry>30</entry>
+ <entry>25</entry>
+ <entry>30</entry>
+ </row>
+ <row>
+ <entry>Max. mittlere Bitrate [kbps]</entry>
+ <entry>64</entry>
+ <entry>64</entry>
+ <entry>128</entry>
+ <entry>384</entry>
+ <entry>128</entry>
+ <entry>128</entry>
+ <entry>384</entry>
+ <entry>768</entry>
+ <entry>3000</entry>
+ <entry>8000</entry>
+ <entry>537.6</entry>
+ <entry>4854</entry>
+ <entry>4854</entry>
+ <entry>4854</entry>
+ <entry>4854</entry>
+ <entry>9708.4</entry>
+ </row>
+ <row>
+ <entry>Höchstwert mittlere Bitrate über 3 Sek. [kbps]</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>800</entry>
+ <entry>8000</entry>
+ <entry>8000</entry>
+ <entry>8000</entry>
+ <entry>8000</entry>
+ <entry>16000</entry>
+ </row>
+ <row>
+ <entry>Max. B-Frames</entry>
+ <entry>0</entry>
+ <entry>0</entry>
+ <entry>0</entry>
+ <entry>0</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>0</entry>
+ <entry>1</entry>
+ <entry>1</entry>
+ <entry>1</entry>
+ <entry>1</entry>
+ <entry>2</entry>
+ </row>
+ <row>
+ <entry>MPEG-Quantisierung</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>Adaptive Quantisierung</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ </row>
+ <row>
+ <entry>Interlaced Encodierung</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ </row>
+ <row>
+ <entry>Viertelpixel</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>Globale Bewegungskompensierung</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect2>
+
+ <sect2 id="menc-feat-xvid-example-settings">
+ <title>Encodierungseinstellungen Beispiele</title>
+
+ <para>
+ Die folgenden Einstellungen sind Beispiele unterschiedlicher
+ Kombinationen von Encodierungsoptionen, die den Kompromiss
+ zwischen Geschwindigkeit gegenüber Qualität bei gleicher
+ Zielbitrate betreffen.
+ </para>
+
+ <para>
+ Alle Encodierungseinstellungen wurden auf einem Beispielvideo
+ mit 720x448 @30000/1001 fps getestet, die Zielbitrate war 900kbps,
+ und der Rechner war ein
+ AMD-64 3400+ mit 2400 Mhz im 64bit-Modus.
+ Jede Encodierungseinstellung zeichnet sich aus durch die gemessene
+ Encodiergeschwindigkeit (in Frames pro Sekunde) und den PSNR-Verlust
+ (in dB) im Vergleich zu Einstellungen für &quot;sehr hohe Qualität&quot;.
+ Bitte hab Verständnis, dass du abhängig von deiner Quelldatei,
+ deinem Rechnertyp und Entwicklungsfortschritten sehr unterschiedliche
+ Resultate erzielen wirst.
+ </para>
+
+ <para>
+ <informaltable frame="all">
+ <tgroup cols="4">
+ <thead>
+ <row><entry>Beschreibung</entry><entry>Encodieroptionen</entry><entry>Geschwindigkeit (in fps)</entry><entry>Relativer PSNR-Verlust (in dB)</entry></row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>Sehr hohe Qualität</entry>
+ <entry><option>chroma_opt:vhq=4:bvhq=1:quant_type=mpeg</option></entry>
+ <entry>16fps</entry>
+ <entry>0dB</entry>
+ </row>
+ <row>
+ <entry>Hohe Qualität</entry>
+ <entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry>
+ <entry>18fps</entry>
+ <entry>-0.1dB</entry>
+ </row>
+ <row>
+ <entry>Schnell</entry>
+ <entry><option>turbo:vhq=0</option></entry>
+ <entry>28fps</entry>
+ <entry>-0.69dB</entry>
+ </row>
+ <row>
+ <entry>Echtzeit</entry>
+ <entry><option>turbo:nochroma_me:notrellis:max_bframes=0:vhq=0</option></entry>
+ <entry>38fps</entry>
+ <entry>-1.48dB</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </para>
+ </sect2>
+
+ </sect1>
+
+ <sect1 id="menc-feat-x264">
+ <title>Encodieren mit dem <systemitem class="library">x264</systemitem>-Codec</title>
+ <para>
+ <systemitem class="library">x264</systemitem> ist eine freie
+ Programmbibliothek zum Encodieren von H.264/AVC-Videostreams.
+ Bevor du mit <link linkend="xvid"> zu encodieren beginnst, musst
+ du <application>MEncoder</application> so einstellen, dass er es unterstützt</link>.
+ </para>
+
+ <sect2 id="menc-feat-x264-encoding-options">
+ <title>Encodieroptionen von x264</title>
+
+ <para>
+ Bitte beginne mit der Durchsicht der
+ <systemitem class="library">x264</systemitem>-Sektion von
+ <application>MPlayer</application>s Manpage.
+ Diese Sektion ist als Anhang zur Manpage vorgesehen.
+ Hier wirst du Schnellhinweise dazu finden, welche Optionen am
+ wahrscheinlichsten die meisten Leute interessieren. Die Manpage
+ ist knapper gehalten, aber auch vollständiger, und zeigt oft
+ viel bessere technische Details.
+ </para>
+
+ <sect3 id="menc-feat-x264-encoding-options-intro">
+ <title>Einführung</title>
+ <para>Dieses Handbuch berücksichtigt zwei Hauptkategorien der Encodieroptionen:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>
+ Optionen, die hauptsächlich Encodierdauer gegenüber Qualität abwägen
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Optionen, die zur Erfüllung zahlreicher persönlicher Vorlieben und spezieller Anforderungen nützlich sind
+ </para>
+ </listitem>
+ </orderedlist>
+
+ <para>
+ Letztendlich kannst nur du entscheiden, welche Optionen für deine
+ Zwecke am besten geeignet sind. Die Entscheidung für die erste
+ Klasse der Optionen ist die einfachste:
+ Du musst nur entscheiden, ob du denkst, dass Qualitätsunterschiede
+ Geschwindigkeitsunterschiede rechtfertigen. Für die zweite Klasse
+ der Optionen sind die Vorzüge weitaus subjektiver, und mehr Faktoren
+ können involviert sein. Beachte, dass manche der Optionen für
+ &quot;persönliche Vorlieben und spezielle Anforderungen&quot;
+ noch große Auswirkungen auf Geschwindigkeit oder Qualität haben können,
+ das ist aber nicht, wozu sie primär benutzt werden. Ein paar der
+ Optionen für &quot;persönliche Vorlieben&quot; können sogar Änderungen
+ verursachen, die für manche Leute besser aussehen aber schlechter
+ für andere.
+ </para>
+
+ <para>
+ Bevor du fortfährst, musst du verstehen, dass dieses Handbuch nur
+ eine Qualitätsmetrik verwendet: globaler PSNR.
+ Für eine kurze Erklärung, was PSNR ist, schau dir
+ <ulink url="http://en.wikipedia.org/wiki/PSNR">den Wikipedia-Artikel zu PSNR</ulink>
+ an.
+ Globaler PSNR ist die letzte gemeldete PSNR-Nummer, wenn du die
+ Option <option>psnr</option> in <option>x264encopts</option>
+ einbindest.
+ Jedesmal wenn du eine Forderung nach PSNR liest, ist eine der Annahmen
+ hinter dieser Forderung, dass gleiche Bitraten verwendet werden.
+ </para>
+
+ <para>
+ Nahezu alle dieser Handbuchkommentare unterstellen, dass du
+ 2-pass anwendest.
+ Beim Vergleich der Optionen gibt es zwei Hauptgründe, 2-pass-Encodierung
+ zu nutzen.
+ Der erste ist, 2-pass bringt rund 1dB PSNR, was einen sehr
+ großen Unterschied ausmacht.
+ Der zweite ist, Optionen zu testen, indem man direkte Qualitätsvergleiche
+ zu 1-pass-Encodierung anstellt, führt einen einen wichtigen verwirrenden
+ Faktor ein: die Bitrate variiert bei jeder Encodierung oft signifikant.
+ Es ist nicht immer einfach zu sagen, ob Qualitätsänderungen vorwiegend
+ auf geänderte Optionen zurückzuführen sind oder ob sie meist
+ essentielle, zufällige Unterschiede in der erhaltenen Bitrate reflektieren.
+ </para>
+
+ </sect3>
+
+ <sect3 id="menc-feat-x264-encoding-options-speedvquality">
+ <title>Optionen die primär Geschwindigkeit und Qualität betreffen</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis role="bold">subq</emphasis>:
+ Von den Optionen, die dir erlauben, einen Kompromiss zwischen
+ Geschwindigkeit und Qualität einzugehen, sind <option>subq</option>
+ und <option>frameref</option> (siehe unten) gewöhnlich die bei weitem
+ wichtigsten.
+ Wenn du dich für die Optimierung von entweder Geschwindigkeit oder Qualität
+ interessierst, sind diese die ersten, die du in Erwägung ziehen solltest.
+ Bei der Dimension Geschwindigkeit, interagieren die Optionen
+ <option>frameref</option> und <option>subq</option> ziemlich stark
+ miteinander.
+ Die Erfahrung zeigt, dass mit einem Referenzframe <option>subq=5</option>
+ (die Standardeinstellung) das ganze etwa 35% mehr Zeit in Anspruch nimmt als
+ <option>subq=1</option>.
+ Mit 6 Referenzframes wächst der Nachteil auf 60%.
+ Der Effekt, den <option>subq</option> auf den PSNR ausübt, scheint ziemlich
+ konstant zu sein, ungeachtet der Anzahl der Referenzframes.
+ Typischerweise erreicht <option>subq=5</option> einen 0.2-0.5 dB höheren globalen
+ PSNR im Vergleich zu <option>subq=1</option>.
+ Dies ist gewöhnlich ausreichend, um sichtbar zu werden.
+ </para>
+ <para>
+ <option>subq=6</option> ist der langsamste Modus mit der höchsten
+ Qualität.
+ Im Vergleich zu <option>subq=5</option> gewinnt sie gewöhnlich 0.1-0.4 dB
+ globalen PSNR mit Geschwindigkeitseinbußen, die sich zwischen 25%-100%
+ bewegen.
+ Im Unterschied zu anderen Levels von <option>subq</option> hängt das
+ Verhalten von <option>subq=6</option> nicht sehr von <option>frameref</option>
+ und <option>me</option> ab. Statt dessen hängt die Effektivität von
+ <option>subq=6</option> größtenteils von der Anzahl der verwendeten
+ B-Frames ab. Im Normalgebrauch bedeutet dies, <option>subq=6</option>
+ hat einen großen Einfluss auf Geschwindigkeit und Qualität
+ in komplexen, stark bewegten Szenen, kann aber auch einen geringen Effekt
+ in Szenen mit wenig Bewegung haben. Beachte, dass dennoch empfohlen wird,
+ <option>bframes</option> immer auf etwas anderes als null
+ zu setzen (siehe unten).
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">frameref</emphasis>:
+ <option>frameref</option> ist per Voreinstellung auf 1 gesetzt, jedoch
+ solltest du deshalb nicht darauf schließen, dass es unbedingt
+ auf 1 gesetzt sein muss.
+ Allein die Erhöhung von <option>frameref</option> auf 2 bringt rund
+ 0.15dB PSNR mit einem Geschwindigkeitsnachteil von 5-10%; dies sieht nach
+ einem guten Kompromiss aus.
+ <option>frameref=3</option> bringt rund 0.25dB PSNR mehr als
+ <option>frameref=1</option>, was einen sichtbaren Unterschied machen
+ sollte.
+ <option>frameref=3</option> ist rund 15% langsamer als
+ <option>frameref=1</option>.
+ Leider setzen vermindernde Rückgaben schnell ein.
+ <option>frameref=6</option> kann erwartungsgemäß nur
+ 0.05-0.1 dB mehr als <option>frameref=3</option> bei zusätzlichen
+ 15% Geschwindigkeitsnachteil.
+ Oberhalb <option>frameref=6</option> sind die Qualitätsgewinne
+ für gewöhnlich sehr klein (obwohl du während der ganzen Diskussion
+ im Kopf behalten solltest, dass sie abhängig von deiner Quelle stark
+ variieren können).
+ In einem ziemlich typischen Fall wird <option>frameref=12</option>
+ den globalen PSNR um ein bisschen mehr als 0.02dB gegenüber
+ <option>frameref=6</option> verbessern, bei Geschwindigkeitseinbußen
+ von 15%-20%.
+ Bei so hohen <option>frameref</option>-Werten ist das wirklich
+ einzig Gute, dass man sagen kann, dass ein weiteres Anheben dieses
+ Wertes ziemlich sicher nie den PSNR <emphasis role="bold">schädigen</emphasis>
+ wird, jedoch sind zusätzliche Qualitätsvorteile sogar kaum messbar,
+ geschweige denn wahrnehmbar.
+ </para>
+ <note><title>Beachte:</title>
+ <para>
+ Das Erhöhen von <option>frameref</option> auf unnötig hohe Werte
+ <emphasis role="bold">kann</emphasis> und
+ <emphasis role="bold">tut dies üblicherweise auch</emphasis>
+ die Codiereffizienz schädigen, wenn du CABAC ausschaltest.
+ Mit eingeschaltetem CABAC (das Standardverhalten) scheint die
+ Möglichkeit, <option>frameref</option> &quot;zu hoch&quot;
+ zu setzen, gegenwärtig zu weit entfernt um sich Sorgen zu machen,
+ und in der Zukunft werden womöglich Optimierungen diese Möglichkeit
+ ganz und gar ausschließen.
+ </para>
+ </note>
+ <para>
+ Wenn du auf Geschwindigkeit abzielst, ist ein vernünftiger
+ Kompromiss, im ersten Durchgang niedrigere <option>subq</option>- und
+ <option>frameref</option>-Werte zu nehmen, und sie danach im
+ zweten Durchgang zu erhöhen.
+ Typischerweise hat dies einen vernachlässigbar negativen Effekt
+ auf die Encodierqualität: Du wirst womöglich unter 0.1dB PSNR
+ verlieren, was viel zu klein für einen sichtbaren Unterschied
+ sein sollte.
+ Trotzdem, unterschiedliche Werte für <option>frameref</option>
+ können auf verschiedene Weise die Frametypenbestimmung beeinflussen.
+ Höchstwahrscheinlich sind dies außerordentlich seltene Fälle,
+ willst du jedoch wirklich sicher gehen, ziehe in Betracht, ob
+ dein Video entweder Vollbild- respektive Einblendungsmuster
+ oder sehr große temporäre Überdeckungen enthält, was einen I-Frame
+ erzwingen könnte.
+ Passe <option>frameref</option> des ersten Durchgangs so an,
+ dass es groß genug ist, die Dauer des Einblendungszyklus
+ (oder der Überdeckungen) zu enthalten.
+ Zum Beispiel, wenn die Szene zwischen zwei Bildern über eine
+ Zeitspanne von drei Frames rückwärts und vorwärts springt,
+ setze <option>frameref</option> des ersten Durchgangs auf 3
+ oder höher.
+ Dieser Sachverhalt kommt vermutlich extrem selten in
+ Videomaterial mit Live Action vor, erscheint aber manchmal
+ bei eingefangenen Computerspiel-Sequenzen.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">me</emphasis>:
+ Diese Option dient der Wahl der Suchmethode der Bewegungseinschätzung.
+ Diese Option zu verändern stellt einen überschaubaren Kompromiss
+ zwischen Qualität und Geschwindigkeit dar.
+ <option>me=1</option> ist nur ein paar Prozent schneller als
+ die Standardsuche, auf Kosten von unter 0.1dB globalem PSNR. Die
+ Standardeinstellung (<option>me=2</option>) ist ein angemessener
+ Kompromiss zwischen Qualität und Geschwindigkeit.
+ <option>me=3</option> bringt ein wenig unter 0.1dB globalem PSNR,
+ mit Geschwindigkeitsnachteil, der abhängig von <option>frameref</option>
+ variiert. Bei hohen <option>frameref</option>-Werten (z.B. 12 oder so)
+ ist <option>me=3</option> etwa 40% langsamer als die Standardeinstellung
+ <option>me=2</option>. Mit <option>frameref=3</option> fällt der
+ Geschwindigkeitsnachteil auf 25%-30%.
+ </para>
+ <para>
+ <option>me=4</option> verwendet eine gründliche, für die praktische
+ Anwendung zu langsame Suche.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">4x4mv</emphasis>:
+ Diese Option aktiviert die Verwendung von 8x4, 4x8 und 4x4 Unterteilungen
+ in den vorhergesagten Macroblöcken. Sie zu aktivieren führt zu einem
+ recht beständigen Geschwindigkeitsverlust von 10%-15%. Sie ist
+ ziemlich nutzlos bei Quellen, die nur langsame Bewegungen enthalten,
+ obwohl in manchen Quellen mit sehr viel Bewegung und vielen kleinen,
+ sich bewegenden Objekten Zugewinne von etwa 0.1dB erwartet werden können.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">bframes</emphasis>:
+ Wenn du gewohnt bist, mit anderen Codecs zu encodieren, hast du
+ womöglich empfunden, dass B-Frames nicht immer nützlich sind.
+ Bei H.264 wurde dies geändert: es gibt neue Techniken und Blocktypen,
+ die in B-Frames möglich sind.
+ Für gewöhnlich kann selbst ein einfältiger Algorithmus zur Wahl
+ der B-Frames einen signifikanten PSNR-Vorteil bringen.
+ Es ist interessant festzustellen, dass die Anwendung von B-Frames
+ normalerweise den zweiten Durchgang ein bisschen beschleunigt,
+ und er kann auch eine Encodierung mit einfachem Durchgang etwas
+ schneller machen, wenn adaptive B-Frame-Bestimmung deaktiviert
+ ist.
+ </para>
+ <para>
+ Mit deaktivierter adaptiver B-Framebestimmung
+ (<option>nob_adapt</option> von <option>x264encopts</option>)
+ ist der optimale Wert für diese Einstellung normalerweise nicht
+ mehr als <option>bframes=1</option>, andernfalls leiden Szenen
+ mit sehr viel Bewegung darunter.
+ Mit aktivierter adaptiver B-Framebestimmung (das Standardverhalten)
+ ist es sicher, höhere Werte zu verwenden; der Encoder wird die Anwendung
+ von B-Frames in Szenen reduzieren, in denen sie die Kompression
+ schädigen könnten.
+ Der Encoder zieht es selten vor, mehr als 3 oder 4 B-Frames zu
+ verwenden; diese Option höher zu setzen wird einen geringen Effekt haben.
+ </para></listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">b_adapt</emphasis>:
+ Beachte: Dies ist standardmäßig eingeschaltet.
+ </para>
+ <para>
+ Ist diese Option aktiviert, wird der Encoder einen einigermaßen schnellen
+ Entscheidungsprozess zur Reduzierung der Anzahl B-Frames in Szenen anwenden, die
+ nicht viel von ihnen profitieren würden.
+ Du kannst <option>b_bias</option> dazu verwenden, zu optimieren wie
+ froh der Encoder über B-Frames sein soll.
+ Der Geschwindigkeitsnachteil adaptiver B-Frames ist gegenwärtig ziemlich
+ bescheiden, und genauso ist der potentielle Qualitätsgewinn.
+ Es sollte aber normalerweise nicht schaden.
+ Beachte, dass dies nur Geschwindigkeit und Frametypenbestimmung im ersten
+ Durchgang betrifft.
+ <option>b_adapt</option> und <option>b_bias</option> haben keinen
+ Effekt auf nachfolgende Durchgänge.
+ </para>
+ </listitem>
+
+ <listitem><para>
+ <emphasis role="bold">b_pyramid</emphasis>:
+ Du kannst diese Option genauso gut aktivieren, falls du >=2 B-Frames
+ verwendest; wie die Manpage dir sagt, erreichst du eine kleine
+ Qualitätsverbesserung bei keinerlei Geschwindigkeitseinbuße.
+ Beachte, dass diese Videos von libavcodec-basierten Decodern
+ älter als etwa 5. März 2005 nicht gelesen werden können.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">weight_b</emphasis>:
+ In typischen Fällen gibt es nicht viel Gewinn mit dieser Option.
+ Trotzdem, in überblendenden oder ins Schwarze übergehenden Szenen
+ liefert die gewichtete Vorhersage ziemlich große Einsparungen bei der Bitrate.
+ In MPEG-4 ASP wird ein Übergang ins Schwarze gewöhnlich am besten
+ als eine Serie aufwändiger I-Frames codiert; das Verwenden einer
+ gewichteten Vorhersage in B-Frames macht es möglich, wenigstens
+ manche von diesen in viel kleinere B-Frames zu wandeln.
+ Der Verlust an Encodierzeit ist minimal, da keine extra Bestimmungen
+ vorgenommen werden müssen.
+ Auch werden die CPU-Anforderungen des Encoders, im Gegensatz zu den
+ Einschätzungen mancher Leute, von gewichteter Vorhersage nicht sonderlich
+ beeinflusst, ansonsten bleibt alles gleich.
+ </para>
+ <para>
+ Leider hat der aktuelle Algorithmus zur adaptiven B-Frame-Bestimmung
+ eine starke Tendenz, B-Frames während des Fadens zu verhindern.
+ Bis sich dies ändert, kann es eine gute Idee sein,
+ <option>nob_adapt</option> zu deinen x264encopts hinzuzufügen, falls
+ du erwartest, dass Fades einen großen Effekt in deinem jeweiligen
+ Videoclip erzeugen.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect3>
+
+ <sect3 id="menc-feat-x264-encoding-options-misc-preferences">
+ <title>Diverse Eigenschaften betreffende Optionen</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis role="bold">2-pass-Encodierung</emphasis>:
+ Oben wurde vorgeschlagen, immer 2-pass-Encodierung anzuwenden.
+ Es gibt aber durchaus Gründe, dies nicht zu tun. Beispielsweise bist du,
+ wenn du Live-TV aufnimmst und in Echtzeit encodierst,
+ gezwungen, einen einzigen Durchgang zu verwenden.
+ Auch ist ein Durchgang offensichtlich schneller als zwei Durchgänge;
+ wenn du exakt die gleichen Optionen bei beiden Durchgängen anwendest,
+ ist das Encodieren in zwei Durchgängen mindestens zweimal so langsam.
+ </para>
+ <para>
+ Noch gibt es sehr gute Gründe, in zwei Durchgängen zu encodieren.
+ Zum einen ist Ratenkontrolle in einem Durchgang kein Allheilmittel.
+ Sie trifft oft eine unvernünftige Auswahl, weil sie das große
+ Bild nicht sehen kann. Zum Beispiel angenommen, du hast ein zwei Minuten
+ langes Video bestehend aus zwei ausgeprägten Hälften. Die erste Hälfte
+ besitzt eine 60 Sekunden dauernde Szene mit sehr viel Bewegung, die
+ einzeln für sich etwa 2500kbps benötigt, um anständig auszusehen.
+ Direkt daruffolgend kommt eine viel weniger anspruchsvolle 60 Sekunden
+ lange Szene, die bei 300kbps gut aussieht. Angenommen du forderst in
+ der Theorie 1400kbps an, was beiden Szenen ausreichend entgegenkommen
+ würde. Die Ratenkontrolle in einem Durchgang wird in diesem Fall
+ ein paar &quot;Fehler&quot; machen. Zuallererst wird es in beiden Segmenten
+ 1400kbps anpeilen. Das erste Segment könnte schwer überquantisiert enden,
+ was es unakzeptabel und unangemessen blockhaft aussehen lässt.
+ Das zweite Segment wird schwer unterquantisiert sein; es sieht vielleicht
+ perfekt aus, aber der Bitratenverlust dieser Perfektion wird komplett
+ unangemessen sein.
+ Noch schwerer vermeidbar ist das Problem am Übergang beider Szenen.
+ Die ersten Sekunden der Hälfte mit wenig Bewegung wird enorm
+ überquantisiert sein, weil die Ratenkontrolle noch die Art Anforderung
+ an die Bitrate erwartet, der sie in der ersten Hälfte des Videos begegnet
+ war. Diese &quot;Fehlerperiode&quot; der extrem überquantisierten Szene
+ mit wenig Bewegung wird fürchterlich schlecht aussehen, und wird sogar
+ weniger als die 300kbps in Anspruch nehmen als das, was sie genommen hätte, um annehmbar
+ auszusehen. Es gibt Mittel und Wege, diese Fälle des Encodierens in einem
+ Durchgang zu mildern, diese werden allerdingst dahin tendieren, die
+ fehlerhaften Vorhersagen der Bitraten zu häufen.
+ </para>
+ <para>
+ Multipass-Ratenkontrolle kann gegenüber der eines einzigen Durchgangs
+ enorm große Vorteile bieten.
+ Indem sie die im ersten Encodierungsdurchlauf gesammelte Statistik
+ verwendet, kann der Encoder mit angemessener Genauigkeit den Aufwand
+ (in Bit) abschätzen, den das Encodieren jeden gegebenen Frames bei
+ jedem gegebenen Quantisierer erfordert. Dies erlaubt eine viel
+ rationalere, besser geplante Zuweisung von Bits zwischen den
+ bithungrigen Szenen mit viel Bewegung und denen bescheidenen mit
+ wenig Bewegung.
+ Siehe <option>qcomp</option> unten für einige Ideen darüber, wie man
+ diese Zuweisungen nach seinem Geschmack optimiert.
+ </para>
+ <para>
+ Darüber hinaus brauchen zwei Durchgänge zweimal so lang wie ein Durchgang.
+ Du kannst die Optionen im ersten Durchgang auf höhere Geschwindigkeit
+ und niedrigere Qualität optimieren.
+ Wenn du deine Optionen geschickt wählst, kannst du einen sehr schnellen
+ ersten Durchgang hinkriegen.
+ Die resultierende Qualität im zweiten Durchgang wird geringfügig niedriger
+ ausfallen, weil die Größenvorhersage weniger akkurat ist, jedoch
+ ist die Qualitätsdifferenz normalerweise viel zu klein, um sichtbar zu sein.
+ Versuche zum Beispiel <option>subq=1:frameref=1</option> zu
+ <option>x264encopts</option> des ersten Durchgangs hinzuzufügen.
+ Verwende dann im zweiten Durchgang langsamere, hochwertigere Optionen:
+ <option>subq=6:frameref=15:4x4mv:me=3</option>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">Encodierung mit drei Durchgängen</emphasis>?
+
+ x264 bietet die Möglichkeit, eine beliebige Anzahl aufeinander folgender
+ Durchgänge auszuführen. Wenn du <option>pass=1</option> im ersten Durchgang
+ spezifizierst, dann verwende <option>pass=3</option> im nachfolgenden
+ Durchgang, der nachfolgende Durchgang wird beides tun, die Statistik des
+ vorhergehenden Durchgangs lesen und seine eigene Statistik schreiben.
+ Ein zusätzlicher Durchgang, der diesem folgt, wird eine sehr gute Basis
+ haben, von der aus er hochpräzise Vorhersagen der Framegrößen bei
+ einem gewählten Quantisierer machen kann.
+ In der Praxis ist der damit erzielte gesamte Qualitätsgewinn
+ gewöhnlich nahezu null, und ziemlich wahrscheinlich resultiert ein dritter
+ Durchgang in einem geringfügig schlechteren globalen PSNR als der Durchgang
+ davor. In der typischen Anwendung helfen drei Durchgänge, wenn du entweder
+ eine schleche Vorhersage der Bitraten oder schlecht aussehende Szenenübergänge
+ beim Verwenden nur eines Durchlaufs bekommst.
+ Dies passiert mit ziemlicher Wahrscheinlichkeit bei extrem kurzen Clips.
+ Ebenso gibt es ein paar Spezialfälle, in denen drei (oder mehr) Durchgänge
+ erfahrenen Nutzern dienlich sind, aber um es kurz zu machen, dieses Handbuch
+ behandelt die Diskussion solcher speziellen Fälle nicht.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">qcomp</emphasis>:
+ <option>qcomp</option> wägt die Anzahl der für &quot;aufwändige&quot; Frames
+ mit viel Bewegung vorgesehenen Bits gegen die für &quot;weniger aufwändige&quot;
+ Frames mit wenig Bewegung ab.
+ Bei einem Extrem zielt <option>qcomp=0</option> auf eine echte konstante
+ Bitrate ab. Typischerweise würde dies Szenen mit viel Bewegung vollkommen
+ ätzend aussehen lassen, während Szenen mit wenig Bewegung womöglich absolut
+ perfekt aussehen, jedoch öfter mehr Bitrate verwenden würden, als sie es für
+ lediglich sehr gutes Aussehen bräuchten. Beim anderen Extrem
+ erreicht <option>qcomp=1</option> nahezu konstante Quantisierungsparameter
+ (QP). Ein konstanter QP sieht nicht schlecht aus, die meisten Leute meinen
+ aber, es sei vernünftiger, etwas Bitrate aus den extrem aufwändigen Szenen
+ zu nehmen (wobei dort der Qualitätsverlust micht ganz so augenfällig ist)
+ und sie wieder den Szenen zuzuweisen, die bei sehr guter Qualität leichter
+ zu encodieren sind.
+ <option>qcomp</option> ist per Voreinstellung auf 0.6 gesetzt, was für den
+ Geschmack mancher Leute etwas zu langsam sein könnte (0.7-0.8 werden im
+ Allgemeinen auch verwendet).
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">keyint</emphasis>:
+ <option>keyint</option> ist einzig und allein zur Abwägung der
+ Durchsuchbarkeit der Datei gegenüber der Codiereffiziez da.
+ Als Standardwert ist <option>keyint</option> auf 250 gesetzt. In
+ Material mit 25fps garantiert dies, auf 10 Sekunden genau
+ suchen zu können. Wenn du meinst, es wäre wichtig und nützlich,
+ auf 5 Sekunden genau suchen zu können, setze es auf <option>keyint=125</option>;
+ dies wird der Qualität/Bitrate leicht schaden. Wenn es dir nur um Qualität
+ geht und nicht um die Durchsuchbarkeit, kannst du viel höhere Werte
+ setzen (vorausgesetzt du verstehst, daß es verringerte Resultate gibt, die verschwindend
+ klein werden oder sogar gegen null gehen). Der Videostream wird nach
+ wie vor suchbare Stellen besitzen, solange einige Szenenwechsel
+ vorhanden sind.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">deblockalpha, deblockbeta</emphasis>:
+ Dieses Thema ist im Begriff etwas kontrovers zu geraten.
+ </para>
+ <para>
+ H.264 definiert eine simple Deblocking-Prozedur bei I-Blöcken, die
+ von vorgegebenen Stärken und vom QP des strittigen Blocks
+ abhängigen.
+ Mit dem Standardwert werden hohe QP-Blöcke stark gefiltert, und
+ niedrige QP-Blöcke werden überhaupt nicht entblockt.
+ Die vom Standard definierten vorgegebenen Stärken sind mit
+ Bedacht gewählt und die Chancen stehen sehr gut, dass sie
+ PSNR-optimal sind, egal welches Video auch immer du zu encodieren
+ versuchst.
+ Die <option>deblockalpha</option>- und
+ <option>deblockbeta</option>-Parameter erlauben dir, Offsets festzulegen,
+ um Deblocking-Schwellen voreinzustellen.
+ </para>
+ <para>
+ Viele Leute scheinen zu glauben, es sei eine gute Idee, die Stärke
+ des Deblocking-Filters um hohe Beträge abzusenken (sagen wir -3).
+ Dies ist jedoch meist keine gute Idee, und in den meisten Fällen
+ verstehen Leute, die das machen, nicht viel davon wie Deblocking
+ standardmäßig funktioniert.
+ </para>
+ <para>
+ Die erste und wichtigste Sache, die man über den
+ in-loop-Deblocking-Filter wissen sollte, ist, dass die
+ Standardschwellenwerte meistens PSNR-optimal sind.
+ In den seltenen Fällen, in denen sie nicht optimal sind, ist das
+ ideale Offset plus oder minus 1.
+ Die Deblocking-Parameter durch einen höheren Betrag anzupassen
+ garantiert meist, dem PSNR zu schaden.
+ Das Verstärken des Filters wird mehr Details verwischen; den
+ Filter zu schwächen wird das Auftreten von Blockeffekten
+ erhöhen.
+ </para>
+ <para>
+ Es ist definitiv eine schlechte Idee, die Deblocking-Schwellenwerte
+ herabzusetzen, falls deine Quelle eine vorwiegend niedrige räumliche
+ Komplexität besitzt (z.B. nicht viele Details oder Rauschen).
+ Der in-loop-Filter macht eigentlich einen exzellenten Job durch
+ das Kaschieren auftretender Artefakte.
+ Besitzt die Quelle eine hohe räumliche Komplexität, sind Artefakte
+ weniger bemerkbar.
+ Dies ist so, weil das Schwingen (ringing) dazu neigt, wie Details
+ oder Rauschen auszusehen.
+ Die viselle Wahrnehmung des Menschen erkennt leicht, wenn Details
+ entfernt wurden, aber erkennt nicht so leicht, wenn Rauschen falsch
+ dargestellt wird.
+ Wird die Qualität subjektiv, sind Details und Rauschen etwas
+ austauschbares.
+ Durch das Herabsetzen der Deblocking-Filterstärke verstärkst du
+ höchstwahrscheinlich Fehler durch Hinzufügen von
+ Schwingungsartefakten, aber dem Auge fällt nichts auf, weil
+ es die Artefakte mit Details verwechselt.
+ </para>
+
+ <para>
+ Dies rechtfertigt jedoch <emphasis role="bold">nach wie vor</emphasis>
+ nicht das Herabsetzen der Deblocking-Filterstärke.
+ Du kannst im Allgemeinen besseres Qualitätsrauschen im Postprocessing
+ erzielen.
+ Falls deine H.264-Encodierungen zu verschwommen oder verschmiert
+ aussehen, versuche, mit
+ <option>-vf noise</option> beim Abspielen des encodierten Films
+ herumzuspielen.
+ <option>-vf noise=8a:4a</option> sollte die meisten weichen Artefakte
+ kaschieren.
+ Es wird meist mit Sicherheit besser aussehen als die Resultate, die
+ du durch einfaches Herumtüfteln mit dem Deblocking-Filter bekommen
+ hättest.
+ </para></listitem>
+ </itemizedlist>
+ </sect3>
+ </sect2>
+
+ <sect2 id="menc-feat-x264-example-settings">
+ <title>Beispiele für Encodieroptionen</title>
+
+ <para>
+ Die folgenden Einstellungen sind Beispiele unterschiedlicher
+ Kombinationen von Encodier-Optionen, die einen Kompromiss zwischen
+ Geschwindigkeit und Qualität bei gleicher Zielbitrate darstellen.
+ </para>
+
+ <para>
+ All diese Encodier-Einstellungen wurden an einem Beispielvideo
+ mit 720x448 @30000/1001 fps getestet, die Zielbitrate war 900kbps,
+ und der Rechner war ein
+ AMD-64 3400+ mit 2400 Mhz im 64bit-Modus.
+ Jede Encodier-Einstellung zeichnet sich durch eine gemessene
+ Encodiergeschwindigkeit (in Frames pro Sekunde) und dem
+ PSNR-Verlust (in dB) im Vergleich zu den &quot;sehr
+ hochwertigen&quot; Einstellung aus.
+ Bitte hab dafür Verständnis, dass du abhängig von deiner Quelle, deinem
+ Rechnertyp und Entwicklungsfortschritten sehr unterschiedliche Resultate
+ erhalten kannst.
+ </para>
+
+ <para>
+ <informaltable frame="all">
+ <tgroup cols="4">
+ <thead>
+ <row><entry>Beschreibung</entry><entry>Encodier-Optionen</entry><entry>Geschwindigkeit (in fps)</entry><entry>Relativer PSNR-Verlust (in dB)</entry></row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>Sehr hohe Qualität</entry>
+ <entry><option>subq=6:4x4mv:8x8dct:me=3:frameref=5:bframes=3:b_pyramid:weight_b</option></entry>
+ <entry>6fps</entry>
+ <entry>0dB</entry>
+ </row>
+ <row>
+ <entry>Hohe Qualität</entry>
+ <entry><option>subq=5:4x4mv:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b</option></entry>
+ <entry>13fps</entry>
+ <entry>-0.89dB</entry>
+ </row>
+ <row>
+ <entry>Schnell</entry>
+ <entry><option>subq=4:bframes=2:b_pyramid:weight_b</option></entry>
+ <entry>17fps</entry>
+ <entry>-1.48dB</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </para>
+ </sect2>
+
+ </sect1>
+
+ <sect1 id="menc-feat-video-for-windows">
+ <title>Encodieren mit der <systemitem class="library">Video for Windows</systemitem> Codecfamilie</title>
+
+ <para>
+ Video for Windows bietet einfaches Encodieren mittels binärer Video-Codecs.
+ Du kannst mit folgenden Codecs encodieren (solltest du mehr haben, teile es
+ uns bitte mit!)
+ </para>
+ <para>
+ Beachte, dass der Support hierfür sehr experimentell ist, und
+ einige Codecs arbeiten vielleicht nicht korrekt. Manche Codecs werden
+ nur in bestimmten Farbräumen funktionieren, versuche
+ <option>-vf format=bgr24</option> und <option>-vf format=yuy2</option>,
+ falls ein Codec versagt oder einen falschen Output liefert.
+ </para>
+
+ <sect2 id="menc-feat-enc-vfw-video-codecs">
+ <title>Von Video for Windows unterstützte Codecs</title>
+
+ <para>
+ <informaltable frame="all">
+ <tgroup cols="4">
+ <thead>
+ <row>
+ <entry>Video-Codec Dateiname</entry>
+ <entry>Beschreibung (FourCC)</entry>
+ <entry>md5sum</entry>
+ <entry>Kommentar</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>aslcodec_vfw.dll</entry>
+ <entry>Alparysoft verlustfreier (lossless) Codec vfw (ASLC)</entry>
+ <entry>608af234a6ea4d90cdc7246af5f3f29a</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>avimszh.dll</entry>
+ <entry>AVImszh (MSZH)</entry>
+ <entry>253118fe1eedea04a95ed6e5f4c28878</entry>
+ <entry>needs <option>-vf format</option></entry>
+ </row>
+ <row>
+ <entry>avizlib.dll</entry>
+ <entry>AVIzlib (ZLIB)</entry>
+ <entry>2f1cc76bbcf6d77d40d0e23392fa8eda</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>divx.dll</entry>
+ <entry>DivX4Windows-VFW</entry>
+ <entry>acf35b2fc004a89c829531555d73f1e6</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>huffyuv.dll</entry>
+ <entry>HuffYUV verlustfrei (lossless) (HFYU)</entry>
+ <entry>b74695b50230be4a6ef2c4293a58ac3b</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>iccvid.dll</entry>
+ <entry>Cinepak Video (cvid)</entry>
+ <entry>cb3b7ee47ba7dbb3d23d34e274895133</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>icmw_32.dll</entry>
+ <entry>Motion Wavelets (MWV1)</entry>
+ <entry>c9618a8fc73ce219ba918e3e09e227f2</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>jp2avi.dll</entry>
+ <entry>ImagePower MJPEG2000 (IPJ2)</entry>
+ <entry>d860a11766da0d0ea064672c6833768b</entry>
+ <entry><option>-vf flip</option></entry>
+ </row>
+ <row>
+ <entry>m3jp2k32.dll</entry>
+ <entry>Morgan MJPEG2000 (MJ2C)</entry>
+ <entry>f3c174edcbaef7cb947d6357cdfde7ff</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>m3jpeg32.dll</entry>
+ <entry>Morgan Motion JPEG Codec (MJPG)</entry>
+ <entry>1cd13fff5960aa2aae43790242c323b1</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>mpg4c32.dll</entry>
+ <entry>Microsoft MPEG-4 v1/v2</entry>
+ <entry>b5791ea23f33010d37ab8314681f1256</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>tsccvid.dll</entry>
+ <entry>TechSmith Camtasia Screen Codec (TSCC)</entry>
+ <entry>8230d8560c41d444f249802a2700d1d5</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>vp31vfw.dll</entry>
+ <entry>On2 Open Source VP3 Codec (VP31)</entry>
+ <entry>845f3590ea489e2e45e876ab107ee7d2</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>vp4vfw.dll</entry>
+ <entry>On2 VP4 Personal Codec (VP40)</entry>
+ <entry>fc5480a482ccc594c2898dcc4188b58f</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>vp6vfw.dll</entry>
+ <entry>On2 VP6 Personal Codec (VP60)</entry>
+ <entry>04d635a364243013898fd09484f913fb</entry>
+ <entry>stürzt unter Linux ab</entry>
+ </row>
+ <row>
+ <entry>vp7vfw.dll</entry>
+ <entry>On2 VP7 Personal Codec (VP70)</entry>
+ <entry>cb4cc3d4ea7c94a35f1d81c3d750bc8d</entry>
+ <entry>falscher FourCC?</entry>
+ </row>
+ <row>
+ <entry>ViVD2.dll</entry>
+ <entry>SoftMedia ViVD V2 Codec VfW (GXVE)</entry>
+ <entry>a7b4bf5cac630bb9262c3f80d8a773a1</entry>
+ <entry></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ Die erste Spalte enthält die Codec-Namen, die nach dem Parameter
+ <literal>codec</literal> übergeben werden sollten, wie:
+ <option>-xvfwopts codec=divx.dll</option>.
+ Der FourCC-Code, der von jedem Codec verwendet wird, steht in Klammern.
+ </para>
+ <informalexample>
+ <para>
+ Ein Beispiel mit VP3-Kompression:
+ <screen>mencoder dvd://2 -o title2.avi -ovc vfw -xvfwopts codec=vp31vfw.dll -oac copy</screen>
+ </para>
+ </informalexample>
+ </sect2>
+ </sect1>
+
+
+ <sect1 id="menc-feat-vcd-dvd">
+ <title>Verwenden des MEncoder zum Erzeugen VCD/SVCD/DVD-konformer Dateien.</title>
+
+ <sect2 id="menc-feat-vcd-dvd-constraints">
+ <title>Formatbeschränkungen</title>
+ <para>
+ <application>MEncoder</application> ist in der Lage, MPEG-Dateien im VCD-, SCVD-
+ und DVD-Format durch Verwendung der
+ <systemitem class="library">libavcodec</systemitem>-Programmbibliothek
+ zu erzeugen.
+ Diese Dateien können danach im Zusammenhang mit
+ <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>
+ oder
+ <ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink>
+ zum Erzeugen von Disks verwendet werden, die auf einem Standard Set-Top-Player
+ abgespielt werden können.
+ </para>
+
+ <para>
+ Die Formate DVD, SVCD und VCD sind starken Beschränkungen unterworfen.
+ Es ist nur eine kleine Auswahl an encodierten Bildgrößen und Seitenverhältnissen
+ verfügbar.
+ Wenn dein Film nicht bereits die Anforderungen erfüllt, musst du das Bild
+ skalieren, zuschneiden oder schwarze Ränder hinzufügen, um es konform zu machen.
+ </para>
+
+ <sect3 id="menc-feat-vcd-dvd-constraints-resolution">
+ <title>Formatbeschränkungen</title>
+
+ <informaltable frame="all">
+ <tgroup cols="9">
+ <thead>
+ <row>
+ <entry>Format</entry>
+ <entry>Auflösung</entry>
+ <entry>V. Codec</entry>
+ <entry>V. Bitrate</entry>
+ <entry>Samplerate</entry>
+ <entry>A. Codec</entry>
+ <entry>A. Bitrate</entry>
+ <entry>FPS</entry>
+ <entry>Seitenverhältnis</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>NTSC DVD</entry>
+ <entry>720x480, 704x480, 352x480, 352x240</entry>
+ <entry>MPEG-2</entry>
+ <entry>9800 kbps</entry>
+ <entry>48000 Hz</entry>
+ <entry>AC3,PCM</entry>
+ <entry>1536 kbps (max)</entry>
+ <entry>30000/1001, 24000/1001</entry>
+ <entry>4:3, 16:9 (nur für 720x480)</entry>
+ </row>
+ <row>
+ <entry>NTSC DVD</entry>
+ <entry>352x240<footnote id='fn-rare-resolutions'><para>
+ Diese Auflösungen werden selten für DVDs verwendet, da sie von
+ ziemlch niedriger Qualität sind.</para></footnote></entry>
+ <entry>MPEG-1</entry>
+ <entry>1856 kbps</entry>
+ <entry>48000 Hz</entry>
+ <entry>AC3,PCM</entry>
+ <entry>1536 kbps (max)</entry>
+ <entry>30000/1001, 24000/1001</entry>
+ <entry>4:3, 16:9</entry>
+ </row>
+ <row>
+ <entry>NTSC SVCD</entry>
+ <entry>480x480</entry>
+ <entry>MPEG-2</entry>
+ <entry>2600 kbps</entry>
+ <entry>44100 Hz</entry>
+ <entry>MP2</entry>
+ <entry>384 kbps (max)</entry>
+ <entry>30000/1001</entry>
+ <entry>4:3</entry>
+ </row>
+ <row>
+ <entry>NTSC VCD</entry>
+ <entry>352x240</entry>
+ <entry>MPEG-1</entry>
+ <entry>1150 kbps</entry>
+ <entry>44100 Hz</entry>
+ <entry>MP2</entry>
+ <entry>224 kbps</entry>
+ <entry>24000/1001, 30000/1001</entry>
+ <entry>4:3</entry>
+ </row>
+ <row>
+ <entry>PAL DVD</entry>
+ <entry>720x576, 704x576, 352x576, 352x288</entry>
+ <entry>MPEG-2</entry>
+ <entry>9800 kbps</entry>
+ <entry>48000 Hz</entry>
+ <entry>MP2,AC3,PCM</entry>
+ <entry>1536 kbps (max)</entry>
+ <entry>25</entry>
+ <entry>4:3, 16:9 (nur für 720x576)</entry>
+ </row>
+ <row>
+ <entry>PAL DVD</entry>
+ <entry>352x288<footnoteref linkend='fn-rare-resolutions'/></entry>
+ <entry>MPEG-1</entry>
+ <entry>1856 kbps</entry>
+ <entry>48000 Hz</entry>
+ <entry>MP2,AC3,PCM</entry>
+ <entry>1536 kbps (max)</entry>
+ <entry>25</entry>
+ <entry>4:3, 16:9</entry>
+ </row>
+ <row>
+ <entry>PAL SVCD</entry>
+ <entry>480x576</entry>
+ <entry>MPEG-2</entry>
+ <entry>2600 kbps</entry>
+ <entry>44100 Hz</entry>
+ <entry>MP2</entry>
+ <entry>384 kbps (max)</entry>
+ <entry>25</entry>
+ <entry>4:3</entry>
+ </row>
+ <row>
+ <entry>PAL VCD</entry>
+ <entry>352x288</entry>
+ <entry>MPEG-1</entry>
+ <entry>1152 kbps</entry>
+ <entry>44100 Hz</entry>
+ <entry>MP2</entry>
+ <entry>224 kbps</entry>
+ <entry>25</entry>
+ <entry>4:3</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>
+ Wenn ein Film ein 2.35:1 Seitenverhältnis hat (die meisten aktuellen Action-Filme),
+ wirst du schwarze Ränder hinzufügen oder den Film auf 16:9 zuschneiden müssen,
+ um eine DVD oder VCD herzustellen.
+ Wenn du schwarze Ränder hinzufügst, versuche diese an 16-Pixel-Rändern
+ auszurichten, um den Einfluß auf die Encodier-Performance zu minimieren.
+ Zum Glück besitzen DVDs eine ausreichend hohe Bitrate, damit du dich
+ nicht zu sehr um die Encodier-Effizienz sorgen musst. SVCD
+ und VCD jedoch sind höchst mager an Bitrate und erfordern Aufwand, um akzeptable
+ Qualität zu erreichen.
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-vcd-dvd-constraints-gop">
+ <title>GOP-Größenbeschränkungen</title>
+ <para>
+ DVD, VCD und SVCD zwingen dich auch zu relativ niedrigen
+ GOP-Größen (Group of Pictures).
+ Für Material mit 30 fps ist die größte erlaubte GOP-Größe 18.
+ Für 25 oder 24 fps ist das Maximum 15.
+ Die GOP-Größe wird mittels der Option <option>keyint</option> gesetzt.
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-vcd-dvd-constraints-bitrate">
+ <title>Bitraten-Beschränkungen</title>
+ <para>
+ VCD-Video muss bei CBR 1152 kbps sein.
+ Zu dieser nach oben begrenzten Einschränkung kommt auch noch eine
+ extrem niedrige vbv-Puffergröße von 327 Kilobit.
+ SVCD erlaubt das Variieren der Video-Bitraten auf bis zu 2500 kbps,
+ und eine etwas weniger restriktive vbv-Puffergröße von 917 Kilobit
+ ist erlaubt.
+ DVD-Video-Bitraten können sich bis auf irgendwo um die 9800 kbps
+ einpegeln (wenngleich typische Bitraten etwa halb so groß sind),
+ und die vbv-Puffergröße ist 1835 Kilobit.
+ </para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="menc-feat-vcd-dvd-output">
+ <title>Output-Optionen</title>
+ <para>
+ <application>MEncoder</application> besitzt Optionen zur Kontrolle des
+ Output-Formats.
+ Durch das Verwenden dieser Optionen können wir ihn anweisen, den
+ korrekten Dateityp zu erzeugen.
+ </para>
+
+ <para>
+ Die Optionen für VCD und SVCD werden xvcd und xsvcd genannt, weil sie
+ erweiterte Formate sind.
+ Sie sind nicht strikt Standard-konform, hauptsächlich weil der Output
+ keine Scan-Offsets enthält.
+ Wenn du ein SVCD-Image generieren musst, solltest du die Output-Datei
+ dem
+ <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>
+ übergeben.
+ </para>
+
+ <para>
+ VCD:
+ <screen>-of mpeg -mpegopts format=xvcd</screen>
+ </para>
+
+ <para>
+ SVCD:
+ <screen>-of mpeg -mpegopts format=xsvcd</screen>
+ </para>
+
+ <para>
+ DVD:
+ <screen>-of mpeg -mpegopts format=dvd</screen>
+ </para>
+
+ <para>
+ DVD mit NTSC-Pullup:
+ <screen>-of mpeg -mpegopts format=dvd:telecine -ofps 24000/1001</screen>
+ Dies erlaubt 24000/1001 fps progressive-Inhalt bei 30000/1001
+ fps encodiert zu werden, wobei die DVD-Konformität erhalten bleibt.
+ </para>
+
+ <sect3 id="menc-feat-vcd-dvd-output-aspect">
+ <title>Seitenverhältnis</title>
+ <para>
+ Der Parameter für das Seitenverhältnis von <option>-lavcopts</option> wird zum Encodieren
+ des Seitenverhältnisses einer Datei verwendet.
+ Während des Playbacks wird das Seitenverhältnis dazu benutzt, die korrekte
+ Größe des Videos wieder herzustellen.
+ </para>
+
+ <para>
+ 16:9 oder "Breitbild"
+ <screen>-lavcopts aspect=16/9</screen>
+ </para>
+
+ <para>
+ 4:3 oder "Vollbild"
+ <screen>-lavcopts aspect=4/3</screen>
+ </para>
+
+ <para>
+ 2.35:1 oder "Cinemascope" NTSC
+ <screen>-vf scale=720:368,expand=720:480 -lavcopts aspect=16/9</screen>
+ Um die korrekte Skalierungsgröße zu berechnen, verwende die
+ erweiterte NTSC-Breite von 854/2.35 = 368
+ </para>
+
+ <para>
+ 2.35:1 oder "Cinemascope" PAL
+ <screen>-vf scale="720:432,expand=720:576 -lavcopts aspect=16/9</screen>
+ Um die korrekte Skalierungsgröße zu berechnen, verwende die
+ erweiterte PAL-Breite von 1024/2.35 = 432
+ </para>
+
+ </sect3>
+
+ <sect3 id="menc-feat-vcd-dvd-a-v-sync">
+ <title>Aufrechterhalten der A/V-Synchronisation</title>
+ <para>
+ Um die Audio-/Video-Synchronisation während der kompletten
+ Encodierung aufrechtzuerhalten, muss
+ <application>MEncoder</application> Frames auslassen oder duplizieren.
+ Dies funktioniert beim Muxen in eine AVI-Datei ziemlich gut,
+ aber meist schlägt das Aufrechterhalten der A/V-Synchronisation mit
+ anderen Muxern wie etwa MPEG garantiert fehl.
+ Dies ist der Grund, weshalb es nötig ist, den
+ <option>harddup</option>-Video-Filter am Ende der Filterkette anzuhängen,
+ um diese Art Problem zu vermeiden.
+ Du findest mehr technische Informationen zu <option>harddup</option>
+ im Abschnitt
+ <link linkend="menc-feat-dvd-mpeg4-muxing-filter-issues">Verbessern der Mux- und A/V-Synchronisationszuverlässigkeit</link>
+ oder in der Manpage.
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-vcd-dvd-output-srate">
+ <title>Sampleraten-Konvertierung</title>
+ <para>
+ Wenn die Audio-Samplerate in der Originaldatei nicht dieselbe wie die
+ vom Zielformat angeforderte ist, wird eine Sampleraten-Konvertierung
+ erforderlich.
+ Dies wird erreicht, indem man die Option <option>-srate</option> und
+ den <option>-af lavcresample</option> Audio-Filter zusammen
+ anwedet.
+ </para>
+ <para>
+ DVD:
+ <screen>-srate 48000 -af lavcresample=48000</screen>
+ </para>
+ <para>
+ VCD und SVCD:
+ <screen>-srate 44100 -af lavcresample=44100</screen>
+ </para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="menc-feat-vcd-dvd-lavc">
+ <title>Verwenden des libavcodec zur VCD/SVCD/DVD-Encodierung</title>
+
+ <sect3 id="menc-feat-vcd-dvd-lavc-intro">
+ <title>Einführung</title>
+ <para>
+ <systemitem class="library">libavcodec</systemitem> kann verwendet
+ werden, um ein VCD/SVCD/DVD-konformes Video durch die Anwendung der
+ passenden Optionen zu erzeugen.
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-vcd-dvd-lavc-options">
+ <title>lavcopts</title>
+ <para>
+ Dies ist eine Liste von Feldern in <option>-lavcopts</option>, die du
+ möglicherweise ändern musst, um einen für VCD, SVCD
+ oder DVD konformen Film herzustellen:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis role="bold">acodec</emphasis>:
+ <option>mp2</option> für VCD, SVCD oder PAL DVD;
+ <option>ac3</option> wird am häufigsten für DVD verwendet.
+ PCM-Audio kann auch für DVD verwendet werden, aber dies ist meistens
+ eine riesen Platzverschwendung.
+ Beachte, dass MP3-Audio nicht konform für irgendeines dieser Formate
+ ist, aber Player haben oft ohnehin kein Problem, es abzuspielen.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">abitrate</emphasis>:
+ 224 für VCD; bis zu 384 für SVCD; bis zu 1536 für DVD, aber
+ übliche Werte reichen von 192 kbps für Stereo bis 384 kbps für
+ 5.1-Kanal-Sound.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">vcodec</emphasis>:
+ <option>mpeg1video</option> für VCD;
+ <option>mpeg2video</option> für SVCD;
+ <option>mpeg2video</option> wird gewöhnlich für DVD verwendet, man kann aber auch
+ <option>mpeg1video</option> für CIF-Auflösungen verwenden.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">keyint</emphasis>:
+ Angewandt, um die GOP-Größe zu setzen.
+ 18 für Material mit 30fps oder 15 für Material mit 25/24 fps.
+ Kommerzielle Hersteller scheinen Keyframe-Intervalle von 12 zu bevorzugen.
+ Es ist möglich, dies viel größer zu machen und dennoch die Kompatibilität
+ zu den meisten Player zu behalten.
+ Ein <option>keyint</option> von 25 sollte nie irgendwelche Probleme machen.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">vrc_buf_size</emphasis>:
+ 327 für VCD, 917 für SVCD und 1835 für DVD.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">vrc_minrate</emphasis>:
+ 1152 für VCD. kann für SVCD und DVD so gelassen werden.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">vrc_maxrate</emphasis>:
+ 1152 für VCD; 2500 für SVCD; 9800 für DVD.
+ Für SVCD und DVD könntest du niedrigere Werte verwenden, abhängig von
+ deinen persönlichen Vorlieben und Anforderungen.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">vbitrate</emphasis>:
+ 1152 für VCD;
+ bis zu 2500 für SVCD;
+ bis zu 9800 für DVD.
+ Für letztere zwei Formate sollte vbitrate basierend auf persönliche
+ Vorlieben gesetzt werden.
+ Zum Beispiel, wenn du darauf bestehst, 20 Stunden oder so passend auf
+ eine DVD zu bringen, könntest du vbitrate=400 benutzen.
+ Die sich daraus ergebende Video-Qualität würde womöglich äußerst mies.
+ Wenn du versuchst, die maximal mögliche Qualität auf eine DVD zu quetschen,
+ nimm vbitrate=9800, aber sei gewarnt, dass dich dies zu weniger als
+ einer Stunde Video auf einer Single-Layer DVD zwingen würde.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect3>
+
+ <sect3 id="menc-feat-vcd-dvd-lavc-examples">
+ <title>Beispiele</title>
+ <para>
+ Dies ist eine typische Zusammenstellung von mindestens zu verwendenden
+ <option>-lavcopts</option>-Optionen zum Encodieren eines Videos:
+ </para>
+ <para>
+ VCD:
+<screen>-lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
+vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2</screen>
+ </para>
+
+ <para>
+ SVCD:
+<screen>-lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
+keyint=15:acodec=mp2</screen>
+ </para>
+
+ <para>
+ DVD:
+<screen>-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
+keyint=15:acodec=ac3</screen>
+ </para>
+
+ </sect3>
+
+ <sect3 id="menc-feat-vcd-dvd-lavc-advanced">
+ <title>Erweiterte Optionen</title>
+ <para>
+ Für das Encodieren höherer Qualität könntest du auch qualitätssteigernde
+ Optionen an lavcopts anfügen, wie etwa <option>trell</option>,
+ <option>mbd=2</option> und weitere.
+ Beachte, dass <option>qpel</option> und <option>v4mv</option>, obwohl
+ oft bei MPEG-4 nützlich, nicht auf MPEG-1 oder MPEG-2 anwendbar sind.
+ Außerdem, wenn du versuchst, eine sehr hochwertige DVD-Encodierung zu
+ machen, kann es nützlich sein, <option>dc=10</option> an lavcopts
+ anzufügen.
+ Wobei dies helfen könnte, das Auftreten von Blöcken in fahl-farbenen
+ Bereichen zu reduzieren.
+ Zusammenfassend ist dies ein Beispiel einer Zusammenstellung von lavcopts für
+ für eine höherwertige DVD:
+ </para>
+
+ <para>
+<screen>-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\
+keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:\
+vqmin=1:lmin=1:dc=10</screen>
+ </para>
+
+ </sect3>
+ </sect2>
+
+ <sect2 id="menc-feat-vcd-dvd-audio">
+ <title>Encodieren von Audio</title>
+ <para>
+ VCD und SVCD unterstützen MPEG-1 Layer II Audio, indem sie einen
+ MP2-Encoder von
+ <systemitem class="library">toolame</systemitem>,
+ <systemitem class="library">twolame</systemitem>,
+ oder <systemitem class="library">libavcodec</systemitem>
+ verwenden.
+ Der libavcodec MP2 ist weit davon entfernt, so gut zu sein wie die
+ anderen zwei Bibliotheken, dennoch sollte er immer verfügbar sein.
+ VCD unterstützt nur Audio mit konstanten Bitraten (CBR) wogegen SVCD
+ auch variable Bitraten (VBR) unterstützt.
+ Sei vorsichtig, wenn du VBR benutzt, weil einige schlechte
+ Standalone-Player diese nicht so gut unterstützen könnten.
+ </para>
+
+ <para>
+ Für DVD-Audio wird der AC3-Codec von
+ <systemitem class="library">libavcodec</systemitem>
+ verwendet.
+ </para>
+
+ <sect3 id="menc-feat-vcd-dvd-audio-toolame">
+ <title>toolame</title>
+ <para>
+ Für VCD und SVCD:
+ <screen>-oac toolame -toolameopts br=224</screen>
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-vcd-dvd-audio-twolame">
+ <title>twolame</title>
+ <para>
+ Für VCD und SVCD:
+ <screen>-oac twolame -twolameopts br=224</screen>
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-vcd-dvd-audio-lavc">
+ <title>libavcodec</title>
+ <para>
+ Für DVD mit 2-Kanal-Sound:
+ <screen>-oac lavc -lavcopts acodec=ac3:abitrate=192</screen>
+ </para>
+ <para>
+ Für DVD mit 5.1-Kanal-Sound:
+ <screen>-channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384</screen>
+ </para>
+ <para>
+ Für VCD und SVCD:
+ <screen>-oac lavc -lavcopts acodec=mp2:abitrate=224</screen>
+ </para>
+ </sect3>
+
+ </sect2>
+
+ <sect2 id="menc-feat-vcd-dvd-all">
+ <title>Zusammenfassung</title>
+ <para>
+ Diese Sektion zeigt einige komplette Befehle zum Erzeugen von
+ VCD/SVCD/DVD-konformen Videos.
+ </para>
+
+ <sect3 id="menc-feat-vcd-dvd-all-pal-dvd">
+ <title>PAL DVD</title>
+ <para>
+<screen>mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,\
+harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:\
+vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3:\
+abitrate=192:aspect=16/9 -ofps 25 \
+-o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable></screen>
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-vcd-dvd-all-ntsc-dvd">
+ <title>NTSC DVD</title>
+ <para>
+<screen>mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:480,\
harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:\
vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=18:acodec=ac3:\
abitrate=192:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy">
-<title>PAL AVI mit enthaltenem AC3 Audio nach DVD</title>
-<para>
- Hat die Quelle bereits AC3-Audio, nimm -oac copy anstatt es
- erneut zu encodieren.
- <screen>
- mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,\
+ -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable></screen>
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy">
+ <title>PAL AVI mit enthaltenem AC3 Audio nach DVD</title>
+ <para>
+ Hat die Quelle bereits AC3-Audio, nimm -oac copy anstatt es
+ erneut zu encodieren.
+<screen>mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,\
harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:\
vbitrate=5000:keyint=15:aspect=16/9 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy">
-<title>NTSC AVI mit AC3-Ton nach DVD</title>
-<para>
- Hat die Quelle bereits AC3-Audio und ist NTSC @ 24000/1001 fps:
- <screen>
- mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:telecine \
+ -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable></screen>
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy">
+ <title>NTSC AVI mit AC3-Ton nach DVD</title>
+ <para>
+ Hat die Quelle bereits AC3-Audio und ist NTSC @ 24000/1001 fps:
+<screen>mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:telecine \
-vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:\
vrc_maxrate=9800:vbitrate=5000:keyint=15:aspect=16/9 -ofps 24000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-svcd">
-<title>PAL SVCD</title>
-<para>
- <screen>
- mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
+ -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable></screen>
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-vcd-dvd-all-pal-svcd">
+ <title>PAL SVCD</title>
+ <para>
+<screen>mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-svcd">
-<title>NTSC SVCD</title>
-<para>
- <screen>
- mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
+ -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable></screen>
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-vcd-dvd-all-ntsc-svcd">
+ <title>NTSC SVCD</title>
+ <para>
+<screen>mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-vcd">
-<title>PAL VCD</title>
-<para>
- <screen>
- mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
+ -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable></screen>
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-vcd-dvd-all-pal-vcd">
+ <title>PAL VCD</title>
+ <para>
+<screen>mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:\
vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-vcd">
-<title>NTSC VCD</title>
-<para>
- <screen>
- mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
+ -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable></screen>
+ </para>
+ </sect3>
+
+ <sect3 id="menc-feat-vcd-dvd-all-ntsc-vcd">
+ <title>NTSC VCD</title>
+ <para>
+<screen>mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:\
vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
- </screen>
-</para>
-</sect3>
+ -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable></screen>
+ </para>
+ </sect3>
-</sect2>
+ </sect2>
-</sect1>
+ </sect1>
</chapter>
diff --git a/DOCS/xml/de/install.xml b/DOCS/xml/de/install.xml
index 645971be2b..bf6803b6dc 100644
--- a/DOCS/xml/de/install.xml
+++ b/DOCS/xml/de/install.xml
@@ -1,626 +1,731 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- in sync with r19829 -->
+
<chapter id="install">
-<title>Installation</title>
-
-<para>
-Eine Anleitung für eine schnelle Installation steht in der Datei
-<filename>README</filename>. Bitte lies diese zuerst und komm erst dann für
-den Rest der mörderischen Details zurück.
-</para>
-
-<para>
-In diesem Abschnitt werde ich versuchen, dich durch den Vorgang des
-Compilierens und Konfigurierens von <application>MPlayer</application> zu
-leiten. Es ist nicht leicht, muss aber nicht unbedingt schwierig sein. Wenn du
-andere Erfahrungen machst als das, was ich erkläre, durchsuche bitte die
-Dokumentation und du wirst deine Antworten finden. Wenn du Links siehst, folge
-ihnen und lies ihren Inhalt sorgfältig. Das wird etwas Zeit in Anspruch
-nehmen, aber das IST es wert.
-</para>
-
-<para>
-Du brauchst ein ziemlich aktuelles System. Unter Linux werden die Kernel der
-Version 2.4.x empfohlen.
-</para>
-
-<sect1 id="softreq">
-<title>Softwareanforderungen</title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">binutils</emphasis> - empfohlene Version ist <emphasis
-role="bold">2.11.x</emphasis>.
- Dieses Programm ist verantwortlich für die Generierung von Instruktionen für
- MMX/3DNow!/usw. und daher sehr wichtig.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">gcc</emphasis> - empfohlene Versionen sind:
- <emphasis role="bold">2.95.3</emphasis> (vielleicht <emphasis
- role="bold">2.95.4</emphasis>) und <emphasis role="bold">3.2+</emphasis>.
- Benutze <emphasis role="bold">niemals</emphasis> 2.96 oder 3.0.x! Diese
- generieren im Falle von <application>MPlayer</application> fehlerhaften Code.
- Solltest du dich dafür entscheiden, die von gcc-Version 2.96 zu wechseln,
- dann entscheide dich nicht zu Gunsten von 3.x, nur weil es neuer ist. Frühe
- Veröffentlichungen von 3.x waren fehlerhafter als 2.96. Downgrade also zu
- 2.95.x (downgrade auch <systemitem class="library">libstdc++</systemitem>,
- andere Programme könnten dies benötigen) oder wechsle die Version überhaupt
- nicht (in diesem Falle sei jedoch gewarnt, dass es zur Laufzeit Probleme
- geben kann). Solltest du dich für 3.x entscheiden, versuche die neueste
- Version zu bekommen, frühe Versionen hatten verschiedenartige Fehler, benutze
- also mindestens Version 3.1, diese ist getestet und funktioniert.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">XFree86</emphasis> - empfohlene Version ist
- <emphasis role="bold">immer die neueste</emphasis> (4.3). Normalerweise
- möchte das jeder. Mit XFree86 4.0.2 beginnend enthält es die
- <link linkend="xv">XVideo</link>-Erweiterung (irgendwo als
- <emphasis role="bold">Xv</emphasis> bezeichnet), die bei Karten, die dies unterstützen,
- für die YUV-Hardwarebeschleunigung (schnelle Bilddarstellung) benötigt wird.
- Stelle auch sicher, dass das <emphasis role="bold">Entwicklerpaket</emphasis>
- installiert ist, sonst wird es nicht funktionieren.
- Bei manchen Grafikkarten benötigst du kein XFree86. Siehe Liste unten.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">make</emphasis> - empfohlene Version ist
- <emphasis role="bold">immer die neueste</emphasis> (mindestens 3.79.x). Dies
- ist normalerweise nicht so wichtig.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">FreeType</emphasis> in der Version 2.0.9 oder neuer wird
- benötigt, um Schriften für OSD und Untertitel zu erhalten.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">SDL</emphasis> - ist nicht zwingend notwendig, kann
- in manchen Fällen aber helfen (schlechter Klang, Grafikkarten, die zusammen
- mit dem xv-Treiber komischerweise hinterherhingen).
- Benutze immer die neueste Version (beginnend bei 1.2.x).
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">libjpeg</emphasis> - optionaler JPEG-Decoder, der
- von der Option <option>-mf</option> und für mache QT MOV-Dateien verwendet
- wird. Nützlich sowohl für <application>MPlayer</application> als auch
- <application>MEncoder</application>, wenn du vorhast, mit JPEG-Dateien zu
- arbeiten.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">libpng</emphasis> - empfohlen und
- Standard-(M)PNG-Decoder. Wird für die GUI benötigt.
- Nützlich sowohl für <application>MPlayer</application> als auch
- <application>MEncoder</application>.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">lame</emphasis> - empfohlen, erforderlich für
- Audioencodierung in das MP3-Format mit <application>MEncoder</application>,
- empfohlene Version ist <emphasis>immer die neueste</emphasis> (mindestens
- 3.90).
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">zlib</emphasis> - empfohlen, benötigt für die
- Unterstützung komprimierter MOV-Headern und PNG.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">libogg</emphasis> - optional, erforderlich für die
- Wiedergabe von Dateien im OGG-Format.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">libvorbis</emphasis> - optional, benötigt für die
- Audiowiedergabe von OGG Vorbis.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold"><ulink url="http://www.live555.com/mplayer/">LIVE555 Streaming Media</ulink></emphasis>
- - optional, benötigt für die Wiedergabe von RTSP/RTP-Streams.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">directfb</emphasis> - optional, von
- <ulink url="http://www.directfb.org"/>. Version 0.9.13 ist mindestens
- erforderlich.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">cdparanoia</emphasis> - optional, für CDDA-Unterstützung
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">libxmms</emphasis> - optional, für Unterstützung des
- XMMS-Input-Plugins. Version 1.2.7 ist mindestens erforderlich.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">libsmb</emphasis> - optional, für Samba-Unterstützung
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">ALSA</emphasis> - optional, für Unterstützung der
- Audioausgabe mit ALSA. Version 0.9.0rc4 ist mindestens erforderlich.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">bio2jack</emphasis> - optional, für
- Unterstützung der Audioausgabe mit JACK, wird nur zur Compilezeit benötigt.
- Du kannst es von
- <ulink url="http://bio2jack.sf.net/">http://bio2jack.sf.net</ulink> beziehen.
- Da es keine Installationsoptionen hat, musst du die Datei
- <filename>libbio2jack.a</filename> manuell in deinen Bibliothekspfad
- kopieren, oder benutze die Option <option>--with-bio2jack=DIR</option>, damit
- <filename>./configure</filename> weiß, wo sich die Datei befindet.
- </para></listitem>
-</itemizedlist>
-</sect1>
-
-
-<sect1 id="video-cards">
-<title>Grafikkarten</title>
-
-<para>
-Es gibt allgemein zwei Arten Grafikkarten. Die eine (die neueren Karten)
-unterstützen <emphasis role="bold">Hardware-Skalierung und YUV-Beschleunigung</emphasis>,
-die anderen nicht.
-</para>
-
-
-<sect2 id="yuv-cards">
-<title>YUV-Karten</title>
-
-<para>
-Diese können das Bild in jeder Größe darstellen und auf jede Größe
-skalieren (zoomen), die in ihren Speicher passt, und das mit
-<emphasis role="bold">geringer CPU-Last</emphasis> (sogar beim Zoom), daher ist
-die Vollbildwiedergabe nett und sehr schnell.
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Matrox G200/G400/G450/G550-Karten</emphasis>: Obwohl ein
- <link linkend="vidix">Vidix-Treiber</link> zur Verfügung steht, wird empfohlen,
- statt dessen das mga_vid-Modul zu verwenden, da es wesentlich besser funktioniert.
- Siehe bitte den Abschnitt <link linkend="mga_vid">mga_vid</link> für dessen Installation
- und den Umgang damit. Es ist wichtig, diese Schritte <emphasis>vor</emphasis> der Compilierung
- von <application>MPlayer</application> durchzuführen, da sonst keine Unterstützung
- für mga_vid eingebaut wird. Schaue dir auch den Abschnitt
- <link linkend="tvout-mga-g400">Matrox TV-out</link> an.
- <emphasis role="bold"> Wenn du nicht Linux benutzt</emphasis>, ist deine einzige
- Möglichkeit der VIDIX-Treiber: Lies den Abschnitt <link linkend="vidix">VIDIX</link>.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">3Dfx Voodoo3/Banshee-Karten</emphasis>: Bitte siehe den Abschnitt
- <link linkend="tdfxfb">tdfxfb</link>, um große Geschwindigkeitsvorteile zu nutzen.
- Es ist wichtig, diese Schritte <emphasis>vor</emphasis> der Compilierung
- von <application>MPlayer</application> durchzuführen, da sonst keine Unterstützung
- für 3Dfx eingebaut wird.
- Wenn du X benutzt, verwende
- mindestens <emphasis role="bold">4.2.0</emphasis>, da der 3dfx Xv-Treiber in der
- Version 4.1.0 und davor nicht funktioniert.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">ATI-Karten</emphasis>: Der <link linkend="vidix">VIDIX</link>-Treiber
- wird für folgende Karten bereitgestellt:
- <emphasis role="bold">Radeon, Rage128, Mach64</emphasis> (Rage XL/Mobility, Xpert98).
- Siehe auch die Dokumentation des TV-out im Abschnitt <link linkend="tvout-ati">ATI-Karten</link>,
- damit du weißt, ob das TV-out deiner Karte unter Linux mit
- <application>MPlayer</application> unterstützt wird.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">S3-Karten</emphasis>: Die Savage- und Virge/DX-Chips verfügen
- über Hardwarebeschleunigung. Benutze eine XFree86-Version, die so neu wir möglich ist,
- ältere Treiber sind buggy. Savage-Chips haben Probleme mit YV12-Darstellung, siehe
- Abschnitt <link linkend="s3">S3 Xv</link> für Details. Ältere Trio-Karten haben keine
- oder nur langsame Hardwareunterstützung.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">nVidia-Karten</emphasis>: Können oder können keine gute Wahl sein
- für die Videowiedergabe. Wenn du eine GeForce2-Karte hast (oder neuer), ist es nicht
- wahrscheinlich, dass sie ohne Fehler funktioniert.
- <emphasis role="bold">Der in XFree86 eingebaute nVidia-Treiber unterstützt nicht auf
- allen Karten YUV-Hardwarebeschleunigung.</emphasis> Du musst die Closed-Source-Treiber von
- <ulink url="http://nvidia.com">nVidia.com</ulink> herunterladen. Siehe Abschnitt
- <link linkend="nvidia">nVidia Xv-Treiber</link> für Details. Bitte siehe auch Abschnitt
- <link linkend="tvout-nvidia">nVidia TV-out</link>, wenn du einen Fernseher verwenden möchtest.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">3DLabs GLINT R3 und Permedia3</emphasis>: Ein VIDIX-Treiber wird
- bereitgestellt (pm3_vid). Bitte siehe Abschnitt <link linkend="vidix">VIDIX</link> für Details.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">Andere Karten</emphasis>: keine der oben genannten?
- <itemizedlist>
- <listitem><simpara>
- Probiere, ob der XFree86-Treiber (und deine Karte) Hardwarebeschleunigung unterstützen.
- Siehe Abschnitt <link linkend="xv">Xv</link> für Details.
- </simpara></listitem>
- <listitem><simpara>
- Sollten sie dies nicht tun, werden die Features unter deinem Betriebssystem nicht
- unterstützt :( Wenn Hardwarebeschleunigung unter Windows funktioniert, bedeutet
- dies nicht, dass sie unter Linux oder anderen Betriebssystemen funktioniert, das
- hängt von den Treibern ab. Die meisten Hersteller stellen weder Linuxtreiber her,
- noch veröffentlichen sie die Spezifikationen ihrer Chips - daher hast du Pech,
- wenn du ihre Karten benutzt.
- Siehe <xref linkend="non-yuv-cards"/>.
- </simpara></listitem>
- </itemizedlist>
- </para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-
-<sect2 id="non-yuv-cards" xreflabel="Non-YUV cards">
-<title>Nicht-YUV-Karten</title>
-
-<para>
-Vollbildwiedergabe kann erreicht werden, indem entweder
-<emphasis role="bold">Softwareskalierung</emphasis> aktiviert wird
-(benutz die Option <option>-zoom</option> oder <option>-vf</option>, aber ich warne dich,
-die ist langsam), oder durch den Wechsel zu einem kleineren Videomodus wie zum Beispiel
-352x288. Hast du keine YUV-Beschleunigung, wird letztere Methode empfohlen.
-Der Wechsel des Videomodus kann durch die Option <option>-vm</option> aktiviert werden
-und funktioniert mit folgenden Treibern:
-<itemizedlist>
-<listitem><simpara>
- <emphasis role="bold">Benutzung von </emphasis> XFree86: Siehe Details in den Abschnitten
- <link linkend="dga">DGA-Treiber</link> und <link linkend="x11">X11-Treiber</link>.
- DGA wird empfohlen! Probiere auch DGA via SDL, das funktioniert manchmal besser.
- </simpara></listitem>
-<listitem><simpara>
- <emphasis role="bold">Nicht-Benutzung von</emphasis> XFree86: Probiere die Treiber
- in folgender Reihenfolge:
- <link linkend="vesa">vesa</link>,
- <link linkend="fbdev">fbdev</link>,
- <link linkend="svgalib">svgalib</link>,
- <link linkend="aalib">aalib</link>.
- </simpara></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- FIXME: finde eine logisch sinnvollere Ordnung für diesen Abschnitt -->
-<sect2 id="cirrus-logic-cards" xreflabel="Cirrus-Logic-Karten">
-<title>Cirrus-Logic-Karten</title>
-<itemizedlist>
-<listitem><para>
- GD 7548: verfügbar on-board und getestet in der Compaq Armada 41xx Notebook-Serie.
- <itemizedlist>
- <listitem><simpara>
- XFree86 3: Funktioniert in 8/16bpp-Modi. Trotzdem, der Treiber ist übel langsam in
- 800x600@16bpp. <emphasis role="bold">Empfohlen: 640x480@16bpp</emphasis>
- </simpara></listitem>
- <listitem><simpara>
- XFree86 4: Der Xserver friert kurz nach dem Start ein, wenn Beschleunigung nicht
- aktiviert ist, dann jedoch laufen die Dinge noch langsamer als mit XFree86 3.
- Kein XVideo.
- </simpara></listitem>
- <listitem><simpara>
- FBdev: Framebuffer kann mit dem <systemitem>clgenfb</systemitem>-Treiber im Kernel
- aktiviert werden, auch wenn er bei mir nur mit 8bpp funktioniert hat, daher
- unbrauchbar. Die clgenfb-Source musste um die 7548-ID vor der Compilierung
- erweitert werden.
- </simpara></listitem>
- <listitem><simpara>
- VESA: Die Karte ist nur VBE 1.2-fähig, daher kann VESA-Ausgabe nicht benutzt
- werden. Kann mit UniVBE nicht umgangen werden.
- </simpara></listitem>
- <listitem><simpara>
- SVGAlib: erkennt einen älteren Cirrus-Chip. Langsam, aber nutzbar mit der Option
- <option>-bpp 8</option>.
- </simpara></listitem>
-</itemizedlist>
-</para></listitem>
-</itemizedlist>
-</sect2>
-</sect1>
-
-
-<sect1 id="sound-cards">
-<title>Soundkarten</title>
-
-<itemizedlist>
-<listitem><simpara>
- <emphasis role="bold">Soundblaster Live!</emphasis>: Mit dieser Karte kannst du
- AC3-Decodierung mit 4 oder 6 (<emphasis role="bold">5.1</emphasis>) anstatt 2 Kanälen
- verwenden. Lies den Abschnitt <link linkend="swac3">Software-AC3-Decodierung</link>.
- Für Hardware-AC3-Passthrough <emphasis role="bold">musst</emphasis> du ALSA 0.9 mit
- OSS-Emulation verwenden!
- </simpara></listitem>
-<listitem><simpara>
- <emphasis role="bold">C-Media mit S/PDIF out</emphasis>: Hardware-AC3-Passthrough
- ist mit diesen Karten möglich, siehe Abschnitt
- <link linkend="hwac3">Hardware-AC3-Decodierung</link>.
- </simpara></listitem>
-<listitem><simpara>
- Features <emphasis role="bold">anderer Karten</emphasis> werden von
- <application>MPlayer</application> nicht unterstützt.
- <emphasis role="bold">Es wird dringend empfohlen, die Sektion
- <link linkend="audio">Soundkarte</link> zu lesen!</emphasis>
- </simpara></listitem>
-</itemizedlist>
-</sect1>
-
-
-<sect1 id="features">
-<title>Features</title>
-
-<itemizedlist>
-<listitem><para>
- Entscheide, ob du eine GUI benötigst. Ist dies der Fall, schau in Abschnitt
- <link linkend="gui">GUI</link>, bevor du compilierst.
- </para></listitem>
-<listitem><para>
- Wenn Du <application>MEncoder</application> (unseren super Allzweck-Encoder)
- installieren möchtest, siehe Abschnitt
- <link linkend="mencoder"><application>MEncoder</application></link>.
- </para></listitem>
-<listitem><para>
- Wenn du eine V4L-kompatible <emphasis role="bold">TV-Tuner</emphasis>-Karte hast
- und Filme mit <application>MPlayer</application> anschauen/grabben und encodieren
- möchtest, lies den Abschnitt <link linkend="tv-input">TV-Input</link>.
- </para></listitem>
-<listitem><para>
- Wenn du eine V4L-kompatible <emphasis role="bold">Radioempfänger</emphasis>karte hast
- und mit <application>MPlayer</application> Radio hören oder aufnehmen möchtest,
- lies den Abschnitt <link linkend="radio">radio</link>.
- </para></listitem>
-<listitem><para>
- Es gibt Unterstützung für ein schickes <emphasis role="bold">OSD-Menü</emphasis>,
- das benutzt werden kann. Siehe Abschnitt <link linkend="subosd">OSD-Menü</link>.
- </para></listitem>
-</itemizedlist>
-
-<para>
-Baue dann <application>MPlayer</application>:
-<screen>
-./configure
+ <title>Installation</title>
+
+ <para>
+ Eine Anleitung für eine schnelle Installation steht in der Datei
+ <filename>README</filename>. Bitte lies diese zuerst und komm erst dann für
+ den Rest der mörderischen Details zurück.
+ </para>
+
+ <para>
+ In diesem Abschnitt werde ich versuchen, dich durch den Vorgang des
+ Compilierens und Konfigurierens von <application>MPlayer</application> zu
+ leiten. Es ist nicht leicht, muss aber nicht unbedingt schwierig sein. Wenn du
+ andere Erfahrungen machst als das, was ich erkläre, durchsuche bitte die
+ Dokumentation, und du wirst deine Antworten finden. Wenn du Links siehst, folge
+ ihnen und lies ihren Inhalt sorgfältig. Das wird etwas Zeit in Anspruch
+ nehmen, aber das IST es wert.
+ </para>
+
+ <para>
+ Du brauchst ein ziemlich aktuelles System. Unter Linux werden die Kernel der
+ Version 2.4.x empfohlen.
+ </para>
+
+ <sect1 id="softreq">
+ <title>Softwareanforderungen</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis role="bold">binutils</emphasis> - empfohlene Version ist <emphasis role="bold">2.11.x</emphasis>.
+ Dieses Programm ist verantwortlich für die Generierung von Instruktionen für
+ MMX/3DNow!/usw. und daher sehr wichtig.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">gcc</emphasis> - empfohlene Versionen sind:
+ <emphasis role="bold">2.95.3</emphasis> (vielleicht
+ <emphasis role="bold">2.95.4</emphasis>) und <emphasis role="bold">3.2+</emphasis>.
+ Benutze <emphasis role="bold">niemals</emphasis> 2.96 oder 3.0.x! Diese
+ generieren im Falle von <application>MPlayer</application> fehlerhaften Code.
+ Solltest du dich dafür entscheiden, die von gcc-Version 2.96 zu wechseln,
+ dann entscheide dich nicht zu Gunsten von 3.x, nur weil es neuer ist. Frühe
+ Veröffentlichungen von 3.x waren fehlerhafter als 2.96. Downgrade also zu
+ 2.95.x (downgrade auch <systemitem class="library">libstdc++</systemitem>,
+ andere Programme könnten dies benötigen) oder wechsle die Version überhaupt
+ nicht (in diesem Falle sei jedoch gewarnt, dass es zur Laufzeit Probleme
+ geben kann). Solltest du dich für 3.x entscheiden, versuche die neueste
+ Version zu bekommen, frühe Versionen hatten verschiedenartige Fehler, benutze
+ also mindestens Version 3.1, diese ist getestet und funktioniert.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">XFree86</emphasis> - empfohlene Version ist
+ <emphasis role="bold">immer die neueste</emphasis> (4.3). Normalerweise
+ möchte das jeder. Mit XFree86 4.0.2 beginnend enthält es die
+ <link linkend="xv">XVideo</link>-Erweiterung (irgendwo als
+ <emphasis role="bold">Xv</emphasis> bezeichnet), die bei Karten, die dies unterstützen,
+ für die YUV-Hardwarebeschleunigung (schnelle Bilddarstellung) benötigt wird.
+ Stelle auch sicher, dass das <emphasis role="bold">Entwicklerpaket</emphasis>
+ installiert ist, sonst wird es nicht funktionieren.
+ Bei manchen Grafikkarten benötigst du kein XFree86. Siehe Liste unten.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">make</emphasis> - empfohlene Version ist
+ <emphasis role="bold">immer die neueste</emphasis> (mindestens 3.79.x). Dies
+ ist normalerweise nicht so wichtig.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">FreeType</emphasis> in der Version 2.0.9 oder neuer wird
+ benötigt, um Schriften für OSD und Untertitel zu erhalten.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">SDL</emphasis> - ist nicht zwingend notwendig, kann
+ in manchen Fällen aber helfen (schlechter Klang, Grafikkarten, die zusammen
+ mit dem xv-Treiber komischerweise hinterherhingen).
+ Benutze immer die neueste Version (beginnend bei 1.2.x).
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">libjpeg</emphasis> - optionaler JPEG-Decoder, der
+ von der Option <option>-mf</option> und für mache QT MOV-Dateien verwendet
+ wird. Nützlich sowohl für <application>MPlayer</application> als auch
+ <application>MEncoder</application>, wenn du vorhast, mit JPEG-Dateien zu
+ arbeiten.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">libpng</emphasis> - empfohlen und
+ Standard-(M)PNG-Decoder. Wird für die GUI benötigt.
+ Nützlich sowohl für <application>MPlayer</application> als auch
+ <application>MEncoder</application>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">lame</emphasis> - empfohlen, erforderlich für
+ Audioencodierung in das MP3-Format mit <application>MEncoder</application>,
+ empfohlene Version ist <emphasis>immer die neueste</emphasis> (mindestens
+ 3.90).
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">zlib</emphasis> - empfohlen, benötigt für die
+ Unterstützung komprimierter MOV-Headern und PNG.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">libogg</emphasis> - optional, erforderlich für die
+ Wiedergabe von Dateien im OGG-Format.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">libvorbis</emphasis> - optional, benötigt für die
+ Audiowiedergabe von OGG Vorbis.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold"><ulink url="http://www.live555.com/mplayer/">LIVE555 Streaming Media</ulink></emphasis>
+ - optional, benötigt für die Wiedergabe von RTSP/RTP-Streams.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">directfb</emphasis> - optional, von
+ <ulink url="http://www.directfb.org"/>. Version 0.9.13 ist mindestens
+ erforderlich.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">cdparanoia</emphasis> - optional, für CDDA-Unterstützung
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">libxmms</emphasis> - optional, für Unterstützung des
+ XMMS-Input-Plugins. Version 1.2.7 ist mindestens erforderlich.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">libsmb</emphasis> - optional, für Samba-Unterstützung
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">ALSA</emphasis> - optional, für Unterstützung der
+ Audioausgabe mit ALSA. Version 0.9.0rc4 ist mindestens erforderlich.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">bio2jack</emphasis> - optional, für
+ Unterstützung der Audioausgabe mit JACK, wird nur zur Compilezeit benötigt.
+ Du kannst es von
+ <ulink url="http://bio2jack.sf.net/">http://bio2jack.sf.net</ulink> beziehen.
+ Da es keine Installationsoptionen hat, musst du die Datei
+ <filename>libbio2jack.a</filename> manuell in deinen Bibliothekspfad
+ kopieren, oder benutze die Option <option>--with-bio2jack=DIR</option>, damit
+ <filename>./configure</filename> weiß, wo sich die Datei befindet.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+
+ <sect1 id="video-cards">
+ <title>Grafikkarten</title>
+
+ <para>
+ Es gibt allgemein zwei Arten Grafikkarten. Die eine (die neueren Karten)
+ unterstützen <emphasis role="bold">Hardware-Skalierung und YUV-Beschleunigung</emphasis>,
+ die anderen nicht.
+ </para>
+
+
+ <sect2 id="yuv-cards">
+ <title>YUV-Karten</title>
+
+ <para>
+ Diese können das Bild in jeder Größe darstellen und auf jede Größe
+ skalieren (zoomen), die in ihren Speicher passt, und das mit
+ <emphasis role="bold">geringer CPU-Last</emphasis> (sogar beim Zoom), daher ist
+ die Vollbildwiedergabe nett und sehr schnell.
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis role="bold">Matrox G200/G400/G450/G550-Karten</emphasis>: Obwohl ein
+ <link linkend="vidix">Vidix-Treiber</link> zur Verfügung steht, wird empfohlen,
+ statt dessen das mga_vid-Modul zu verwenden, da es wesentlich besser funktioniert.
+ Siehe bitte den Abschnitt <link linkend="mga_vid">mga_vid</link> für dessen Installation
+ und den Umgang damit. Es ist wichtig, diese Schritte <emphasis>vor</emphasis> der Compilierung
+ von <application>MPlayer</application> durchzuführen, da sonst keine Unterstützung
+ für mga_vid eingebaut wird. Schaue dir auch den Abschnitt
+ <link linkend="tvout-mga-g400">Matrox TV-out</link> an.
+ <emphasis role="bold"> Wenn du nicht Linux benutzt</emphasis>, ist deine einzige
+ Möglichkeit der VIDIX-Treiber: Lies den Abschnitt <link linkend="vidix">VIDIX</link>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">3Dfx Voodoo3/Banshee-Karten</emphasis>: Bitte siehe den Abschnitt
+ <link linkend="tdfxfb">tdfxfb</link>, um große Geschwindigkeitsvorteile zu nutzen.
+ Es ist wichtig, diese Schritte <emphasis>vor</emphasis> der Compilierung
+ von <application>MPlayer</application> durchzuführen, da sonst keine Unterstützung
+ für 3Dfx eingebaut wird.
+ Wenn du X benutzt, verwende mindestens <emphasis role="bold">4.2.0</emphasis>, da der
+ 3dfx Xv-Treiber in der Version 4.1.0 und davor nicht funktioniert.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">ATI-Karten</emphasis>: Der <link linkend="vidix">VIDIX</link>-Treiber
+ wird für folgende Karten bereitgestellt:
+ <emphasis role="bold">Radeon, Rage128, Mach64</emphasis> (Rage XL/Mobility, Xpert98).
+ Siehe auch die Dokumentation des TV-out im Abschnitt <link linkend="tvout-ati">ATI-Karten</link>,
+ damit du weißt, ob das TV-out deiner Karte unter Linux mit
+ <application>MPlayer</application> unterstützt wird.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">S3-Karten</emphasis>: Die Savage- und Virge/DX-Chips verfügen
+ über Hardwarebeschleunigung. Benutze eine XFree86-Version, die so neu wir möglich ist,
+ ältere Treiber sind buggy. Savage-Chips haben Probleme mit YV12-Darstellung, siehe
+ Abschnitt <link linkend="s3">S3 Xv</link> für Details. Ältere Trio-Karten haben keine
+ oder nur langsame Hardwareunterstützung.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">nVidia-Karten</emphasis>: Können oder können keine gute Wahl sein
+ für die Videowiedergabe. Wenn du eine GeForce2-Karte hast (oder neuer), ist es nicht
+ wahrscheinlich, dass sie ohne Fehler funktioniert.
+ <emphasis role="bold">Der in XFree86 eingebaute nVidia-Treiber unterstützt nicht auf
+ allen Karten YUV-Hardwarebeschleunigung.</emphasis> Du musst die Closed-Source-Treiber von
+ <ulink url="http://nvidia.com">nVidia.com</ulink> herunterladen. Siehe Abschnitt
+ <link linkend="nvidia">nVidia Xv-Treiber</link> für Details. Bitte siehe auch Abschnitt
+ <link linkend="tvout-nvidia">nVidia TV-out</link>, wenn du einen Fernseher verwenden möchtest.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">3DLabs GLINT R3 und Permedia3</emphasis>: Ein VIDIX-Treiber wird
+ bereitgestellt (pm3_vid). Bitte siehe Abschnitt <link linkend="vidix">VIDIX</link> für Details.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">Andere Karten</emphasis>: keine der oben genannten?
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ Probiere, ob der XFree86-Treiber (und deine Karte) Hardwarebeschleunigung unterstützen.
+ Siehe Abschnitt <link linkend="xv">Xv</link> für Details.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Sollten sie dies nicht tun, werden die Features unter deinem Betriebssystem nicht
+ unterstützt :( Wenn Hardwarebeschleunigung unter Windows funktioniert, bedeutet
+ dies nicht, dass sie unter Linux oder anderen Betriebssystemen funktioniert, das
+ hängt von den Treibern ab. Die meisten Hersteller stellen weder Linuxtreiber her,
+ noch veröffentlichen sie die Spezifikationen ihrer Chips - daher hast du Pech,
+ wenn du ihre Karten benutzt.
+ Siehe <xref linkend="non-yuv-cards"/>.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </sect2>
+
+
+ <sect2 id="non-yuv-cards" xreflabel="Non-YUV cards">
+ <title>Nicht-YUV-Karten</title>
+
+ <para>
+ Vollbildwiedergabe kann erreicht werden, indem entweder
+ <emphasis role="bold">Softwareskalierung</emphasis> aktiviert wird
+ (benutz die Option <option>-zoom</option> oder <option>-vf</option>, aber ich warne dich,
+ die ist langsam), oder durch den Wechsel zu einem kleineren Videomodus wie zum Beispiel
+ 352x288. Hast du keine YUV-Beschleunigung, wird letztere Methode empfohlen.
+ Der Wechsel des Videomodus kann durch die Option <option>-vm</option> aktiviert werden
+ und funktioniert mit folgenden Treibern:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ <emphasis role="bold">Benutzung von </emphasis> XFree86: Siehe Details in den Abschnitten
+ <link linkend="dga">DGA-Treiber</link> und <link linkend="x11">X11-Treiber</link>.
+ DGA wird empfohlen! Probiere auch DGA via SDL, das funktioniert manchmal besser.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <emphasis role="bold">Nicht-Benutzung von</emphasis> XFree86: Probiere die Treiber
+ in folgender Reihenfolge:
+ <link linkend="vesa">vesa</link>,
+ <link linkend="fbdev">fbdev</link>,
+ <link linkend="svgalib">svgalib</link>,
+ <link linkend="aalib">aalib</link>.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </sect2>
+
+ <!-- FIXME: finde eine logisch sinnvollere Ordnung für diesen Abschnitt -->
+ <sect2 id="cirrus-logic-cards" xreflabel="Cirrus-Logic-Karten">
+ <title>Cirrus-Logic-Karten</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ GD 7548: verfügbar on-board und getestet in der Compaq Armada 41xx Notebook-Serie.
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ XFree86 3: Funktioniert in 8/16bpp-Modi. Trotzdem, der Treiber ist übel langsam in
+ 800x600@16bpp. <emphasis role="bold">Empfohlen: 640x480@16bpp</emphasis>
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ XFree86 4: Der Xserver friert kurz nach dem Start ein, wenn Beschleunigung nicht
+ aktiviert ist, dann jedoch laufen die Dinge noch langsamer als mit XFree86 3.
+ Kein XVideo.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ FBdev: Framebuffer kann mit dem <systemitem>clgenfb</systemitem>-Treiber im Kernel
+ aktiviert werden, auch wenn er bei mir nur mit 8bpp funktioniert hat, daher
+ unbrauchbar. Die clgenfb-Source musste um die 7548-ID vor der Compilierung
+ erweitert werden.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ VESA: Die Karte ist nur VBE 1.2-fähig, daher kann VESA-Ausgabe nicht benutzt
+ werden. Kann mit UniVBE nicht umgangen werden.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ SVGAlib: erkennt einen älteren Cirrus-Chip. Langsam, aber nutzbar mit der Option
+ <option>-bpp 8</option>.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+ </sect1>
+
+
+ <sect1 id="sound-cards">
+ <title>Soundkarten</title>
+
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ <emphasis role="bold">Soundblaster Live!</emphasis>: Mit dieser Karte kannst du
+ AC3-Decodierung mit 4 oder 6 (<emphasis role="bold">5.1</emphasis>) anstatt 2 Kanälen
+ verwenden. Lies den Abschnitt <link linkend="swac3">Software-AC3-Decodierung</link>.
+ Für Hardware-AC3-Passthrough <emphasis role="bold">musst</emphasis> du ALSA 0.9 mit
+ OSS-Emulation verwenden!
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <emphasis role="bold">C-Media mit S/PDIF out</emphasis>: Hardware-AC3-Passthrough
+ ist mit diesen Karten möglich, siehe Abschnitt
+ <link linkend="hwac3">Hardware-AC3-Decodierung</link>.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Features <emphasis role="bold">anderer Karten</emphasis> werden von
+ <application>MPlayer</application> nicht unterstützt.
+ <emphasis role="bold">Es wird dringend empfohlen, die Sektion <link linkend="audio">Soundkarte</link> zu lesen!</emphasis>
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+
+ <sect1 id="features">
+ <title>Features</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Entscheide, ob du eine GUI benötigst. Ist dies der Fall, schau in Abschnitt
+ <link linkend="gui">GUI</link>, bevor du compilierst.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Wenn Du <application>MEncoder</application> (unseren super Allzweck-Encoder)
+ installieren möchtest, siehe Abschnitt
+ <link linkend="mencoder"><application>MEncoder</application></link>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Wenn du eine V4L-kompatible <emphasis role="bold">TV-Tuner</emphasis>-Karte hast
+ und Filme mit <application>MPlayer</application> anschauen/grabben und encodieren
+ möchtest, lies den Abschnitt <link linkend="tv-input">TV-Input</link>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Wenn du eine V4L-kompatible <emphasis role="bold">Radioempfänger</emphasis>karte hast
+ und mit <application>MPlayer</application> Radio hören oder aufnehmen möchtest,
+ lies den Abschnitt <link linkend="radio">radio</link>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Es gibt Unterstützung für ein schickes <emphasis role="bold">OSD-Menü</emphasis>,
+ das benutzt werden kann. Siehe Abschnitt <link linkend="subosd">OSD-Menü</link>.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ Baue dann <application>MPlayer</application>:
+<screen>./configure
make
make install</screen>
-</para>
-
-<para>
-Zu diesem Zeitpunkt ist <application>MPlayer</application> benutzbar. Das Verzeichnis
-<filename class="directory">$PREFIX/share/mplayer</filename> enthält die Datei
-<filename>codecs.conf</filename>, die dem Programm mitteilt, welche
-Codecs verfügbar sind und was diese können. Du brauchst die Datei nur, wenn du
-Eigenschaften ändern möchtest, da die ausführbare Datei intern eine eigene
-Kopie enthält. Überprüfe, ob du eine Kopie von <filename>codecs.conf</filename> einer
-älteren <application>MPlayer</application>-Version in deinem
-Home-Verzeichnis (<filename>~/.mplayer/codecs.conf</filename>) hast, und entferne diese.
-</para>
-
-<para>
-Beachte, dass die eingebaute und vom System bereitgestellte <filename>codecs.conf</filename>
-ignoriert wird, wenn du eine <filename>codecs.conf</filename> im Verzeichnis
-<filename>~/.mplayer/</filename>, hast.
-Benutze diese nicht, wenn du nicht an den Interna von <application>MPlayer</application>
-herumbasteln möchtest, da dies viele Probleme hervorrufen kann. Wenn du die Reihenfolge
-der Suche nach Codecs ändern möchtest, benutze die Optionen <option>-vc</option>,
-<option>-ac</option>, <option>-vfm</option>, oder <option>-afm</option> auf der
-Kommandozeile oder in deiner Konfigurationsdatei (siehe Manpage).
-</para>
-
-
-<para>
-Debian-Nutzer können ihr eigenes .deb-Paket bauen, das ist sehr leicht.
-Führe nur <screen>fakeroot debian/rules binary</screen>
-in <application>MPlayer</application>s Wurzelverzeichnis aus. Siehe
-<link linkend="debian">Debian-Packaging</link> für detaillierte Informationen.
-</para>
-
-<para>
-<emphasis role="bold">Überprüfe immer die Ausgabe von </emphasis>
-<filename>./configure</filename> und die Datei <filename>configure.log</filename>,
-sie enthalten Informationen darüber, was eingebaut wird und was nicht.
-Du möchtest dir vielleicht auch die Dateien
-<filename>config.h</filename> und <filename>config.mak</filename> anschauen.
-Wenn du manche Bibliotheken installiert hast, die von
-<filename>./configure</filename> aber nicht erkannt werden, überprüfe auch
-die entsprechenden Header-Dateien (normalerweise die -dev-Pakete) und ob deren
-Versionen passen. Die Datei <filename>configure.log</filename> gibt
-normalerweise Auskunft darüber, was fehlt.
-</para>
-
-<para>
-Obwohl sie nicht notwendig sind, sollten die Fonts installiert werden, um die
-Funktionalität von OSD- und Untertiteldarstellung nutzen zu können. Die
-empfohlene Methode dazu ist, eine TTF-Fontdatei zu installieren und
-<application>MPlayer</application> anzuweisen, diese zu benutzen.
-Siehe Abschnitt <link linkend="subosd">Untertitel und OSD</link> für Details.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="gui">
-<title>Was ist mit der GUI?</title>
-
-<para>
-Die GUI benötigt GTK 1.2.x oder GTK 2.0 (sie ist nicht vollständig GTK, aber
-die Panels). Die Skins werden im PNG-Format gespeichert, daher müssen GTK,
-<systemitem class="library">libpng</systemitem> (und deren Entwicklungskram,
-normalerweise <systemitem class="library">gtk-dev</systemitem> genannt),
-installiert sein. Du kannst die GUI durch Angabe von <option>--enable-gui</option>
-während <filename>./configure</filename> aktivieren. Dann musst du, um den
-GUI-Modus zu aktivieren, die Binärdatei <command>gmplayer</command> starten.
-</para>
-
-<para>
-Aus technischen Gründen kannst du die Option <option>-gui</option> nicht auf
-der Kommandozeile verwenden.
-</para>
-
-<para>
-Da <application>MPlayer</application> kein Skin enthält, musst du eins
-herunterladen, um die GUI benutzen zu können. Siehe
-<ulink url="http://www.mplayerhq.hu/dload.html">Download-Seite</ulink>.
-Sie sollten in das normale systemweite Verzeichnis
-(<filename class="directory">$PREFIX/share/mplayer/skins</filename>) oder nach
- <filename class="directory">$HOME/.mplayer/skins</filename> installiert werden.
-<application>MPlayer</application> schaut nach Voreinstellung in diesen Verzeichnissen
-nach einem Verzeichnis mit dem Namen <filename class="directory">default</filename>,
- du kannst aber die Option <option>-skin <replaceable>newskin</replaceable></option>
- oder die Konfigurationsdateianweisung
- <literal>skin=newskin</literal> nutzen, um ein Skin im Verzeichnis
- <filename class="directory">*/skins/newskin</filename> zu benutzen.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="fonts-osd">
-<title>Schriften und OSD</title>
-
-<para>
-Du musst <application>MPlayer</application> mitteilen, welche Schriftart verwendet
-werden soll, um in den Genuß von OSD und Untertiteln zu kommen.
-Jede TrueType-Schriftart oder spezielle Bitmap-Schriftarten werden funktionieren.
-TrueType-Schriftarten werden jedoch empfohlen, da sie weit besser aussehen,
-entsprechend der Filmgröße skaliert werden können und mit verschiedenen Zeichensätzen
-besser umgehen.
-</para>
-
-
-<sect2 id="truetype-fonts">
-<title>TrueType-Schriften</title>
-
-<para>
- Es gibt zwei Möglichkeiten, TrueType-Schriften ans Laufen zu bekommen.
- Die erste besteht darin, die Option <option>-font</option> auf der Kommandozeile
- anzugeben. Diese Option ist vermutlich ein guter Kandidat für die Aufnahme
- in deine Konfigurationsdatei (siehe Manpage für Details).
- Die zweite besteht darin, einen <filename>subfont.ttf</filename> genannten Symlink
- zu der Schriftart deiner Wahl zu erstellen. Führe entweder
- <screen>ln -s <replaceable>/Pfad/zur/Schrift.ttf</replaceable> ~/.mplayer/subfont.ttf</screen>
- für jeden User durch, oder erstelle einen systemweiten Symlink:
- <screen>ln -s <replaceable>/Pfad/zur/Schrift.ttf</replaceable> $PREFIX/share/mplayer/subfont.ttf</screen>
-</para>
-
-<para>
- Wenn <application>MPlayer</application> mit
- <systemitem class="library">fontconfig</systemitem>-Unterstützung compiliert wurde,
- werden die oben genannten Methoden nicht funktionieren; statt dessen erwartet
- <option>-font</option> einen <systemitem class="library">fontconfig</systemitem>-Schriftnamen,
- und der Standard ist die Schriftart Sans-serif. Um eine Liste der
- <systemitem class="library">fontconfig</systemitem> bekannten Dateien zu erhalten,
- benutze <command>fc-list</command>. Beispiel:
-
-<screen>mplayer -font <replaceable>'Bitstream Vera Sans'</replaceable> <replaceable>anime.mkv</replaceable></screen>
-</para>
-
-</sect2>
-
-
-<sect2 id="bitmap-fonts">
-<title>Bitmap-Schriften</title>
-
-<para>
-Wenn du aus einem bestimmten Grund Bitmap-Schriftwarten verwenden möchtest, lade dir einen Satz
-von unserer Homepage herunter. Du kannst zwischen verschiedenen
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/fonts/">ISO-Schriftarten</ulink>
-und ein paar Sätzen von Schriftarten, die
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/fonts/">von Benutzern beigetragen</ulink> wurden,
-in verschiedenen Zeichensätzen wählen.
-</para>
-
-<para>
-Entpacke die Datei, die du heruntergeladen hast nach
-<filename class="directory">~/.mplayer</filename> oder
-<filename class="directory">$PREFIX/share/mplayer</filename>.
-Benenne dann eins der extrahierten Verzeichnisse um zu
-<filename class="directory">font</filename>, oder erstelle einen Symlink dorthin, zum Beispiel:
-<screen>ln -s <replaceable>~/.mplayer/arial-24</replaceable> ~/.mplayer/font</screen>
-<screen>ln -s <replaceable>$PREFIX/share/mplayer/arial-24</replaceable> $PREFIX/share/mplayer/font</screen>
-</para>
-
-<para>
-Schriftarten sollten eine entsprechende <filename>font.desc</filename>-Datei haben,
-die Positionen von Unicode-Schriften auf die aktuelle Codeseite des Untertiteltexts abbildet.
-Eine andere Möglichkeit besteht darin, in UTF-8 codierte Untertitel zu verwenden und die Option
-<option>-utf8</option> zu verwenden. Noch eine Möglichkeit besteht darin, die Untertiteldatei
-umzubenennen zu <filename>&lt;video_name&gt;.utf</filename> und sie im selben Verzeichnis wie
-die Videodatei abzulegen.
-</para>
-
-</sect2>
-
-
-<sect2 id="osdmenu">
-<title>OSD-Menü</title>
-
-<para>
-<application>MPlayer</application> hat eine komplett benutzerdefinierbare OSD-Menü-Schnittstelle.
-</para>
-
-<note><simpara>
-Das Menü Einstellungen ist momentan NICHT IMPLEMENTIERT!
-</simpara></note>
-
-<orderedlist>
-<title>Installation</title>
-<listitem><simpara>
- compiliere <application>MPlayer</application> mit Übergabe von <option>--enable-menu</option>
- an <filename>./configure</filename>
- </simpara></listitem>
-<listitem><simpara>
- stelle sicher, dass du ein OSD-Font installiert hast
- </simpara></listitem>
-<listitem><simpara>
- kopiere <filename>etc/menu.conf</filename> in dein
- <filename class="directory">.mplayer</filename>-Verzeichnis
- </simpara></listitem>
-<listitem><simpara>
- kopiere <filename>etc/input.conf</filename> in dein
- <filename class="directory">.mplayer</filename>-Verzeichnis oder in das systemweite
- <application>MPlayer</application>-Konfigurationsverzeichnis (Standard:
- <filename class="directory">/usr/local/etc/mplayer</filename>)
- </simpara></listitem>
-<listitem><simpara>
- überprüfe und editiere <filename>input.conf</filename>, um Menüsteuerungstasten
- zu aktivieren (das ist dort beschrieben).
- </simpara></listitem>
-<listitem><para>
- starte <application>MPlayer</application> mit folgendem Beispiel:
- <screen>$ mplayer -menu <replaceable>datei.avi</replaceable></screen>
- </para></listitem>
-<listitem><simpara>
- drücke irgendeine von dir definierte Menütaste
- </simpara></listitem>
-</orderedlist>
-
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="rtc">
-<title>RTC</title>
-<para>
-Es gibt drei Zeitgebermethoden in <application>MPlayer</application>.
-
-<itemizedlist>
-<listitem><simpara>
-<emphasis role="bold">Um die alte Methode zu verwenden</emphasis>, musst du
- gar nichts machen. Diese benutzt <systemitem>usleep()</systemitem>, um
- A/V-Synchronisation abzustimmen, mit +/- 10ms Genauigkeit. Trotzdem muss manchmal
- die Synchronisation noch feiner abgestimmt werden.
- </simpara></listitem>
-<listitem><para>
-<emphasis role="bold">Der neue Zeitgeber</emphasis>-Code benutzt RTC (RealTime Clock, Echtzeituhr)
- für diese Aufgabe, da dieser präzise 1ms-Timer besitzt.
- Die Option <option>-rtc</option> aktivert diesen, es ist jedoch ein hierfür speziell konfigurierter
- Kernel erforderlich.
- Wenn du Kernel 2.4.19pre8 oder neuer laufen hast, kannst du die maximale RTC-Frequenz
- für normale Benutzer durch das <systemitem class="systemname">/proc</systemitem>-Dateisystem
- festlegen. Benutze folgenden Befehl, um RTC für normale Benutzer zu aktivieren
- <screen>echo 1024 &gt; /proc/sys/dev/rtc/max-user-freq</screen>
- Du kannst die Effizienz des neuen Zeitgebers in der Statuszeile sehen.
- Die Power Management-Funktionen der BIOSse mancher Notebooks mit speedstep-CPUs
- vertragen sich nicht gut mit RTC. Audio und Video könnten Synchronisation verlieren.
- Die externe Stromversorgung anzuschließen, bevor du dein Notebook einschaltest,
- scheint zu helfen.
- Bei manchen Hardwarekombinationen (bestätigt
- während des Gebrauchs eines Nicht-DMA-DVD-Laufwerks auf einem ALi1541-Board)
- führt der Gebrauch des RTC-Zeitgebers zu sprunghafter Wiedergabe. Es wird empfohlen,
- in solchen Fällen die dritte Methode zu verwenden.
- </para></listitem>
-<listitem><simpara>
- <emphasis role="bold">Der Code des dritten Zeitgebers</emphasis> wird mit der Option
- <option>-softsleep</option> aktiviert. Der hat die Effizienz von RTC, benutzt RTC aber nicht.
- Auf der anderen Seite benötigt er mehr CPU.
- </simpara></listitem>
-</itemizedlist>
-</para>
-</sect1>
+ </para>
+
+ <para>
+ Zu diesem Zeitpunkt ist <application>MPlayer</application> benutzbar. Das Verzeichnis
+ <filename class="directory">$PREFIX/share/mplayer</filename> enthält die Datei
+ <filename>codecs.conf</filename>, die dem Programm mitteilt, welche
+ Codecs verfügbar sind und was diese können. Du brauchst die Datei nur, wenn du
+ Eigenschaften ändern möchtest, da die ausführbare Datei intern eine eigene
+ Kopie enthält. Überprüfe, ob du eine Kopie von <filename>codecs.conf</filename> einer
+ älteren <application>MPlayer</application>-Version in deinem
+ Home-Verzeichnis (<filename>~/.mplayer/codecs.conf</filename>) hast, und entferne diese.
+ </para>
+
+ <para>
+ Beachte, dass die eingebaute und vom System bereitgestellte <filename>codecs.conf</filename>
+ ignoriert wird, wenn du eine <filename>codecs.conf</filename> im Verzeichnis
+ <filename>~/.mplayer/</filename>, hast.
+ Benutze diese nicht, wenn du nicht an den Interna von <application>MPlayer</application>
+ herumbasteln möchtest, da dies viele Probleme hervorrufen kann. Wenn du die Reihenfolge
+ der Suche nach Codecs ändern möchtest, benutze die Optionen <option>-vc</option>,
+ <option>-ac</option>, <option>-vfm</option>, oder <option>-afm</option> auf der
+ Kommandozeile oder in deiner Konfigurationsdatei (siehe Manpage).
+ </para>
+
+ <para>
+ Debian-Nutzer können ihr eigenes .deb-Paket bauen, das ist sehr leicht.
+ Führe nur <screen>fakeroot debian/rules binary</screen>
+ in <application>MPlayer</application>s Wurzelverzeichnis aus. Siehe
+ <link linkend="debian">Debian-Packaging</link> für detaillierte Informationen.
+ </para>
+
+ <para>
+ <emphasis role="bold">Überprüfe immer die Ausgabe von </emphasis>
+ <filename>./configure</filename> und die Datei <filename>configure.log</filename>,
+ sie enthalten Informationen darüber, was eingebaut wird und was nicht.
+ Du möchtest dir vielleicht auch die Dateien
+ <filename>config.h</filename> und <filename>config.mak</filename> anschauen.
+ Wenn du manche Bibliotheken installiert hast, die von
+ <filename>./configure</filename> aber nicht erkannt werden, überprüfe auch
+ die entsprechenden Header-Dateien (normalerweise die -dev-Pakete) und ob deren
+ Versionen passen. Die Datei <filename>configure.log</filename> gibt
+ normalerweise Auskunft darüber, was fehlt.
+ </para>
+
+ <para>
+ Obwohl sie nicht notwendig sind, sollten die Fonts installiert werden, um die
+ Funktionalität von OSD- und Untertiteldarstellung nutzen zu können. Die
+ empfohlene Methode dazu ist, eine TTF-Fontdatei zu installieren und
+ <application>MPlayer</application> anzuweisen, diese zu benutzen.
+ Siehe Abschnitt <link linkend="subosd">Untertitel und OSD</link> für Details.
+ </para>
+
+ </sect1>
+
+ <!-- ********** -->
+
+ <sect1 id="gui">
+ <title>Was ist mit der GUI?</title>
+
+ <para>
+ Die GUI benötigt GTK 1.2.x oder GTK 2.0 (sie ist nicht vollständig GTK, aber
+ die Panels). Die Skins werden im PNG-Format gespeichert, daher müssen GTK,
+ <systemitem class="library">libpng</systemitem> (und deren Entwicklungskram,
+ normalerweise <systemitem class="library">gtk-dev</systemitem> genannt),
+ installiert sein. Du kannst die GUI durch Angabe von <option>--enable-gui</option>
+ während <filename>./configure</filename> aktivieren. Dann musst du, um den
+ GUI-Modus zu aktivieren, die Binärdatei <command>gmplayer</command> starten.
+ </para>
+
+ <para>
+ Aus technischen Gründen kannst du die Option <option>-gui</option> nicht auf
+ der Kommandozeile verwenden.
+ </para>
+
+ <para>
+ Da <application>MPlayer</application> kein Skin enthält, musst du eins
+ herunterladen, um die GUI benutzen zu können. Siehe
+ <ulink url="http://www.mplayerhq.hu/dload.html">Download-Seite</ulink>.
+ Sie sollten in das normale systemweite Verzeichnis
+ (<filename class="directory">$PREFIX/share/mplayer/skins</filename>) oder nach
+ <filename class="directory">$HOME/.mplayer/skins</filename> installiert werden.
+ <application>MPlayer</application> schaut nach Voreinstellung in diesen Verzeichnissen
+ nach einem Verzeichnis mit dem Namen <filename class="directory">default</filename>,
+ du kannst aber die Option <option>-skin <replaceable>newskin</replaceable></option>
+ oder die Konfigurationsdateianweisung
+ <literal>skin=newskin</literal> nutzen, um ein Skin im Verzeichnis
+ <filename class="directory">*/skins/newskin</filename> zu benutzen.
+ </para>
+ </sect1>
+
+ <!-- ********** -->
+
+ <sect1 id="fonts-osd">
+ <title>Schriften und OSD</title>
+
+ <para>
+ Du musst <application>MPlayer</application> mitteilen, welche Schriftart verwendet
+ werden soll, um in den Genuß von OSD und Untertiteln zu kommen.
+ Jede TrueType-Schriftart oder spezielle Bitmap-Schriftarten werden funktionieren.
+ TrueType-Schriftarten werden jedoch empfohlen, da sie weit besser aussehen,
+ entsprechend der Filmgröße skaliert werden können und mit verschiedenen Zeichensätzen
+ besser umgehen.
+ </para>
+
+
+ <sect2 id="truetype-fonts">
+ <title>TrueType-Schriften</title>
+
+ <para>
+ Es gibt zwei Möglichkeiten, TrueType-Schriften ans Laufen zu bekommen.
+ Die erste besteht darin, die Option <option>-font</option> auf der Kommandozeile
+ anzugeben. Diese Option ist vermutlich ein guter Kandidat für die Aufnahme
+ in deine Konfigurationsdatei (siehe Manpage für Details).
+ Die zweite besteht darin, einen <filename>subfont.ttf</filename> genannten Symlink
+ zu der Schriftart deiner Wahl zu erstellen. Führe entweder
+ <screen>ln -s <replaceable>/Pfad/zur/Schrift.ttf</replaceable> ~/.mplayer/subfont.ttf</screen>
+ für jeden User durch, oder erstelle einen systemweiten Symlink:
+ <screen>ln -s <replaceable>/Pfad/zur/Schrift.ttf</replaceable> $PREFIX/share/mplayer/subfont.ttf</screen>
+ </para>
+
+ <para>
+ Wenn <application>MPlayer</application> mit
+ <systemitem class="library">fontconfig</systemitem>-Unterstützung compiliert wurde,
+ werden die oben genannten Methoden nicht funktionieren; statt dessen erwartet
+ <option>-font</option> einen <systemitem class="library">fontconfig</systemitem>-Schriftnamen,
+ und der Standard ist die Schriftart Sans-serif. Um eine Liste der
+ <systemitem class="library">fontconfig</systemitem> bekannten Dateien zu erhalten,
+ benutze <command>fc-list</command>. Beispiel:
+ <screen>mplayer -font <replaceable>'Bitstream Vera Sans'</replaceable> <replaceable>anime.mkv</replaceable></screen>
+ </para>
+
+ </sect2>
+
+
+ <sect2 id="bitmap-fonts">
+ <title>Bitmap-Schriften</title>
+
+ <para>
+ Wenn du aus einem bestimmten Grund Bitmap-Schriftwarten verwenden möchtest, lade dir einen Satz
+ von unserer Homepage herunter. Du kannst zwischen verschiedenen
+ <ulink url="http://www.mplayerhq.hu/MPlayer/releases/fonts/">ISO-Schriftarten</ulink>
+ und ein paar Sätzen von Schriftarten, die
+ <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/fonts/">von Benutzern beigetragen</ulink> wurden,
+ in verschiedenen Zeichensätzen wählen.
+ </para>
+
+ <para>
+ Entpacke die Datei, die du heruntergeladen hast nach
+ <filename class="directory">~/.mplayer</filename> oder
+ <filename class="directory">$PREFIX/share/mplayer</filename>.
+ Benenne dann eins der extrahierten Verzeichnisse um zu
+ <filename class="directory">font</filename>, oder erstelle einen Symlink dorthin, zum Beispiel:
+ <screen>ln -s <replaceable>~/.mplayer/arial-24</replaceable> ~/.mplayer/font</screen>
+ <screen>ln -s <replaceable>$PREFIX/share/mplayer/arial-24</replaceable> $PREFIX/share/mplayer/font</screen>
+ </para>
+
+ <para>
+ Schriftarten sollten eine entsprechende <filename>font.desc</filename>-Datei haben,
+ die Positionen von Unicode-Schriften auf die aktuelle Codeseite des Untertiteltexts abbildet.
+ Eine andere Möglichkeit besteht darin, in UTF-8 codierte Untertitel zu verwenden und die Option
+ <option>-utf8</option> zu verwenden. Noch eine Möglichkeit besteht darin, die Untertiteldatei
+ umzubenennen zu <filename>&lt;video_name&gt;.utf</filename> und sie im selben Verzeichnis wie
+ die Videodatei abzulegen.
+ </para>
+
+ </sect2>
+
+
+ <sect2 id="osdmenu">
+ <title>OSD-Menü</title>
+
+ <para>
+ <application>MPlayer</application> hat eine komplett benutzerdefinierbare OSD-Menü-Schnittstelle.
+ </para>
+
+ <note>
+ <simpara>
+ Das Menü Einstellungen ist momentan NICHT IMPLEMENTIERT!
+ </simpara>
+ </note>
+
+ <orderedlist>
+ <title>Installation</title>
+ <listitem>
+ <simpara>
+ compiliere <application>MPlayer</application> mit Übergabe von <option>--enable-menu</option>
+ an <filename>./configure</filename>
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ stelle sicher, dass du ein OSD-Font installiert hast
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ kopiere <filename>etc/menu.conf</filename> in dein
+ <filename class="directory">.mplayer</filename>-Verzeichnis
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ kopiere <filename>etc/input.conf</filename> in dein
+ <filename class="directory">.mplayer</filename>-Verzeichnis oder in das systemweite
+ <application>MPlayer</application>-Konfigurationsverzeichnis (Standard:
+ <filename class="directory">/usr/local/etc/mplayer</filename>)
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ überprüfe und editiere <filename>input.conf</filename>, um Menüsteuerungstasten
+ zu aktivieren (das ist dort beschrieben).
+ </simpara>
+ </listitem>
+ <listitem>
+ <para>
+ starte <application>MPlayer</application> mit folgendem Beispiel:
+ <screen>$ mplayer -menu <replaceable>datei.avi</replaceable></screen>
+ </para>
+ </listitem>
+ <listitem>
+ <simpara>
+ drücke irgendeine von dir definierte Menütaste
+ </simpara>
+ </listitem>
+ </orderedlist>
+
+ </sect2>
+ </sect1>
+
+ <!-- ********** -->
+
+ <sect1 id="rtc">
+ <title>RTC</title>
+ <para>
+ Es gibt drei Zeitgebermethoden in <application>MPlayer</application>.
+
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ <emphasis role="bold">Um die alte Methode zu verwenden</emphasis>, musst du
+ gar nichts machen. Diese benutzt <systemitem>usleep()</systemitem>, um
+ A/V-Synchronisation abzustimmen, mit +/- 10ms Genauigkeit. Trotzdem muss manchmal
+ die Synchronisation noch feiner abgestimmt werden.
+ </simpara>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">Der neue Zeitgeber</emphasis>-Code benutzt RTC (RealTime Clock, Echtzeituhr)
+ für diese Aufgabe, da dieser präzise 1ms-Timer besitzt.
+ Die Option <option>-rtc</option> aktivert diesen, es ist jedoch ein hierfür speziell konfigurierter
+ Kernel erforderlich.
+ Wenn du Kernel 2.4.19pre8 oder neuer laufen hast, kannst du die maximale RTC-Frequenz
+ für normale Benutzer durch das <systemitem class="systemname">/proc</systemitem>-Dateisystem
+ festlegen. Benutze folgenden Befehl, um RTC für normale Benutzer zu aktivieren
+ <screen>echo 1024 &gt; /proc/sys/dev/rtc/max-user-freq</screen>
+ Du kannst die Effizienz des neuen Zeitgebers in der Statuszeile sehen.
+ Die Power Management-Funktionen der BIOSse mancher Notebooks mit speedstep-CPUs
+ vertragen sich nicht gut mit RTC. Audio und Video könnten Synchronisation verlieren.
+ Die externe Stromversorgung anzuschließen, bevor du dein Notebook einschaltest,
+ scheint zu helfen.
+ Bei manchen Hardwarekombinationen (bestätigt
+ während des Gebrauchs eines Nicht-DMA-DVD-Laufwerks auf einem ALi1541-Board)
+ führt der Gebrauch des RTC-Zeitgebers zu sprunghafter Wiedergabe. Es wird empfohlen,
+ in solchen Fällen die dritte Methode zu verwenden.
+ </para>
+ </listitem>
+ <listitem>
+ <simpara>
+ <emphasis role="bold">Der Code des dritten Zeitgebers</emphasis> wird mit der Option
+ <option>-softsleep</option> aktiviert. Der hat die Effizienz von RTC, benutzt RTC aber nicht.
+ Auf der anderen Seite benötigt er mehr CPU.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </sect1>
</chapter>
diff --git a/DOCS/xml/de/ports.xml b/DOCS/xml/de/ports.xml
index d6edcb8f61..3b506d96b0 100644
--- a/DOCS/xml/de/ports.xml
+++ b/DOCS/xml/de/ports.xml
@@ -1,272 +1,265 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- in sync with r19820 -->
-<chapter id="ports" xreflabel="Ports">
-<title>Portierungen</title>
-
-<sect1 id="linux">
-<title>Linux</title>
-<para>
- Die Hauptentwicklungsplattform ist Linux auf x86, obwohl
- <application>MPlayer</application> auf vielen anderen Linux-Portierungen
- funktioniert.
- Binary Packages von <application>MPlayer</application> stehen auf mehreren Quellen
- zur Verfügung. Jedoch wird <emphasis role="bold">keines dieser Packages unterstützt</emphasis>.
- Melde den Autoren die Probleme, nicht uns.
-</para>
-
-<sect2 id="debian">
-<title>Debian-Packaging</title>
-<para>
- Um ein Debian-Package zu bauen, führe folgenden Befehl im source-Verzeichnis von
- <application>MPlayer</application> aus:
-
-<screen>fakeroot debian/rules binary</screen>
-
- Wenn du eigene Optionen an configure übergeben willst, kannst du die Umgebungsvariable
- <envar>DEB_BUILD_OPTIONS</envar> einrichten. Zum Beispiel, wenn du die
- GUI- und OSD-Menü-Unterstützung willst, die du gerne nutzen würdest:
-
-<screen>DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary</screen>
-
- Du kannst auch einige Variablen an Makefile übergeben. Zum Beispiel, wenn du
- mit gcc 3.4 compilieren willst, auch wenn er nicht der Standard-Compiler ist:
-
-<screen>CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary</screen>
-
- Um den Sourcetree aufzuräumen, führe folgenden Befehl aus:
-
-<screen>fakeroot debian/rules clean</screen>
-
- Als root kannst du dann das <filename>.deb</filename>-Package wie immer installieren:
-
-<screen>dpkg -i ../mplayer_<replaceable>version</replaceable>.deb</screen>
-</para>
-
-<para>
- Christian Marillat hatte eine Weile lang inoffizielle Debian-Packages von
- <application>MPlayer</application>, <application>MEncoder</application> und
- unseren Binärcodecpaketen erstellt, du kannst sie von
- <ulink url="http://www.debian-multimedia.org/">seiner Homepage</ulink>
- mit apt-get herunterladen.
-</para>
-</sect2>
-
-<sect2 id="rpm">
-<title>RPM-Packaging</title>
-<para>
- Dominik Mierzejewski entwarf und wartet die inoffiziellen RPM-Packages von
- <application>MPlayer</application> für Red Hat und Fedora Core. Sie sind von
- seinem <ulink url="http://rpm.greysector.net/mplayer/">Repository</ulink>
- verfügbar.
-</para>
-
-<para>
- Mandrake/Mandriva RPM-Packages stehen auf <ulink url="http://plf.zarb.org/">P.L.F.</ulink>
- zur Verfügung.
- SuSE verwendet eine verkrüppelte Version von <application>MPlayer</application>
- in seiner Distribution. Diese haben sie aus ihren neuesten Releases entfernt. Du
- bekommst funktionierende RPMs auf
-<ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>.
-</para>
-</sect2>
-
-<sect2 id="arm">
-<title>ARM</title>
-<para>
- <application>MPlayer</application> läuft auf Linux PDAs mit ARM CPU, z.B. Sharp Zaurus,
- Compaq Ipaq. Der einfachste Weg, sich <application>MPlayer</application> zu besorgen ist,
- sich ihn von einer der
- <ulink url="http://www.openzaurus.org">OpenZaurus</ulink> Package Feeds zu holen. Falls
- du ihn dir selbst compilieren willst, solltest du im
- <ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">mplayer</ulink>-
- und im
- <ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink>-Verzeichnis
- der OpenZaurus Distribution Buildroot nachsehen. Diese haben stets die neueste
- Makefile und Patches, die zum Erstellen eines CVS-<application>MPlayer</application> mit
- <systemitem class="library">libavcodec</systemitem> verwendet werden.
- Brauchst du ein GUI-Frontend, kannst du xmms-embedded nutzen.
-</para>
-</sect2>
-</sect1>
-
-<sect1 id="bsd">
-<title>*BSD</title>
-<para>
- <application>MPlayer</application> läuft auf allen bekannten BSD-Derivaten.
- Es stehen ports/pkgsrc/fink/etc-Versionen des <application>MPlayer</application>
- bereit, die möglicherweise leichter anzuwenden sind als unsere Originalquellen.
-</para>
-
-<para>
- Um <application>MPlayer</application> zu erstellen, brauchst du GNU make
- (gmake - natives BSD make wird nicht funktionieren) und eine aktuelle Version
- der binutils.
-</para>
-
-<para>
- Beschwert sich <application>MPlayer</application>, er könne <filename>/dev/cdrom</filename>
- oder <filename>/dev/dvd</filename> nicht finden, erstelle einen geeigneten symbolischen Link:
-<screen>ln -s /dev/<replaceable>dein_cdrom_geraet</replaceable> /dev/cdrom</screen>
-</para>
-
-<para>
- Um Win32-DLLs mit <application>MPlayer</application> zu nutzen, musst du
- den Kernel mit &quot;<envar>option USER_LDT</envar>&quot; recompilieren
- (es sei denn du lässt FreeBSD-CURRENT laufen, wobei dies die
- Standard-Einstellung ist).
-</para>
-
-
-<sect2 id="freebsd">
-<title>FreeBSD</title>
-<para>
- Besitzt deine CPU SSE, recompiliere deinen Kernel mit
- &quot;<envar>options CPU_ENABLE_SSE</envar>&quot; (FreeBSD-STABLE oder
- Kernel-Patches erforderlich).
-</para>
-</sect2>
-
-<sect2 id="openbsd">
-<title>OpenBSD</title>
-<para>
- Aufgrund von Einschränkungen in verschiedenen Versionen von GAS (der GNU Assembler,
- Relocation vs MMX), wirst du in zwei Schritten compilieren müssen: Stell als
- erstes sicher, dass der nicht-native zuvor in deinem <envar>$PATH</envar> liegt und
- führe ein <command>gmake -k</command> aus. Sorge dann dafür, dass die native Version
- benutzt wird, und führe <command>gmake</command> aus.
-</para>
-<para>
- Ab OpenBSD 3.4 ist der oben beschriebene Hack nicht länger nötig.
-</para>
-</sect2>
-
-<sect2 id="darwin">
-<title>Darwin</title>
-<para>
- Siehe Abschnitt <link linkend="macos">Mac OS</link>.
-</para>
-</sect2>
-</sect1>
-
-<sect1 id="unix">
-<title>Kommerzielles Unix</title>
-
-<para>
- <application>MPlayer</application> wurde auf einige kommerzielle
- Unix-Varianten portiert. Seit die Entwicklungsumgebungen auf diesen Systemen
- dahin tendieren, verschieden von denen freier Unixes zu sein, musst du möglicherweise
- einige manuelle Anpassungen vornehmen, um das Build lauffähig zu bekommen.
-</para>
-
-<sect2 id="solaris">
-<title>Solaris</title>
-<para>
- <application>MPlayer</application> sollte auf Solaris 2.6 oder neuer funktionieren.
- Verwende den Audio-Treiber von SUN mit der Option <option>-ao sun</option> für
- den Sound.
-</para>
-
-<para>
- Auf <emphasis role="bold">UltraSPARCs</emphasis>, profitiert
- <application>MPlayer</application> von deren
- <emphasis role="bold">VIS</emphasis>-Erweiterungen (äquivalent zu MMX), zur Zeit
- nur in
- <systemitem class="library">libmpeg2</systemitem>,
- <systemitem class="library">libvo</systemitem>
- und <systemitem class="library">libavcodec</systemitem>, jedoch nicht in
- <systemitem class="library">mp3lib</systemitem>. Du kannst dir eine VOB-Datei
- auf einer 400MHz CPU ansehen. Dazu muss
- <ulink url="http://www.sun.com/sparc/vis/mediaLib.html"><systemitem class="library">mLib</systemitem></ulink>
- installiert sein.
-</para>
-
-<para><emphasis role="bold">Vorbehalt:</emphasis></para>
-<itemizedlist>
- <listitem><para><emphasis role="bold">mediaLib</emphasis> wird in
- <application>MPlayer</application> momentan aufgrund Fehlerhaftigkeit
- per Voreinstellung <emphasis role="bold">deaktiviert</emphasis>. SPARC-Benutzer,
- die MPlayer mit mediaLib-Unterstützung bauen, haben große grüne Farbstiche
- gemeldet bei Video, das mit libavcodec en- und decodiert wurde.
- Du kannst es, wenn du möchtest, aktivieren mit:
-<screen>
- $ ./configure --enable-mlib
-</screen>
- Du tust dies auf eigenes Risiko. x86-Benutzer sollten mediaLib
- <emphasis role="bold">niemals</emphasis> benutzen, da dies zu sehr schlechter
- Performance von MPlayer führt.
- </para></listitem>
-</itemizedlist>
-
-<para>
- Um das Package zu erstellen, brauchst du GNU <application>make</application>
- (<filename>gmake</filename>, <filename>/opt/sfw/gmake</filename>), das native
- Solaris make wird nicht funktionieren. Ein typischer Fehler, den du bekommst, wenn
- du mit einem make von Solaris arbeitest statt mit einem GNU make:
-<screen>
- % /usr/ccs/bin/make
- make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
-</screen>
-</para>
-
-<para>
- Auf Solaris SPARC, brauchst du den GNU C/C++ Compiler; es spielt keine Rolle, ob
- der GNU C/C++ Compiler mit oder ohne dem GNU Assembler compiliert ist.
-</para>
-
-<para>
- Auf Solaris x86 brauchst du den GNU Assembler und den GNU C/C++ Compiler
- so konfiguriert, dass er den GNU Assembler verwendet! Der
- <application>MPlayer</application>-Code auf der x86-Plattform macht starken
- Gebrauch von MMX-, SSE- und 3DNOW!-Instruktionen, die nicht compiliert werden
- können, wenn man den Assembler von Sun <filename>/usr/ccs/bin/as</filename>
- verwendet.
-</para>
-
-<para>
- Das <filename>configure</filename>-Script versucht herauszufinden, welches
- Assembler-Programm von deinem &quot;gcc&quot;-Befehl genutzt wird (falls die
- automatische Erkennung fehlschlägt, nimm die Option
- <option>--as=<replaceable>/pfad/zum/installierten/gnu-as</replaceable></option>,
- um dem <filename>configure</filename>-Script zu zeigen, wo es GNU &quot;as&quot; auf
- deinem System finden kann).
-</para>
-
-<para>Lösung für gebräuchliche Probleme:</para>
-<itemizedlist>
-<listitem><para>
- Fehlermeldung von <filename>configure</filename> auf einem Solaris x86 System,
- wenn man GCC ohne GNU Assembler anwendet:
-<screen>
- % configure
- ...
- Checking assembler (/usr/ccs/bin/as) ... , failed
- Please upgrade(downgrade) binutils to 2.10.1...
-</screen>
- (Lösung: Installiere und verwende einen gcc, konfiguriert mit
- <option>--with-as=gas</option>)
-</para>
-
-<para>
- Ein typischer Fehler, den du bekommst, wenn du mit einem GNU C Compiler arbeitest, der
- GNU &quot;as&quot; nicht verwendet:
-<screen>
- % gmake
- ...
- gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
- -fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
- Assembler: mplayer.c
- "(stdin)", line 3567 : Illegal mnemonic
- "(stdin)", line 3567 : Syntax error
- ... more "Illegal mnemonic" and "Syntax error" errors ...
-</screen>
-</para>
-</listitem>
-<listitem>
- <para><application>MPlayer</application> kann eine Schutzverletzung auslösen, wenn
- mit win32codecs decodiert und encodiert wird:
-<screen>
+<chapter id="ports" xreflabel="Ports">
+ <title>Portierungen</title>
+
+ <sect1 id="linux">
+ <title>Linux</title>
+ <para>
+ Die Hauptentwicklungsplattform ist Linux auf x86, obwohl
+ <application>MPlayer</application> auf vielen anderen Linux-Portierungen
+ funktioniert.
+ Binary Packages von <application>MPlayer</application> stehen auf mehreren Quellen
+ zur Verfügung. Jedoch wird <emphasis role="bold">keines dieser Packages unterstützt</emphasis>.
+ Melde den Autoren die Probleme, nicht uns.
+ </para>
+
+ <sect2 id="debian">
+ <title>Debian-Packaging</title>
+ <para>
+ Um ein Debian-Package zu bauen, führe folgenden Befehl im Source-Verzeichnis von
+ <application>MPlayer</application> aus:
+
+ <screen>fakeroot debian/rules binary</screen>
+
+ Wenn du eigene Optionen an configure übergeben willst, kannst du die Umgebungsvariable
+ <envar>DEB_BUILD_OPTIONS</envar> einrichten. Zum Beispiel, wenn du die
+ GUI- und OSD-Menü-Unterstützung willst, die du gerne nutzen würdest:
+
+ <screen>DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary</screen>
+
+ Du kannst auch einige Variablen an Makefile übergeben. Zum Beispiel, wenn du
+ mit gcc 3.4 compilieren willst, auch wenn er nicht der Standard-Compiler ist:
+
+ <screen>CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary</screen>
+
+ Um den Sourcetree aufzuräumen, führe folgenden Befehl aus:
+
+ <screen>fakeroot debian/rules clean</screen>
+
+ Als root kannst du dann das <filename>.deb</filename>-Package wie immer installieren:
+
+ <screen>dpkg -i ../mplayer_<replaceable>version</replaceable>.deb</screen>
+ </para>
+
+ <para>
+ Christian Marillat hatte eine Weile lang inoffizielle Debian-Packages von
+ <application>MPlayer</application>, <application>MEncoder</application> und
+ unseren Binärcodecpaketen erstellt, du kannst sie von
+ <ulink url="http://www.debian-multimedia.org/">seiner Homepage</ulink>
+ mit apt-get herunterladen.
+ </para>
+ </sect2>
+
+ <sect2 id="rpm">
+ <title>RPM-Packaging</title>
+ <para>
+ Dominik Mierzejewski entwarf und wartet die inoffiziellen RPM-Packages von
+ <application>MPlayer</application> für Red Hat und Fedora Core. Sie sind von
+ seinem <ulink url="http://rpm.greysector.net/mplayer/">Repository</ulink>
+ verfügbar.
+ </para>
+
+ <para>
+ Mandrake/Mandriva RPM-Packages stehen auf <ulink url="http://plf.zarb.org/">P.L.F.</ulink>
+ zur Verfügung.
+ SuSE verwendet eine verkrüppelte Version von <application>MPlayer</application>
+ in seiner Distribution. Diese haben sie aus ihren neuesten Releases entfernt. Du
+ bekommst funktionierende RPMs auf
+ <ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>.
+ </para>
+ </sect2>
+
+ <sect2 id="arm">
+ <title>ARM</title>
+ <para>
+ <application>MPlayer</application> läuft auf Linux PDAs mit ARM CPU, z.B. Sharp Zaurus,
+ Compaq Ipaq. Der einfachste Weg, sich <application>MPlayer</application> zu besorgen ist,
+ sich ihn von einer der
+ <ulink url="http://www.openzaurus.org">OpenZaurus</ulink> Package Feeds zu holen. Falls
+ du ihn dir selbst compilieren willst, solltest du im
+ <ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">mplayer</ulink>-
+ und im
+ <ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink>-Verzeichnis
+ der OpenZaurus Distribution Buildroot nachsehen. Diese haben stets die neueste
+ Makefile und Patches, die zum Erstellen eines CVS-<application>MPlayer</application> mit
+ <systemitem class="library">libavcodec</systemitem> verwendet werden.
+ Brauchst du ein GUI-Frontend, kannst du xmms-embedded nutzen.
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="bsd">
+ <title>*BSD</title>
+ <para>
+ <application>MPlayer</application> läuft auf allen bekannten BSD-Derivaten.
+ Es stehen ports/pkgsrc/fink/etc-Versionen des <application>MPlayer</application>
+ bereit, die möglicherweise leichter anzuwenden sind als unsere Originalquellen.
+ </para>
+
+ <para>
+ Um <application>MPlayer</application> zu erstellen, brauchst du GNU make
+ (gmake - natives BSD make wird nicht funktionieren) und eine aktuelle Version
+ der binutils.
+ </para>
+
+ <para>
+ Beschwert sich <application>MPlayer</application>, er könne <filename>/dev/cdrom</filename>
+ oder <filename>/dev/dvd</filename> nicht finden, erstelle einen geeigneten symbolischen Link:
+ <screen>ln -s /dev/<replaceable>dein_cdrom_geraet</replaceable> /dev/cdrom</screen>
+ </para>
+
+ <para>
+ Um Win32-DLLs mit <application>MPlayer</application> zu nutzen, musst du
+ den Kernel mit &quot;<envar>option USER_LDT</envar>&quot; recompilieren
+ (es sei denn du lässt FreeBSD-CURRENT laufen, wobei dies die
+ Standard-Einstellung ist).
+ </para>
+
+
+ <sect2 id="freebsd">
+ <title>FreeBSD</title>
+ <para>
+ Besitzt deine CPU SSE, recompiliere deinen Kernel mit
+ &quot;<envar>options CPU_ENABLE_SSE</envar>&quot; (FreeBSD-STABLE oder
+ Kernel-Patches erforderlich).
+ </para>
+ </sect2>
+
+ <sect2 id="openbsd">
+ <title>OpenBSD</title>
+ <para>
+ Aufgrund von Einschränkungen in verschiedenen Versionen von GAS (der GNU Assembler,
+ Relocation vs MMX), wirst du in zwei Schritten compilieren müssen: Stell als
+ erstes sicher, dass der nicht-native zuvor in deinem <envar>$PATH</envar> liegt und
+ führe ein <command>gmake -k</command> aus. Sorge dann dafür, dass die native Version
+ benutzt wird, und führe <command>gmake</command> aus.
+ </para>
+ <para>
+ Ab OpenBSD 3.4 ist der oben beschriebene Hack nicht länger nötig.
+ </para>
+ </sect2>
+
+ <sect2 id="darwin">
+ <title>Darwin</title>
+ <para>
+ Siehe Abschnitt <link linkend="macos">Mac OS</link>.
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="unix">
+ <title>Kommerzielles Unix</title>
+
+ <para>
+ <application>MPlayer</application> wurde auf einige kommerzielle
+ Unix-Varianten portiert. Seit die Entwicklungsumgebungen auf diesen Systemen
+ dahin tendieren, verschieden von denen freier Unixes zu sein, musst du möglicherweise
+ einige manuelle Anpassungen vornehmen, um das Build lauffähig zu bekommen.
+ </para>
+
+ <sect2 id="solaris">
+ <title>Solaris</title>
+ <para>
+ <application>MPlayer</application> sollte auf Solaris 2.6 oder neuer funktionieren.
+ Verwende den Audio-Treiber von SUN mit der Option <option>-ao sun</option> für
+ den Sound.
+ </para>
+
+ <para>
+ Auf <emphasis role="bold">UltraSPARCs</emphasis>, profitiert
+ <application>MPlayer</application> von deren
+ <emphasis role="bold">VIS</emphasis>-Erweiterungen (äquivalent zu MMX), zur Zeit
+ nur in
+ <systemitem class="library">libmpeg2</systemitem>,
+ <systemitem class="library">libvo</systemitem>
+ und <systemitem class="library">libavcodec</systemitem>, jedoch nicht in
+ <systemitem class="library">mp3lib</systemitem>. Du kannst dir eine VOB-Datei
+ auf einer 400MHz CPU ansehen. Dazu muss
+ <ulink url="http://www.sun.com/sparc/vis/mediaLib.html"><systemitem class="library">mLib</systemitem></ulink>
+ installiert sein.
+ </para>
+
+ <para><emphasis role="bold">Vorbehalt:</emphasis></para>
+ <itemizedlist>
+ <listitem><para><emphasis role="bold">mediaLib</emphasis> wird in
+ <application>MPlayer</application> momentan aufgrund Fehlerhaftigkeit
+ per Voreinstellung <emphasis role="bold">deaktiviert</emphasis>. SPARC-Benutzer,
+ die MPlayer mit mediaLib-Unterstützung bauen, haben große grüne Farbstiche
+ gemeldet bei Video, das mit libavcodec en- und decodiert wurde.
+ Du kannst es, wenn du möchtest, aktivieren mit:
+ <screen> $ ./configure --enable-mlib </screen>
+ Du tust dies auf eigenes Risiko. x86-Benutzer sollten mediaLib
+ <emphasis role="bold">niemals</emphasis> benutzen, da dies zu sehr schlechter
+ Performance von MPlayer führt.
+ </para></listitem>
+ </itemizedlist>
+
+ <para>
+ Um das Package zu erstellen, brauchst du GNU <application>make</application>
+ (<filename>gmake</filename>, <filename>/opt/sfw/gmake</filename>), das native
+ Solaris make wird nicht funktionieren. Ein typischer Fehler, den du bekommst, wenn
+ du mit einem make von Solaris arbeitest statt mit einem GNU make:
+<screen>% /usr/ccs/bin/make
+make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen</screen>
+ </para>
+
+ <para>
+ Auf Solaris SPARC, brauchst du den GNU C/C++ Compiler; es spielt keine Rolle, ob
+ der GNU C/C++ Compiler mit oder ohne dem GNU Assembler compiliert ist.
+ </para>
+
+ <para>
+ Auf Solaris x86 brauchst du den GNU Assembler und den GNU C/C++ Compiler
+ so konfiguriert, dass er den GNU Assembler verwendet! Der
+ <application>MPlayer</application>-Code auf der x86-Plattform macht starken
+ Gebrauch von MMX-, SSE- und 3DNOW!-Instruktionen, die nicht compiliert werden
+ können, wenn man den Assembler von Sun <filename>/usr/ccs/bin/as</filename>
+ verwendet.
+ </para>
+
+ <para>
+ Das <filename>configure</filename>-Script versucht herauszufinden, welches
+ Assembler-Programm von deinem &quot;gcc&quot;-Befehl genutzt wird (falls die
+ automatische Erkennung fehlschlägt, nimm die Option
+ <option>--as=<replaceable>/pfad/zum/installierten/gnu-as</replaceable></option>,
+ um dem <filename>configure</filename>-Script zu zeigen, wo es GNU &quot;as&quot; auf
+ deinem System finden kann).
+ </para>
+
+ <para>Lösung für gebräuchliche Probleme:</para>
+ <itemizedlist>
+ <listitem><para>
+ Fehlermeldung von <filename>configure</filename> auf einem Solaris x86 System,
+ wenn man GCC ohne GNU Assembler anwendet:
+<screen>% configure
+...
+Checking assembler (/usr/ccs/bin/as) ... , failed
+Please upgrade(downgrade) binutils to 2.10.1...</screen>
+ (Lösung: Installiere und verwende einen gcc, konfiguriert mit
+ <option>--with-as=gas</option>)
+ </para>
+
+ <para>
+ Ein typischer Fehler, den du bekommst, wenn du mit einem GNU C Compiler arbeitest, der
+ GNU &quot;as&quot; nicht verwendet:
+<screen>% gmake
...
+gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
+-fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
+Assembler: mplayer.c
+"(stdin)", line 3567 : Illegal mnemonic
+"(stdin)", line 3567 : Syntax error
+... more "Illegal mnemonic" and "Syntax error" errors ...</screen>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <application>MPlayer</application> kann eine Schutzverletzung auslösen, wenn
+ mit win32codecs decodiert und encodiert wird:
+<screen>...
Trying to force audio codec driver family acm...
Opening audio decoder: [acm] Win32/ACM decoders
sysi86(SI86DSCR): Invalid argument
@@ -274,686 +267,668 @@ Couldn't install fs segment, expect segfault
MPlayer interrupted by signal 11 in module: init_audio_codec
-...
-</screen>
-Das liegt an einer Änderung an sysi86() in Solaris 10 und prä-Solaris Nevada b31-Releases.
-Bei Solaris Nevada b32 wurde dieser Fehler behoben; trotzdem, Sun muss diese Lösung noch immer
-nach Solaris 10 rückportieren. Das MPlayer-Projekt hat Sun auf das Problem hingewiesen, und ein Patch
-für Solaris 10 ist gerade in Vorbereitung. Weitere Informationen über diesen Fehler können hier gefunden werden:
- <ulink
- url="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413"/>.
- </para>
-</listitem>
-
-<listitem><para>
- Aufgrund von Bugs in Solaris 8 kann es dazu kommen, dass du keine DVD-Disks
- größer 4 GB abspielen kannst:
-</para>
-
-<itemizedlist>
-<listitem><para>
- Der sd(7D)-Treiber auf Solaris 8 x86 hat einen Bug, wenn er auf einen Diskblock >4GB
- auf einem Gerät zugreift, das eine logische blocksize != DEV_BSIZE verwendet (z.B.
- CD-ROM- und DVD-Medien).
- Wegen eines 32Bit int Overflows wird auf eine Disk-Adresse modulo 4GB zugegriffen
- (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>).
- Dieses Problem existiert nicht in der SPARC-Version von Solaris 8.
-</para></listitem>
-
-<listitem><para>
- Ein ähnlicher Bug is präsent im Dateisystem-Code (AKA ISO9660) von hsfs(7FS),
- hsfs unterstützt keine Partitionen/Disks größer als 4GB, auf alle Daten wird
- modulo 4GB zugegriffen
- (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
- Dieses hsfs-Problem kann durch die Installation von Patch 109764-04 (sparc) / 109765-04 (x86)
- gefixt werden.
-</para></listitem>
-</itemizedlist>
-</listitem>
-</itemizedlist>
-</sect2>
-
-<sect2 id="irix">
-<title>IRIX</title>
-<para>
- Du kannst entweder versuchen, das GNU-Installationsprogramm zu installieren und dann
- (falls du es nicht in deinen globalen Path gelegt hast) auf den Standort zeigen mit:
-<screen>./configure --with-install=<replaceable>/path/and/name/of/install</replaceable></screen>
-</para>
-
-<para>
- Oder du kannst die mit IRIX 6.5 gelieferte Standard-Installation verwenden, falls
- du das <filename>Makefile</filename> ein bisschen von Hand editieren willst.
- Ändere folgende beiden Zeilen von:
-<programlisting>
- $(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
-
- $(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf
-</programlisting>
- nach:
-<programlisting>
- $(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
-
- $(INSTALL) -m 644 codecs.conf $(CONFDIR)/
-</programlisting>
- Mache dann (vom <application>MPlayer</application>-Quellverzeichnis aus)
-<screen>cp DOCS/mplayer.1 . ; cp etc/codecs.conf .</screen>
- und fahre dann fort mit Compilierung und Installation.
-</para>
-</sect2>
-
-
-<sect2 id="hp-ux">
-<title>HP-UX</title>
-<para>
- Joe Page unterhält ein detailliertes HP-UX
- <application>MPlayer</application>-<ulink url="http://users.rcn.com/joepage/mplayer_on_hpux11.htm">HOWTO</ulink>
- von Martin Gansser auf seiner Homepage. Mit diesen Instruktionen sollte das bauen
- hervorragend funktionieren. Die folgende Information wurde aus diesem HOWTO übernommen.
-</para>
-
-<para>
- Du benötigst GCC 3.4.0 oder neuer, GNU make 3.80 oder neuer und SDL 1.2.7 oder neuer.
- HP cc wird kein lauffähiges Programm produzieren, frühere GCC-Versionen sind fehlerhaft.
- Für OpenGL-Funktionalität musst du Mesa installieren, und die gl- und
- gl2-Video-Ausgabetreiber sollten funktionieren, wenngleich die Geschwindigkeit sehr
- mies sein kann, abhängig von der CPU-Geschwindigkeit. Ein guter Ersatz für das eher armselige,
- native HP-UX-Soundsystem ist GNU esound.
-</para>
-
-<para>
- Erzeuge das DVD-Gerät,
- scanne den SCSI-Bus mit:
-</para>
-
-<screen>
-# ioscan -fn
+...</screen>
+ Das liegt an einer Änderung an sysi86() in Solaris 10 und prä-Solaris Nevada b31-Releases.
+ Bei Solaris Nevada b32 wurde dieser Fehler behoben; trotzdem, Sun muss diese Lösung noch immer
+ nach Solaris 10 rückportieren. Das MPlayer-Projekt hat Sun auf das Problem hingewiesen, und ein Patch
+ für Solaris 10 ist gerade in Vorbereitung. Weitere Informationen über diesen Fehler können hier gefunden werden:
+ <ulink
+ url="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413"/>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Aufgrund von Bugs in Solaris 8 kann es dazu kommen, dass du keine DVD-Disks
+ größer 4 GB abspielen kannst:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Der sd(7D)-Treiber auf Solaris 8 x86 hat einen Bug, wenn er auf einen Diskblock >4GB
+ auf einem Gerät zugreift, das eine logische blocksize != DEV_BSIZE verwendet (z.B.
+ CD-ROM- und DVD-Medien).
+ Wegen eines 32Bit int Overflows wird auf eine Disk-Adresse modulo 4GB zugegriffen
+ (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>).
+ Dieses Problem existiert nicht in der SPARC-Version von Solaris 8.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ein ähnlicher Bug is präsent im Dateisystem-Code (AKA ISO9660) von hsfs(7FS),
+ hsfs unterstützt keine Partitionen/Disks größer als 4GB, auf alle Daten wird
+ modulo 4GB zugegriffen
+ (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
+ Dieses hsfs-Problem kann durch die Installation von Patch 109764-04 (sparc) / 109765-04 (x86)
+ gefixt werden.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+
+ <sect2 id="irix">
+ <title>IRIX</title>
+ <para>
+ Du kannst entweder versuchen, das GNU-Installationsprogramm zu installieren und dann
+ (falls du es nicht in deinen globalen Path gelegt hast) auf den Standort zeigen mit:
+ <screen>./configure --with-install=<replaceable>/path/and/name/of/install</replaceable></screen>
+ </para>
+
+ <para>
+ Oder du kannst die mit IRIX 6.5 gelieferte Standard-Installation verwenden, falls
+ du das <filename>Makefile</filename> ein bisschen von Hand editieren willst.
+ Ändere folgende beiden Zeilen von:
+<programlisting>$(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
+$(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf</programlisting>
+ nach:
+<programlisting>$(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
+$(INSTALL) -m 644 codecs.conf $(CONFDIR)/</programlisting>
+ Mache dann (vom <application>MPlayer</application>-Quellverzeichnis aus)
+ <screen>cp DOCS/mplayer.1 . ; cp etc/codecs.conf .</screen>
+ und fahre dann fort mit Compilierung und Installation.
+ </para>
+ </sect2>
+
+
+ <sect2 id="hp-ux">
+ <title>HP-UX</title>
+ <para>
+ Joe Page unterhält ein detailliertes HP-UX
+ <application>MPlayer</application>-<ulink url="http://users.rcn.com/joepage/mplayer_on_hpux11.htm">HOWTO</ulink>
+ von Martin Gansser auf seiner Homepage. Mit diesen Instruktionen sollte das bauen
+ hervorragend funktionieren. Die folgende Information wurde aus diesem HOWTO übernommen.
+ </para>
+
+ <para>
+ Du benötigst GCC 3.4.0 oder neuer, GNU make 3.80 oder neuer und SDL 1.2.7 oder neuer.
+ HP cc wird kein lauffähiges Programm produzieren, frühere GCC-Versionen sind fehlerhaft.
+ Für OpenGL-Funktionalität musst du Mesa installieren, und die gl- und
+ gl2-Video-Ausgabetreiber sollten funktionieren, wenngleich die Geschwindigkeit sehr
+ mies sein kann, abhängig von der CPU-Geschwindigkeit. Ein guter Ersatz für das eher armselige,
+ native HP-UX-Soundsystem ist GNU esound.
+ </para>
+
+ <para>
+ Erzeuge das DVD-Gerät,
+ scanne den SCSI-Bus mit:
+ </para>
+
+<screen># ioscan -fn
Class I H/W Path Driver S/W State H/W Type Description
...
ext_bus 1 8/16/5 c720 CLAIMED INTERFACE Built-in SCSI
target 3 8/16/5.2 tgt CLAIMED DEVICE
disk 4 8/16/5.<emphasis role="bold">2</emphasis>.<emphasis role="bold">0</emphasis> sdisk CLAIMED DEVICE <emphasis role="bold">PIONEER DVD-ROM DVD-305</emphasis>
- /dev/dsk/c1t2d0 <emphasis role="bold">/dev/rdsk/c1t2d0</emphasis>
+/dev/dsk/c1t2d0 <emphasis role="bold">/dev/rdsk/c1t2d0</emphasis>
target 4 8/16/5.7 tgt CLAIMED DEVICE
ctl <emphasis role="bold">1</emphasis> 8/16/5.7.0 sctl CLAIMED DEVICE Initiator
- /dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0
-...
-</screen>
-
-<para>
- Die Bildschirmausgabe zeigt ein Pioneer DVD-ROM an SCSI-Adresse 2.
- Die Karteninstanz für den Hardwarepfad 8/16 ist 1.
-</para>
-
-<para>
- Erstelle einen Link von deinem Originalgerät zum DVD-Gerät.
-</para>
-
-<screen>
-# ln -s /dev/rdsk/c<replaceable>&lt;SCSI-Bus-Instanz&gt;</replaceable>t<replaceable>&lt;SCSI Ziel-ID&gt;</replaceable>d<replaceable>&lt;LUN&gt;</replaceable> /dev/<replaceable>&lt;geraet&gt;</replaceable>
-</screen>
-
-<para>
- Beispiel:
-</para>
-
-<screen>
-# ln -s /dev/rdsk/c1t2d0 /dev/dvd
-</screen>
-
-<para>
- Unten stehen lösungen für einige verbreitete Probleme:
-</para>
-
-<itemizedlist>
-<listitem>
-<para>
- Absturz beim Start mit folgender Fehlermeldung:
-<screen>
-/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl
-</screen>
-</para>
-
-<para>
- Dies bedeutet, dass die Funktion <systemitem>.finite().</systemitem> nicht
- in der Standard-Bibliothek HP-UX math zur Verfügung steht.
- Statt dessen gibt es <systemitem>.isfinite().</systemitem>.
- Lösung: Benutze die neueste Mesa-Depotdatei.
-</para>
-</listitem>
-
-<listitem>
-<para>
- Absturz beim Playback mit folgender Fehlermeldung:
-<screen>
-/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0
-</screen>
-</para>
-
-<para>
- Lösung: Benutze die Option extralibdir von configure
- <option>--with-extralibdir="/usr/lib -lrt"</option>
-</para>
-</listitem>
-
-<listitem>
-<para>
- MPlayer produziert eine Schutzverletzung (segfault) mit einer Meldung wie dieser:
-<screen>
-Pid 10166 received a SIGSEGV for stack growth failure.
+/dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0
+...</screen>
+
+ <para>
+ Die Bildschirmausgabe zeigt ein Pioneer DVD-ROM an SCSI-Adresse 2.
+ Die Karteninstanz für den Hardwarepfad 8/16 ist 1.
+ </para>
+
+ <para>
+ Erstelle einen Link von deinem Originalgerät zum DVD-Gerät.
+ </para>
+
+ <screen># ln -s /dev/rdsk/c<replaceable>&lt;SCSI-Bus-Instanz&gt;</replaceable>t<replaceable>&lt;SCSI Ziel-ID&gt;</replaceable>d<replaceable>&lt;LUN&gt;</replaceable> /dev/<replaceable>&lt;geraet&gt;</replaceable></screen>
+
+ <para>
+ Beispiel:
+ </para>
+
+ <screen># ln -s /dev/rdsk/c1t2d0 /dev/dvd</screen>
+
+ <para>
+ Unten stehen lösungen für einige verbreitete Probleme:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Absturz beim Start mit folgender Fehlermeldung:
+ <screen>/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl</screen>
+ </para>
+
+ <para>
+ Dies bedeutet, dass die Funktion <systemitem>.finite().</systemitem> nicht
+ in der Standard-Bibliothek HP-UX math zur Verfügung steht.
+ Statt dessen gibt es <systemitem>.isfinite().</systemitem>.
+ Lösung: Benutze die neueste Mesa-Depotdatei.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Absturz beim Playback mit folgender Fehlermeldung:
+ <screen>/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0</screen>
+ </para>
+
+ <para>
+ Lösung: Benutze die Option extralibdir von configure
+ <option>--with-extralibdir="/usr/lib -lrt"</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ MPlayer produziert eine Schutzverletzung (segfault) mit einer Meldung wie dieser:
+<screen>Pid 10166 received a SIGSEGV for stack growth failure.
Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz.
-Segmentation fault
-</screen>
-</para>
-
-<para>
- Lösung:
- Der HP-UX-Kernel hat eine Standard-Stackgröße von 8MB(?) pro Prozess. (11.0- und
- neuere 10.20-Patches lassen dich <systemitem>maxssiz</systemitem> bis auf
- 350MB für 32bit-Programme erhöhen). Du musst <systemitem>maxssiz</systemitem>
- erweitern und den Kernel recompilieren (und neu starten). Dazu kannst du SAM
- verwenden. (Überprüfe während des Neustarts den
- <systemitem>maxdsiz</systemitem>-Parameter für die maximale Anzahl Daten,
- die ein Programm nutzen darf. Er hängt von deiner Anwendung ab, ob der
- Standard von 64MB ausreicht oder nicht.)
-</para>
-</listitem>
-</itemizedlist>
-
-</sect2>
-
-<sect2 id="aix">
-<title>AIX</title>
-<para>
- <application>MPlayer</application> wird erfolgreich auf AIX 5.1,
- 5.2 und 5.3 erzeugt, verwendet man GCC 3.3 oder höher. Das Erzeugen von
- <application>MPlayer</application> auf AIX 4.3.3 und darunter wurde nicht
- getestet. Es wird dringend empfohlen, <application>MPlayer</application>
- mit GCC 3.4 oder höher zu erzeugen, oder es wird, falls du auf POWER5
- arbeitest, GCC 4.0 benötigt.
-</para>
-
-<para>
- Stelle sicher, dass du GNU make
- (<filename>/opt/freeware/bin/gmake</filename>) zum bauen von
- <application>MPlayer</application> nutzt, da du auf Probleme stossen wirst,
- wenn du <filename>/usr/ccs/bin/make</filename> anwendest.
-</para>
-
-<para>
- Die CPU-Erkennung ist noch in Arbeit.
- Die folgenden Architekturen wurden getestet:
-</para>
-
-<itemizedlist>
-<listitem><para>604e</para></listitem>
-<listitem><para>POWER3</para></listitem>
-<listitem><para>POWER4</para></listitem>
-</itemizedlist>
-
-<para>
- Folgende Architekturen wurden nicht getestet, sollten jedoch trotzdem funktionieren:
-</para>
-<itemizedlist>
-<listitem><para>POWER</para></listitem>
-<listitem><para>POWER2</para></listitem>
-<listitem><para>POWER5</para></listitem>
-</itemizedlist>
-
-<para>
- Sound über die Ultimedia Services wird nicht unterstützt, da Ultimedia in
- AIX 5.1 weggelassen wurde; deshalb ist die einzige Option, die Treiber des
- AIX Open Sound System (OSS) von 4Front Technologies auf
- <ulink url="http://www.opensound.com/aix.html"/> zu verwenden.
- 4Front Technologies stellt die OSS-Treiber für AIX 5.1 für den nicht-kommerziellen Gebrauch
- frei zur Verfügung; wie auch immer, momentan gibt es keine
- Soundausgabetreiber für AIX 5.2 oder 5.3. Dies bedeutet, dass
- <emphasis role="bold">AIX 5.2 und 5.3 momentan keine MPlayer-Tonausgabe beherrschen.</emphasis>
-</para>
-
-<para>Lösung für gebräuchliche Probleme:</para>
-
-<itemizedlist>
- <listitem>
- <para>
- Wenn du folgende Fehlermeldung von <filename>configure</filename> erhältst:
-<screen>
-$ ./configure
-...
-Checking for iconv program ... no
-No working iconv program found, use
---charset=US-ASCII to continue anyway.
-Messages in the GTK-2 interface will be broken then.
-</screen>
- Das liegt daran, dass AIX Namen für Zeichensätze benutzt, die nicht dem Standard entsprechen;
- daher wird die Konvertierung von MPlayer-Ausgaben zu anderen Zeichensätzen momentan nicht
- unterstützt. Die Lösung besteht darin, folgendes zu tun:
-<screen>
-$ ./configure --charset=noconv
-</screen>
- </para>
- </listitem>
-</itemizedlist>
-
-</sect2>
-</sect1>
-
-<sect1 id="windows">
-<title>Windows</title>
-
-<para>
- Ja, <application>MPlayer</application> läuft auf Windows unter
- <ulink url="http://www.cygwin.com/"><application>Cygwin</application></ulink> und
- <ulink url="http://www.mingw.org/"><application>MinGW</application></ulink>.
- Es besitzt noch kein offizielles GUI, aber die Befehlszeilen-Version
- ist voll funktionstüchtig. Du solltest die
- <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">MPlayer-cygwin</ulink>
- Mailing-Liste für Hilfe und für neueste Informationen hernehmen.
- Offizielle Windows-Binaries können auf der
- <ulink url="http://www.mplayerhq.hu/design7/dload.html">Download-Seite</ulink>
- gefunden werden.
- Installationspakete und einfache GUI-Frontends stehen auf externen Quellen bereit,
- wir haben sie in der Windows-Sektion unserer
- <ulink url="http://www.mplayerhq.hu/design7/projects.html#windows">Projektseite</ulink>
- zusammengestellt.
-</para>
-
-<para>
- Wenn du die Verwendung der Befehlszeile vermeiden willst, hilft der
- simple Trick, eine Verknüpfung auf deinem Desktop zu erstellen, der einen
- ähnlichen Ausführungsabschnitt wie folgenden enthält:
- <screen><replaceable>c:\pfad\zur\</replaceable>mplayer.exe %1</screen>
- Dies lässt <application>MPlayer</application> jeden Film abspielen, der
- über der Verknüpfung fallen gelassen wird.
- Füge <option>-fs</option> für den Vollbildmodus hinzu.
-</para>
-
-<para>
- Die besten Ergebnisse werden mit dem nativen DirectX-Video-Ausgabetreiber
- (<option>-vo directx</option>) erzielt. Alternativen sind OpenGL und SDL, jedoch variiert die
- OpenGL-Performance stark von System zu System, und SDL ist dafür bekannt,
- Videos kaputt zu machen oder auf manchen Systemen abzurauchen. Wird das Bild zerstört,
- versuche, die Hardwarebeschleunigung mit
- <option>-vo directx:noaccel</option> abzuschalten. Lade dir die
- <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/dx7headers.tgz">DirectX7-Headerdateien</ulink>
- herunter, um den DirectX-Video-Ausgabetreiber zu compilieren. Desweiteren musst du
- DirectX 7 oder höher installiert haben, damit der DirectX-Video-Ausgabetreiber
- funktioniert.
-</para>
-
-<para>
- <link linkend="vidix">VIDIX</link> läuft jetzt unter Windows als
- <option>-vo winvidix</option>, obwohl es nach wie vor experimentell ist
- und ein wenig manuelles Setup benötigt. Lade dir die
- <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink> oder
- <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys
- (mit MTRR-Unterstützubg)</ulink> herunter und kopiere sie ins Verzeichnis
- <filename class="directory">libdha/dhahelperwin</filename> deines
- <application>MPlayer</application>-Source-Baums.
- Öffne die Console und wechsle in dieses Verzeichnis. Gib dann
-
- <screen>gcc -o dhasetup.exe dhasetup.c</screen>
-
- ein und führe
-
- <screen>dhasetup.exe install</screen>
-
- als Administrator aus. Danach wirst du neu starten müssen. Bist du damit fertig,
- kopiere die <systemitem class="library">.so</systemitem>-Dateien von
- <filename class="directory">vidix/drivers</filename> ins Verzeichnis
- <filename class="directory">mplayer/vidix</filename>
- relativ zu deiner <filename>mplayer.exe</filename>.
-</para>
-
-<para>
- Für die besten Resultate sollte <application>MPlayer</application> einen
- Farbraum anwenden, den deine Grafikkarte hardwareseitig unterstützt.
- Leider melden viele Windows-Grafikkartetreiber fälschlich einige Farbräume
- als von der Hardware unterstützt. Um herauszufinden welche das sind, versuche
-
- <screen>mplayer -benchmark -nosound -frames 100 -vf format=<replaceable>Farbraum</replaceable> <replaceable>vilm</replaceable></screen>
-
- wobei <replaceable>Farbraum</replaceable> jeder von der Option
- <option>-vf format=fmt=help</option> ausgegebene Farbraum sein kann.
- Findest du den von deiner Karte verarbeiteten Farbraum besonders schlecht,
- wird <option>-vf noformat=<replaceable>farbraum</replaceable></option>
- sie daran hindern, diesen anzuwenden. Füge dies in deine
- config-Datei ein, um die Verwendung permanent zu unterbinden.
-</para>
-
-<para>
- Es stehen spezielle Codec-Packs für Windows auf unserer
- <ulink url="http://www.mplayerhq.hu/design7/dload.html">Codec-Seite</ulink>
- zu Verfügung, die das Abspielen von Formaten zu ermöglichen, für die es noch
- keinen nativen Support gibt.
- Leg die Codecs irgendwo in deinem Pfad ab oder übergib
- <option>--with-codecsdir=<replaceable>c:/pfad/zu/deinen/codecs</replaceable></option>
- (alternativ nur auf <application>Cygwin</application>
- <option>--with-codecsdir=<replaceable>/pfad/zu/deinen/codecs</replaceable></option>)
- an <filename>configure</filename>.
- Wir bekamen einige Berichte, dass Real-DLLs beschreibbar sein müssen, um <application>MPlayer</application>
- starten zu können, aber nur auf manchen Systemen (NT4).
- Versuche, sie beschreibbar zu machen, falls du Probleme hast.
-</para>
-
-<para>
- Du kannst VCDs über die <filename>.DAT</filename>- oder
- <filename>.MPG</filename>-Dateien, die Windows auf VCDs anzeigt, abspielen.
- Das funktioniert wie folgt (an den Laufwerksbuchstaben deines CD-ROMs anpassen:
-</para>
-
-<screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen>
-
-<para>
- DVDs gehen ebenfalls, passe <option>-dvd-device</option> an den
- Laufwerksbuchstaben deines DVD-ROMs an:
-</para>
-
-<screen>mplayer dvd://<replaceable>&lt;Titel&gt;</replaceable> -dvd-device <replaceable>d</replaceable>:</screen>
-
-<para>
- Die <application>Cygwin</application>-/<application>MinGW</application>-Konsole
- ist sehr langsam. Die Umleitung der Ausgabe oder das Anwenden der Option
- <option>-quiet</option> soll laut Berichten die Performance auf einigen Systemen
- verbessern. Direktes Rendern (<option>-dr</option>) kann auch helfen.
- Ist das Playback ruckelig, versuche <option>-autosync 100</option>.
- Helfen dir einige dieser Optionen, kannst du sie ja in deine config-Datei
- eintragen.
-</para>
-
-<note>
-<para>
- Auf Windows deaktiviert die CPU-Erkennung zur Laufzeit den SSE-Support
- wegen periodisch wiederkehrender und schwer zu ortender, SSE-bezogener
- Abstürze. Wünschst du SSE-Support unter Windows, musst du ohne
- CPU-Erkennung zur Laufzeit compilieren.
-</para>
-
-<para>
- Hast du einen Pentium 4 und erlebst einen Absturz bei Verwendung von
- RealPlayer-Codecs, musst du den Support für Hyperthreading deaktivieren.
-</para>
-</note>
-
-
-
-<sect2 id="cygwin">
-<title><application>Cygwin</application></title>
-
-<para>
- Du musst <application>Cygwin</application> 1.5.0 oder später laufen
- lassen, um <application>MPlayer</application> zu compilieren.
-</para>
-
-<para>
- DirectX-Headerdateien werden gewöhnlich nach
- <filename class="directory">/usr/include/</filename> oder
- <filename class="directory">/usr/local/include/</filename>
- extrahiert.
-</para>
-
-<para>
- Instruktionen und Dateien, um SDL unter
- <application>Cygwin</application> laufen zu lassen, können auf der
- <ulink url="http://www.libsdl.org/extras/win32/cygwin/">libsdl-Seite</ulink>
- gefunden werden.
-</para>
-
-</sect2>
-
-
-<sect2 id="mingw">
-<title><application>MinGW</application></title>
-
-<para>
- Das Installieren einer Version von <application>MinGW</application>, das
- <application>MPlayer</application> compilieren könnte zwar für gewöhnlich ziemlich
- trickreich sein, funktioniert jetzt aber hervorragend.
- Installiere einfach <application>MinGW</application> 3.1.0 oder neuer und
- MSYS 1.0.9 oder neuer und erzähle der nachträglichen Installation von MSYS,
- dass <application>MinGW</application> installiert ist.
-</para>
-
-<para>
- Extrahiere die DirectX-Headerdateien nach
- <filename class="directory">/mingw/include/</filename>.
-</para>
-
-<para>
- Die Unterstützung für MOV-komprimierte Header erfordert
- <ulink url="http://www.gzip.org/zlib/">zlib</ulink>, was
- <application>MinGW</application> standardmäßig nicht bereithält.
- Konfiguriere es mit <option>--prefix=/mingw</option> und installiere
- es vor dem Compilieren des <application>MPlayer</application>.
-</para>
-
-<para>
- Komplette Anweisungen zum Erzeugen des <application>MPlayer</application>
- und der notwendigen Bibliotheken findest du in den
- <ulink url="http://mplayerhq.hu/MPlayer/releases/win32/contrib/MPlayer-MinGW-Howto.txt">MPlayer MinGW HOWTO</ulink>s.
-</para>
-
-</sect2>
-</sect1>
-
-
-<sect1 id="macos">
-<title>Mac OS</title>
-
-<para>
- <application>MPlayer</application> läuft nicht auf Mac OS Versionen vor
- 10, sollte jedoch hervorragend auf Mac OS X 10.2 und darüber compilieren.
- Der vorgezogene Compiler ist die Apple-Version von
- GCC 3.x oder höher.
- Du kannst die grundlegende Compilierumgebung schaffen, indem du
- <ulink url="http://developer.apple.com/tools/download/">Xcode</ulink>
- von Apple installierst.
- Besitzt du Mac OS X 10.3.9 oder später und QuickTime 7
- kannst du den Videoausgabetreiber <option>macosx</option> verwenden.
-</para>
-
-<para>
- Leider ermöglicht es dir diese grundlegende Umgebung nicht, von allen netten Features
- von <application>MPlayer</application> Gebrauch zu machen.
- Beispielsweise müssen die Bibliotheken <systemitem class="library">fontconfig</systemitem>
- und <systemitem class="library">freetype</systemitem> auf deinem System installiert sein,
- damit das OSD eincompiliert werden kann.
- Im Gegensatz zu anderen Unices wie den meisten Linux- und BSD-Varianten besitzt
- OS X kein Paketsystem, das im System enthalten ist.
-</para>
-
-<para>
- Es stehen mindestens zwei zur Wahl:
- <ulink url="http://fink.sourceforge.net/">Fink</ulink> und
- <ulink url="http://www.macports.org/">DarwinPorts</ulink>.
- Beide bieten in etwa denselben Funktionsumfang (z.B. eine Menge Pakete, von denen
- gewählt werden kann, Auflösung von Abhängigkeiten, die Möglichkeit, einfach
- Pakete hinzuzufügen/zu aktualisieren/zu entfernen, etc...).
- Fink bietet sowohl vorcompilierte Binärpakete als auch das Erstellen aus den
- Quelldateien, wohingegen DarwinPorts nur das Erstellen aus den Quellen anbietet.
- Der Autor dieser Anleitung hat DarwinPorts gewählt aus dem Grund, dass das
- grundlegende Setup etwas leichtgewichtiger war.
- Folgende Beispiele werden sich auf DarwinPorts beziehen.
-</para>
-
-<para>
- Um zum Beispiel <application>MPlayer</application> mit OSD-Unterstützung zu compilieren:
- <screen>sudo port install pkgconfig</screen>
- Dies wird <application>pkg-config</application> installieren, was ein System für die
- Handhabung von Compiler-/Link-Flags für Bibliotheken ist.
- Das <systemitem>configure</systemitem>-Skript von <application>MPlayer</application>
- benutzt dies, um Bibliotheken angemessen zu erkennen.
- Dann kannst du <application>fontconfig</application> auf ähnliche Weise installieren:
- <screen>sudo port install fontconfig</screen>
- Dann kannst du fortfahren mit der Ausführung von <application>MPlayer</application>s
- <systemitem>configure</systemitem>-Skript (beachte die Umgebungsvariablen
- <systemitem>PKG_CONFIG_PATH</systemitem> und <systemitem>PATH</systemitem>,
- so dass <systemitem>configure</systemitem> die mit DarwinPorts installierten
- Bibliotheken findet):
- <screen>PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure</screen>
-</para>
-
-<sect2 id="osx_gui">
-<title>MPlayer OS X GUI</title>
-<para>
- Du bekommst ein natives GUI für <application>MPlayer</application> zusammen
- mit für Mac OS X vorcompilierten <application>MPlayer</application>-Binaries
- vom <ulink url="http://mplayerosx.sf.net/">MPlayerOSX</ulink>-Projekt, sei aber
- gewarnt: Dieses Projekt ist nicht mehr aktiv.
-</para>
-
-<para>
- Zum Glück wurde <application>MPlayerOSX</application> von einem Mitglied des
- <application>MPlayer</application>-Teams übernommen.
- Preview-Releases findet man auf unserer
- <ulink url="http://mplayerhq.hu/dload.html">Download-Seite</ulink>,
- und ein offizielles Release sollte bald herauskommen.
-</para>
-
-<para>
- Um <application>MPlayerOSX</application> selbst von den Quellen
- zu bauen, brauchst du <systemitem>mplayerosx</systemitem>, das
- <systemitem>main</systemitem> und eine Kopie des
- <systemitem>main</systemitem> CVS-Moduls genannt
- <systemitem>main_noaltivec</systemitem>.
- <systemitem>mplayerosx</systemitem> ist das GUI-Frontend,
- <systemitem>main</systemitem> ist MPlayer und
- <systemitem>main_noaltivec</systemitem> ist MPlayer ohne AltiVec-Unterstützung.
-</para>
-
-<para>
- Um ein Checkout der SVN-Module durchzuführen, benutze:
-
-<screen>
-svn checkout svn://svn.mplayerhq.hu/mplayerosx/trunk/ mplayerosx
-svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ main
-</screen>
-</para>
-
-<para>
- Um <application>MPlayerOSX</application> zu bilden, musst du
- so etwas ähnliches einrichten:
-
-<screen>
-MPlayer_source_verzeichnis
- |
- |--->main (MPlayer SVN-Quelldateien)
- |
- |--->main_noaltivec (MPlayer SVN-Quelldateien konfiguriert mit --disable-altivec)
- |
- |--->mplayerosx (MPlayer OS X SVN-Quelldateien)
-</screen>
-
- Du musst zuerst main und main_noaltivec erzeugen.
-</para>
-
-<para>
- Setze als nächstes eine globale Variable:
-
-<screen>export MACOSX_DEPLOYMENT_TARGET=10.3</screen>
-</para>
-
-<para>
- Dann konfiguriere:
-</para>
-
-<para>
- Wenn du für eine G4 oder eine neuere CPU mit AltiVec-Support konfigurierst,
- mache folgendes:
-<screen>
-./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11
-</screen>
- Wenn du für einen G3-getriebenen Rechner mit AltiVec konfigurierst,
- mache dies:
-<screen>
-./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11
---disable-altivec
-</screen>
- Du musst <filename>config.mak</filename> editieren und
- <systemitem>-mcpu</systemitem> und <systemitem>-mtune</systemitem>
- von <systemitem>74XX</systemitem> auf <systemitem>G3</systemitem> ändern.
-</para>
-
-<para>
- Fahre fort mit
-<screen>
-make
-</screen>
- und gehe dann ins Verzeichnis mplayerosx, gib dort folgendes ein:
-
-<screen>
-make dist
-</screen>
- Dies wird ein komprimiertes <systemitem>.dmg</systemitem>-Archiv
- mit der gebrauchsfertigen Binary erzeugen.
-</para>
-
-<para>
- Du kannst auch das <application>Xcode</application> 2.1 Projekt verwenden;
- das alte Projekt für <application>Xcode</application> 1.x läuft
- nicht mehr.
-</para>
-</sect2>
-</sect1>
-
-<sect1 id="exotic_platforms">
-<title>Exotische Plattformen</title>
-
-<para>
- <application>MPlayer</application> läuft auf einer Reihe exotischer Plattformen,
- aber die meisten der plattformspezifischen Änderungen dieser Systeme wurden nicht
- in den Hauptquellbaum zurückgemergt.
- Build-Instruktionen findest du in der System-spezifischen Dokumentation.
-</para>
-
-<sect2 id="qnx">
-<title>QNX</title>
-<para>
- Du musst SDL für QNX herunterladen und installieren. Dann starte
- <application>MPlayer</application> mit den Optionen
- <option>-vo sdl:driver=photon</option> und <option>-ao sdl:nto</option>,
- es sollte schnell laufen.
-</para>
-
-<para>
- Der Output mit <option>-vo x11</option> wird etwas langsamer sein als unter Linux,
- da QNX nur X-<emphasis>Emulation</emphasis> besitzt, was sehr langsam ist.
-</para>
-</sect2>
-
-<sect2 id="amiga">
-<title>Amiga/MorphOS (GeekGadgets)</title>
-<para>
- Die Leute drüben auf <ulink url="http://www.amigasoft.net"/>
- machen aktuelle <application>MPlayer</application>- und
- <application>MEncoder</application>-Packages.
-</para>
-
-<para>
- Nicholas Det bei Genesi hat eine große und starke Portierung des
- <application>MPlayer</application> für MorphOS gemacht. Traurig,
- dass sie auf der 0.90-Serie basiert.
-</para>
-
-<para>
- Hol sie dir von <ulink url="http://www.morphzone.org/">MorphZone</ulink>:
-<itemizedlist>
-<listitem><para>
- <ulink url="http://www.morphzone.org/modules/mydownloads/singlefile.php?lid=90">
-<application>MPlayer</application> 0.91 Binary</ulink>
-</para></listitem>
-<listitem><para>
- <ulink url="http://www.morphzone.org/modules/mydownloads/singlefile.php?lid=91">
-<application>MPlayer</application> 0.91 Source</ulink>
-</para></listitem>
-<listitem><para>
- <ulink url="http://www.morphzone.org/modules/mydownloads/singlefile.php?lid=92">
-<application>MEncoder</application> 1.0pre3 Binary</ulink>
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-</sect1>
-
+Segmentation fault</screen>
+ </para>
+
+ <para>
+ Lösung:
+ Der HP-UX-Kernel hat eine Standard-Stackgröße von 8MB(?) pro Prozess. (11.0- und
+ neuere 10.20-Patches lassen dich <systemitem>maxssiz</systemitem> bis auf
+ 350MB für 32bit-Programme erhöhen). Du musst <systemitem>maxssiz</systemitem>
+ erweitern und den Kernel recompilieren (und neu starten). Dazu kannst du SAM
+ verwenden. (Überprüfe während des Neustarts den
+ <systemitem>maxdsiz</systemitem>-Parameter für die maximale Anzahl Daten,
+ die ein Programm nutzen darf. Er hängt von deiner Anwendung ab, ob der
+ Standard von 64MB ausreicht oder nicht.)
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ </sect2>
+
+ <sect2 id="aix">
+ <title>AIX</title>
+ <para>
+ <application>MPlayer</application> wird erfolgreich auf AIX 5.1,
+ 5.2 und 5.3 erzeugt, verwendet man GCC 3.3 oder höher. Das Erzeugen von
+ <application>MPlayer</application> auf AIX 4.3.3 und darunter wurde nicht
+ getestet. Es wird dringend empfohlen, <application>MPlayer</application>
+ mit GCC 3.4 oder höher zu erzeugen, oder es wird, falls du auf POWER5
+ arbeitest, GCC 4.0 benötigt.
+ </para>
+
+ <para>
+ Stelle sicher, dass du GNU make
+ (<filename>/opt/freeware/bin/gmake</filename>) zum bauen von
+ <application>MPlayer</application> nutzt, da du auf Probleme stossen wirst,
+ wenn du <filename>/usr/ccs/bin/make</filename> anwendest.
+ </para>
+
+ <para>
+ Die CPU-Erkennung ist noch in Arbeit.
+ Die folgenden Architekturen wurden getestet:
+ </para>
+
+ <itemizedlist>
+ <listitem><para>604e</para></listitem>
+ <listitem><para>POWER3</para></listitem>
+ <listitem><para>POWER4</para></listitem>
+ </itemizedlist>
+
+ <para>
+ Folgende Architekturen wurden nicht getestet, sollten jedoch trotzdem funktionieren:
+ </para>
+ <itemizedlist>
+ <listitem><para>POWER</para></listitem>
+ <listitem><para>POWER2</para></listitem>
+ <listitem><para>POWER5</para></listitem>
+ </itemizedlist>
+
+ <para>
+ Sound über die Ultimedia Services wird nicht unterstützt, da Ultimedia in
+ AIX 5.1 weggelassen wurde; deshalb ist die einzige Option, die Treiber des
+ AIX Open Sound System (OSS) von 4Front Technologies auf
+ <ulink url="http://www.opensound.com/aix.html"/> zu verwenden.
+ 4Front Technologies stellt die OSS-Treiber für AIX 5.1 für den nicht-kommerziellen Gebrauch
+ frei zur Verfügung; wie auch immer, momentan gibt es keine
+ Soundausgabetreiber für AIX 5.2 oder 5.3. Dies bedeutet, dass
+ <emphasis role="bold">AIX 5.2 und 5.3 momentan keine MPlayer-Tonausgabe beherrschen.</emphasis>
+ </para>
+
+ <para>Lösung für gebräuchliche Probleme:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Wenn du folgende Fehlermeldung von <filename>configure</filename> erhältst:
+<screen>$ ./configure
+ ...
+ Checking for iconv program ... no
+ No working iconv program found, use
+ --charset=US-ASCII to continue anyway.
+ Messages in the GTK-2 interface will be broken then.</screen>
+
+ Das liegt daran, dass AIX Namen für Zeichensätze benutzt, die nicht dem Standard entsprechen;
+ daher wird die Konvertierung von MPlayer-Ausgaben zu anderen Zeichensätzen momentan nicht
+ unterstützt. Die Lösung besteht darin, folgendes zu tun:
+ <screen>$ ./configure --charset=noconv</screen>
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
+
+ <sect1 id="windows">
+ <title>Windows</title>
+
+ <para>
+ Ja, <application>MPlayer</application> läuft auf Windows unter
+ <ulink url="http://www.cygwin.com/"><application>Cygwin</application></ulink> und
+ <ulink url="http://www.mingw.org/"><application>MinGW</application></ulink>.
+ Es besitzt noch kein offizielles GUI, aber die Befehlszeilen-Version
+ ist voll funktionstüchtig. Du solltest die
+ <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">MPlayer-cygwin</ulink>
+ Mailing-Liste für Hilfe und für neueste Informationen hernehmen.
+ Offizielle Windows-Binaries können auf der
+ <ulink url="http://www.mplayerhq.hu/design7/dload.html">Download-Seite</ulink>
+ gefunden werden.
+ Installationspakete und einfache GUI-Frontends stehen auf externen Quellen bereit,
+ wir haben sie in der Windows-Sektion unserer
+ <ulink url="http://www.mplayerhq.hu/design7/projects.html#windows">Projektseite</ulink>
+ zusammengestellt.
+ </para>
+
+ <para>
+ Wenn du die Verwendung der Befehlszeile vermeiden willst, hilft der
+ simple Trick, eine Verknüpfung auf deinem Desktop zu erstellen, der einen
+ ähnlichen Ausführungsabschnitt wie folgenden enthält:
+ <screen><replaceable>c:\pfad\zur\</replaceable>mplayer.exe %1</screen>
+ Dies lässt <application>MPlayer</application> jeden Film abspielen, der
+ über der Verknüpfung fallen gelassen wird.
+ Füge <option>-fs</option> für den Vollbildmodus hinzu.
+ </para>
+
+ <para>
+ Die besten Ergebnisse werden mit dem nativen DirectX-Video-Ausgabetreiber
+ (<option>-vo directx</option>) erzielt. Alternativen sind OpenGL und SDL, jedoch variiert die
+ OpenGL-Performance stark von System zu System, und SDL ist dafür bekannt,
+ Videos kaputt zu machen oder auf manchen Systemen abzurauchen. Wird das Bild zerstört,
+ versuche, die Hardwarebeschleunigung mit
+ <option>-vo directx:noaccel</option> abzuschalten. Lade dir die
+ <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/dx7headers.tgz">DirectX7-Headerdateien</ulink>
+ herunter, um den DirectX-Video-Ausgabetreiber zu compilieren. Desweiteren musst du
+ DirectX 7 oder höher installiert haben, damit der DirectX-Video-Ausgabetreiber
+ funktioniert.
+ </para>
+
+ <para>
+ <link linkend="vidix">VIDIX</link> läuft jetzt unter Windows als
+ <option>-vo winvidix</option>, obwohl es nach wie vor experimentell ist
+ und ein wenig manuelles Setup benötigt. Lade dir die
+ <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink> oder
+ <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (mit MTRR-Unterstützung)</ulink>
+ herunter und kopiere sie ins Verzeichnis
+ <filename class="directory">libdha/dhahelperwin</filename> deines
+ <application>MPlayer</application>-Source-Baums.
+ Öffne die Console und wechsle in dieses Verzeichnis. Gib dann
+
+ <screen>gcc -o dhasetup.exe dhasetup.c</screen>
+
+ ein und führe
+ <screen>dhasetup.exe install</screen>
+
+ als Administrator aus. Danach wirst du neu starten müssen. Bist du damit fertig,
+ kopiere die <systemitem class="library">.so</systemitem>-Dateien von
+ <filename class="directory">vidix/drivers</filename> ins Verzeichnis
+ <filename class="directory">mplayer/vidix</filename>
+ relativ zu deiner <filename>mplayer.exe</filename>.
+ </para>
+
+ <para>
+ Für die besten Resultate sollte <application>MPlayer</application> einen
+ Farbraum anwenden, den deine Grafikkarte hardwareseitig unterstützt.
+ Leider melden viele Windows-Grafikkartetreiber fälschlich einige Farbräume
+ als von der Hardware unterstützt. Um herauszufinden welche das sind, versuche
+
+ <screen>mplayer -benchmark -nosound -frames 100 -vf format=<replaceable>Farbraum</replaceable> <replaceable>vilm</replaceable></screen>
+
+ wobei <replaceable>Farbraum</replaceable> jeder von der Option
+ <option>-vf format=fmt=help</option> ausgegebene Farbraum sein kann.
+ Findest du den von deiner Karte verarbeiteten Farbraum besonders schlecht,
+ wird <option>-vf noformat=<replaceable>farbraum</replaceable></option>
+ sie daran hindern, diesen anzuwenden. Füge dies in deine
+ config-Datei ein, um die Verwendung permanent zu unterbinden.
+ </para>
+
+ <para>
+ Es stehen spezielle Codec-Packs für Windows auf unserer
+ <ulink url="http://www.mplayerhq.hu/design7/dload.html">Codec-Seite</ulink>
+ zu Verfügung, die das Abspielen von Formaten zu ermöglichen, für die es noch
+ keinen nativen Support gibt.
+ Leg die Codecs irgendwo in deinem Pfad ab oder übergib
+ <option>--with-codecsdir=<replaceable>c:/pfad/zu/deinen/codecs</replaceable></option>
+ (alternativ nur auf <application>Cygwin</application>
+ <option>--with-codecsdir=<replaceable>/pfad/zu/deinen/codecs</replaceable></option>)
+ an <filename>configure</filename>.
+ Wir bekamen einige Berichte, dass Real-DLLs beschreibbar sein müssen, um <application>MPlayer</application>
+ starten zu können, aber nur auf manchen Systemen (NT4).
+ Versuche, sie beschreibbar zu machen, falls du Probleme hast.
+ </para>
+
+ <para>
+ Du kannst VCDs über die <filename>.DAT</filename>- oder
+ <filename>.MPG</filename>-Dateien, die Windows auf VCDs anzeigt, abspielen.
+ Das funktioniert wie folgt (an den Laufwerksbuchstaben deines CD-ROMs anpassen:
+ </para>
+
+ <screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen>
+
+ <para>
+ DVDs gehen ebenfalls, passe <option>-dvd-device</option> an den
+ Laufwerksbuchstaben deines DVD-ROMs an:
+ </para>
+
+ <screen>mplayer dvd://<replaceable>&lt;Titel&gt;</replaceable> -dvd-device <replaceable>d</replaceable>:</screen>
+
+ <para>
+ Die <application>Cygwin</application>-/<application>MinGW</application>-Konsole
+ ist sehr langsam. Die Umleitung der Ausgabe oder das Anwenden der Option
+ <option>-quiet</option> soll laut Berichten die Performance auf einigen Systemen
+ verbessern. Direktes Rendern (<option>-dr</option>) kann auch helfen.
+ Ist das Playback ruckelig, versuche <option>-autosync 100</option>.
+ Helfen dir einige dieser Optionen, kannst du sie ja in deine config-Datei
+ eintragen.
+ </para>
+
+ <note>
+ <para>
+ Auf Windows deaktiviert die CPU-Erkennung zur Laufzeit den SSE-Support
+ wegen periodisch wiederkehrender und schwer zu ortender, SSE-bezogener
+ Abstürze. Wünschst du SSE-Support unter Windows, musst du ohne
+ CPU-Erkennung zur Laufzeit compilieren.
+ </para>
+
+ <para>
+ Hast du einen Pentium 4 und erlebst einen Absturz bei Verwendung von
+ RealPlayer-Codecs, musst du den Support für Hyperthreading deaktivieren.
+ </para>
+ </note>
+
+
+
+ <sect2 id="cygwin">
+ <title><application>Cygwin</application></title>
+
+ <para>
+ Du musst <application>Cygwin</application> 1.5.0 oder später laufen
+ lassen, um <application>MPlayer</application> zu compilieren.
+ </para>
+
+ <para>
+ DirectX-Headerdateien werden gewöhnlich nach
+ <filename class="directory">/usr/include/</filename> oder
+ <filename class="directory">/usr/local/include/</filename>
+ extrahiert.
+ </para>
+
+ <para>
+ Instruktionen und Dateien, um SDL unter
+ <application>Cygwin</application> laufen zu lassen, können auf der
+ <ulink url="http://www.libsdl.org/extras/win32/cygwin/">libsdl-Seite</ulink>
+ gefunden werden.
+ </para>
+
+ </sect2>
+
+
+ <sect2 id="mingw">
+ <title><application>MinGW</application></title>
+
+ <para>
+ Das Installieren einer Version von <application>MinGW</application>, das
+ <application>MPlayer</application> compilieren könnte zwar für gewöhnlich ziemlich
+ trickreich sein, funktioniert jetzt aber hervorragend.
+ Installiere einfach <application>MinGW</application> 3.1.0 oder neuer und
+ MSYS 1.0.9 oder neuer und erzähle der nachträglichen Installation von MSYS,
+ dass <application>MinGW</application> installiert ist.
+ </para>
+
+ <para>
+ Extrahiere die DirectX-Headerdateien nach
+ <filename class="directory">/mingw/include/</filename>.
+ </para>
+
+ <para>
+ Die Unterstützung für MOV-komprimierte Header erfordert
+ <ulink url="http://www.gzip.org/zlib/">zlib</ulink>, was
+ <application>MinGW</application> standardmäßig nicht bereithält.
+ Konfiguriere es mit <option>--prefix=/mingw</option> und installiere
+ es vor dem Compilieren des <application>MPlayer</application>.
+ </para>
+
+ <para>
+ Komplette Anweisungen zum Erzeugen des <application>MPlayer</application>
+ und der notwendigen Bibliotheken findest du in den
+ <ulink url="http://mplayerhq.hu/MPlayer/releases/win32/contrib/MPlayer-MinGW-Howto.txt">MPlayer MinGW HOWTO</ulink>s.
+ </para>
+
+ </sect2>
+ </sect1>
+
+
+ <sect1 id="macos">
+ <title>Mac OS</title>
+
+ <para>
+ <application>MPlayer</application> läuft nicht auf Mac OS Versionen vor
+ 10, sollte jedoch hervorragend auf Mac OS X 10.2 und darüber compilieren.
+ Der vorgezogene Compiler ist die Apple-Version von
+ GCC 3.x oder höher.
+ Du kannst die grundlegende Compilierumgebung schaffen, indem du
+ <ulink url="http://developer.apple.com/tools/download/">Xcode</ulink>
+ von Apple installierst.
+ Besitzt du Mac OS X 10.3.9 oder später und QuickTime 7
+ kannst du den Videoausgabetreiber <option>macosx</option> verwenden.
+ </para>
+
+ <para>
+ Leider ermöglicht es dir diese grundlegende Umgebung nicht, von allen netten Features
+ von <application>MPlayer</application> Gebrauch zu machen.
+ Beispielsweise müssen die Bibliotheken <systemitem class="library">fontconfig</systemitem>
+ und <systemitem class="library">freetype</systemitem> auf deinem System installiert sein,
+ damit das OSD eincompiliert werden kann.
+ Im Gegensatz zu anderen Unices wie den meisten Linux- und BSD-Varianten besitzt
+ OS X kein Paketsystem, das im System enthalten ist.
+ </para>
+
+ <para>
+ Es stehen mindestens zwei zur Wahl:
+ <ulink url="http://fink.sourceforge.net/">Fink</ulink> und
+ <ulink url="http://www.macports.org/">DarwinPorts</ulink>.
+ Beide bieten in etwa denselben Funktionsumfang (z.B. eine Menge Pakete, von denen
+ gewählt werden kann, Auflösung von Abhängigkeiten, die Möglichkeit, einfach
+ Pakete hinzuzufügen/zu aktualisieren/zu entfernen, etc...).
+ Fink bietet sowohl vorcompilierte Binärpakete als auch das Erstellen aus den
+ Quelldateien, wohingegen DarwinPorts nur das Erstellen aus den Quellen anbietet.
+ Der Autor dieser Anleitung hat DarwinPorts gewählt aus dem Grund, dass das
+ grundlegende Setup etwas leichtgewichtiger war.
+ Folgende Beispiele werden sich auf DarwinPorts beziehen.
+ </para>
+
+ <para>
+ Um zum Beispiel <application>MPlayer</application> mit OSD-Unterstützung zu compilieren:
+ <screen>sudo port install pkgconfig</screen>
+ Dies wird <application>pkg-config</application> installieren, was ein System für die
+ Handhabung von Compiler-/Link-Flags für Bibliotheken ist.
+ Das <systemitem>configure</systemitem>-Skript von <application>MPlayer</application>
+ benutzt dies, um Bibliotheken angemessen zu erkennen.
+ Dann kannst du <application>fontconfig</application> auf ähnliche Weise installieren:
+ <screen>sudo port install fontconfig</screen>
+ Dann kannst du fortfahren mit der Ausführung von <application>MPlayer</application>s
+ <systemitem>configure</systemitem>-Skript (beachte die Umgebungsvariablen
+ <systemitem>PKG_CONFIG_PATH</systemitem> und <systemitem>PATH</systemitem>,
+ so dass <systemitem>configure</systemitem> die mit DarwinPorts installierten
+ Bibliotheken findet):
+ <screen>PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure</screen>
+ </para>
+
+ <sect2 id="osx_gui">
+ <title>MPlayer OS X GUI</title>
+ <para>
+ Du bekommst ein natives GUI für <application>MPlayer</application> zusammen
+ mit für Mac OS X vorcompilierten <application>MPlayer</application>-Binaries
+ vom <ulink url="http://mplayerosx.sf.net/">MPlayerOSX</ulink>-Projekt, sei aber
+ gewarnt: Dieses Projekt ist nicht mehr aktiv.
+ </para>
+
+ <para>
+ Zum Glück wurde <application>MPlayerOSX</application> von einem Mitglied des
+ <application>MPlayer</application>-Teams übernommen.
+ Preview-Releases findet man auf unserer
+ <ulink url="http://mplayerhq.hu/dload.html">Download-Seite</ulink>,
+ und ein offizielles Release sollte bald herauskommen.
+ </para>
+
+ <para>
+ Um <application>MPlayerOSX</application> selbst von den Quellen
+ zu bauen, brauchst du <systemitem>mplayerosx</systemitem>, das
+ <systemitem>main</systemitem> und eine Kopie des
+ <systemitem>main</systemitem> CVS-Moduls genannt
+ <systemitem>main_noaltivec</systemitem>.
+ <systemitem>mplayerosx</systemitem> ist das GUI-Frontend,
+ <systemitem>main</systemitem> ist MPlayer und
+ <systemitem>main_noaltivec</systemitem> ist MPlayer ohne AltiVec-Unterstützung.
+ </para>
+
+ <para>
+ Um ein Checkout der SVN-Module durchzuführen, benutze:
+
+<screen>svn checkout svn://svn.mplayerhq.hu/mplayerosx/trunk/ mplayerosx
+svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ main</screen>
+ </para>
+
+ <para>
+ Um <application>MPlayerOSX</application> zu bilden, musst du
+ so etwas ähnliches einrichten:
+
+<screen>MPlayer_source_verzeichnis
+|
+|--->main (MPlayer SVN-Quelldateien)
+|
+|--->main_noaltivec (MPlayer SVN-Quelldateien konfiguriert mit --disable-altivec)
+|
+|--->mplayerosx (MPlayer OS X SVN-Quelldateien)</screen>
+
+ Du musst zuerst main und main_noaltivec erzeugen.
+ </para>
+
+ <para>
+ Setze als nächstes eine globale Variable:
+
+ <screen>export MACOSX_DEPLOYMENT_TARGET=10.3</screen>
+ </para>
+
+ <para>
+ Dann konfiguriere:
+ </para>
+
+ <para>
+ Wenn du für eine G4 oder eine neuere CPU mit AltiVec-Support konfigurierst,
+ mache folgendes:
+
+ <screen>./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11</screen>
+
+ Wenn du für einen G3-getriebenen Rechner mit AltiVec konfigurierst,
+ mache dies:
+
+ <screen>./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11 --disable-altivec</screen>
+
+ Du musst <filename>config.mak</filename> editieren und
+ <systemitem>-mcpu</systemitem> und <systemitem>-mtune</systemitem>
+ von <systemitem>74XX</systemitem> auf <systemitem>G3</systemitem> ändern.
+ </para>
+
+ <para>
+ Fahre fort mit
+ <screen>make</screen>
+ und gehe dann ins Verzeichnis mplayerosx, gib dort folgendes ein:
+
+ <screen>make dist</screen>
+
+ Dies wird ein komprimiertes <systemitem>.dmg</systemitem>-Archiv
+ mit der gebrauchsfertigen Binary erzeugen.
+ </para>
+
+ <para>
+ Du kannst auch das <application>Xcode</application> 2.1 Projekt verwenden;
+ das alte Projekt für <application>Xcode</application> 1.x läuft
+ nicht mehr.
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="exotic_platforms">
+ <title>Exotische Plattformen</title>
+
+ <para>
+ <application>MPlayer</application> läuft auf einer Reihe exotischer Plattformen,
+ aber die meisten der plattformspezifischen Änderungen dieser Systeme wurden nicht
+ in den Hauptquellbaum zurückgemergt.
+ Build-Instruktionen findest du in der System-spezifischen Dokumentation.
+ </para>
+
+ <sect2 id="qnx">
+ <title>QNX</title>
+ <para>
+ Du musst SDL für QNX herunterladen und installieren. Dann starte
+ <application>MPlayer</application> mit den Optionen
+ <option>-vo sdl:driver=photon</option> und <option>-ao sdl:nto</option>,
+ es sollte schnell laufen.
+ </para>
+
+ <para>
+ Der Output mit <option>-vo x11</option> wird etwas langsamer sein als unter Linux,
+ da QNX nur X-<emphasis>Emulation</emphasis> besitzt, was sehr langsam ist.
+ </para>
+ </sect2>
+
+ <sect2 id="amiga">
+ <title>Amiga/MorphOS (GeekGadgets)</title>
+ <para>
+ Die Leute drüben auf <ulink url="http://www.amigasoft.net"/>
+ machen aktuelle <application>MPlayer</application>- und
+ <application>MEncoder</application>-Packages.
+ </para>
+
+ <para>
+ Nicholas Det bei Genesi hat eine große und starke Portierung des
+ <application>MPlayer</application> für MorphOS gemacht. Traurig,
+ dass sie auf der 0.90-Serie basiert.
+ </para>
+
+ <para>
+ Hol sie dir von <ulink url="http://www.morphzone.org/">MorphZone</ulink>:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <ulink url="http://www.morphzone.org/modules/mydownloads/singlefile.php?lid=90">
+ <application>MPlayer</application> 0.91 Binary</ulink>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <ulink url="http://www.morphzone.org/modules/mydownloads/singlefile.php?lid=91">
+ <application>MPlayer</application> 0.91 Source</ulink>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <ulink url="http://www.morphzone.org/modules/mydownloads/singlefile.php?lid=92">
+ <application>MEncoder</application> 1.0pre3 Binary</ulink>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </sect2>
+ </sect1>
+
</chapter>