# HG changeset patch
# User kraymer
# Date 1159347557 0
# Node ID 66bf507e05f0ebaddfa1b4766ff4538e9f89f2c3
# Parent 8785e5d4f760706368e2e0e4c0b629ee6f399011
cosmetics: reformatting, aligning
diff -r 8785e5d4f760 -r 66bf507e05f0 DOCS/xml/de/audio.xml
--- a/DOCS/xml/de/audio.xml Wed Sep 27 08:40:37 2006 +0000
+++ b/DOCS/xml/de/audio.xml Wed Sep 27 08:59:17 2006 +0000
@@ -1,61 +1,60 @@
+
-Audioausgabegeräte
-
-Audio/Video-Synchronisation
+ Audioausgabegeräte
+
+ Audio/Video-Synchronisation
-
-Soundkartentreiber für Linux bereiten Kompatibilitätsprobleme. Dies liegt
-daran, dass sich MPlayer auf ein eingebautes
-Feature von ordentlich 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.
-
+
+ Soundkartentreiber für Linux bereiten Kompatibilitätsprobleme. Dies liegt
+ daran, dass sich MPlayer auf ein eingebautes
+ Feature von ordentlich 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.
+
-
-Andere Mediaplayer wie aviplay
-oder xine 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 MPlayer.
-
+
+ Andere Mediaplayer wie aviplay
+ oder xine 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 MPlayer.
+
-
-Die Benutzung von MPlayer 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).
-
+
+ Die Benutzung von MPlayer 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).
+
-
-Sollte es der Fall sein, dass du einen schlechten Audiotreiber hast, probiere
-die Option , diese sollte deine Probleme lösen.
-Siehe Manpage für detaillierte Informationen.
-
-
-
-
-Troubleshooting/Problemlösung
+
+ Sollte es der Fall sein, dass du einen schlechten Audiotreiber hast, probiere
+ die Option , diese sollte deine Probleme lösen.
+ Siehe Manpage für detaillierte Informationen.
+
+
-Ein paar Anmerkungen:
+
+ Troubleshooting/Problemlösung
+
+ Ein paar Anmerkungen:
-
- Wenn du ALSA Version 0.5 in nutzt, musst du fast immer
- verwenden, da ALSA 0.5 fehlerhaften Code für die
- OSS-Emulation enthält und MPlayer
- zum Absturz bringen wird, mit einer
- Nachricht wie dieser:
-
-DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!
-
-
- Wenn du bei der Wiedergabe von CD-ROM Klicken hörst, schalte IRQ-Unmasking
- an wie im Abschnitt CD-ROM beschrieben.
-
-
+
+ Wenn du ALSA Version 0.5 in nutzt, musst du fast immer
+ verwenden, da ALSA 0.5 fehlerhaften Code für die
+ OSS-Emulation enthält und MPlayer
+ zum Absturz bringen wird, mit einer
+ Nachricht wie dieser:
+ DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!
+
+
+ Wenn du bei der Wiedergabe von CD-ROM Klicken hörst, schalte IRQ-Unmasking
+ an wie im Abschnitt CD-ROM beschrieben.
+
+
diff -r 8785e5d4f760 -r 66bf507e05f0 DOCS/xml/de/bugreports.xml
--- a/DOCS/xml/de/bugreports.xml Wed Sep 27 08:40:37 2006 +0000
+++ b/DOCS/xml/de/bugreports.xml Wed Sep 27 08:59:17 2006 +0000
@@ -1,429 +1,450 @@
+
-Wie Fehler (Bugs) berichtet werden
-
-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 MPlayer sehr wichtig ist und geschätzt
-wird, alle Informationen, die wir fordern, zur
-Verfügung stellen und dass du die Anweisungen dieses Dokuments strikt befolgen musst.
-
-
-Berichte sicherheitsrelevante Fehler
-
-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
-security@mplayerhq.hu
-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.
-
-
-
-Wie Fehler beseitigt werden
-
-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
-dieses kurze Dokument, um herauszufinden,
-wie dein Code Teil von MPlayer werden kann. Die Leute der
-Mailing-Liste
-MPlayer-dev-eng
-werden dir zur Seite stehen, wenn du Fragen hast.
-
-
-
-Wie Regressionstests mit Subversion durchgeführt werden
-
-Ein Problem, das manchmal auftreten kann ist "es hat vorher funktioniert, jetzt
-tut es das nicht mehr...".
-Hier eine Schritt-für-Schritt-Verfahren, um herauszufinden, wann das Problem
-aufgetreten ist. Dies ist nichts für Gelegenheitsanwender.
-
-
-Zuerst musst du dir MPlayers Sourcenverzeichnis aus dem Subversion-Repository besorgen.
-Eine Anleitung hierzu kann unten auf
-dieser Seite
-gefunden werden.
-
-
-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:
-
-cd mplayer/
-svn update -r {"2004-08-23"}
-
-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
-MPlayer-cvslog-Archiv.
-
-
-Gehe nun wie bei einem normalen Update vor:
-
-./configure
-make
-
-
-
-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.
-
-
-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.)
-
-
-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:
-
-svn update -r {"2004-08-23 15:17:25"}
-
-Dies wird es dir leicht machen, exakt den verursachenden Patch zu finden.
-
-
-Hast du den Patch gefunden, der Ursache des Problems ist, hast du fast gewonnen;
-Berichte darüber im
-MPlayer Bugzilla-System oder melde
-dich bei
-MPlayer-Users
-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 :-).
-
-
-
-Wie Fehler berichtet werden
-
-Probiere vor allem zu allererst die letzte Subversion-Version von MPlayer,
-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 nur
-Subversion beim Berichten von Fehlern. Dies gilt auch für Binärpakete von
-MPlayer. Subversion-Anweisungen findest du am unteren Ende dieser Seite oder in der README.
-Wenn dies nicht hilft, ziehe die Liste bekannter Fehler 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.
-
+ Wie Fehler (Bugs) berichtet werden
+
+ 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 MPlayer sehr wichtig ist und geschätzt
+ wird, alle Informationen, die wir fordern, zur
+ Verfügung stellen und dass du die Anweisungen dieses Dokuments strikt befolgen musst.
+
+
+
+ Berichte sicherheitsrelevante Fehler
+
+ 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
+ security@mplayerhq.hu
+ 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.
+
+
+
+
+ Wie Fehler beseitigt werden
+
+ 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
+ dieses kurze Dokument, um herauszufinden,
+ wie dein Code Teil von MPlayer werden kann. Die Leute der
+ Mailing-Liste
+ MPlayer-dev-eng
+ werden dir zur Seite stehen, wenn du Fragen hast.
+
+
-
-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 MPlayer-Code handelt.
-
-
-
-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.
-
-
-
-Eine exzellente und gut geschriebene Anleitung dazu, wie Fragen in öffentlichen Foren
-gestellt werden sollen, ist
-How To Ask Questions
-The Smart Way von Eric S. Raymond.
-Es gibt noch einen namens
-How to Report
-Bugs Effectively von Simon
-Tatham.
-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.
-
-
-
+
+ Wie Regressionstests mit Subversion durchgeführt werden
+
+ Ein Problem, das manchmal auftreten kann ist "es hat vorher funktioniert, jetzt
+ tut es das nicht mehr...".
+ Hier eine Schritt-für-Schritt-Verfahren, um herauszufinden, wann das Problem
+ aufgetreten ist. Dies ist nichts für Gelegenheitsanwender.
+
+
+ Zuerst musst du dir MPlayers Sourcenverzeichnis aus dem Subversion-Repository besorgen.
+ Eine Anleitung hierzu kann unten auf
+ dieser Seite
+ gefunden werden.
+
+
+ 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:
+cd mplayer/
+svn update -r {"2004-08-23"}
+ 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
+ MPlayer-cvslog-Archiv.
+
+
+ Gehe nun wie bei einem normalen Update vor:
+./configure
+make
+
+
+ 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.
+
+
+ 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.)
+
+
+ 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:
+ svn update -r {"2004-08-23 15:17:25"}
+ Dies wird es dir leicht machen, exakt den verursachenden Patch zu finden.
+
+
+ Hast du den Patch gefunden, der Ursache des Problems ist, hast du fast gewonnen;
+ Berichte darüber im
+ MPlayer Bugzilla-System oder melde
+ dich bei
+ MPlayer-Users
+ 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 :-).
+
+
-
-Wo Fehler berichtet werden sollen
-
-Melde dich bei der Mailingliste MPlayer-users an:
-
-und sende deinen Fehlerbericht an
-, wo dieser diskutiert werden kann.
-
-
-Wenn du es bevorzugst, kannst du statt dessen auch unseren brandneuen
-Bugzilla verwenden.
-
-
-Die Sprache der Liste ist Englisch. Bitte
-befolge die Standard-
-Netiquette-Richtlinien
-und sende keine HTML-Mails 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
-feine Dokument. 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.
-
-
+
+ Wie Fehler berichtet werden
+
+ Probiere vor allem zu allererst die letzte Subversion-Version von MPlayer,
+ 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 nur
+ Subversion beim Berichten von Fehlern. Dies gilt auch für Binärpakete von
+ MPlayer. Subversion-Anweisungen findest du am unteren Ende
+ dieser Seite oder in der README.
+ Wenn dies nicht hilft, ziehe die Liste bekannter Fehler 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.
+
+
+
+ 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 MPlayer-Code handelt.
+
+
+
+ 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.
+
-
-Was berichtet werden soll
-
-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
-FTP-Server 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.
-
+
+ Eine exzellente und gut geschriebene Anleitung dazu, wie Fragen in öffentlichen Foren
+ gestellt werden sollen, ist
+ How To Ask Questions
+ The Smart Way von Eric S. Raymond.
+ Es gibt noch einen namens
+ How to Report Bugs Effectively
+ von
+ Simon Tatham.
+ 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.
+
+
+
+
+ Wo Fehler berichtet werden sollen
+
+ Melde dich bei der Mailingliste MPlayer-users an:
+
+ und sende deinen Fehlerbericht an
+ , wo dieser diskutiert werden kann.
+
+
+ Wenn du es bevorzugst, kannst du statt dessen auch unseren brandneuen
+ Bugzilla verwenden.
+
+
+ Die Sprache der Liste ist Englisch. Bitte
+ befolge die Standard-
+ Netiquette-Richtlinien
+ und sende keine HTML-Mails 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
+ feine Dokument. 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.
+
+
+
+
+ Was berichtet werden soll
+
+ 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
+ FTP-Server
+ 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.
+
-
-Systeminformationen
-
-
-
-Deine Linuxdistribution, Betriebssystem und Version, z.B.:
-
- Red Hat 7.1
- Slackware 7.0 + Entwicklerpakete von 7.1 ...
-
-
-
-Kernelversion:
-uname -a
-
-
-libc-Version:
-ls -l /lib/libc[.-]*
-
-
-gcc- und ld-Versionen:
-
-gcc -v
-ld -v
-
-
-
-binutils-Version:
-
-as --version
-
-
-
-Wenn du Probleme mit dem Vollbildmodus hast:
-
- Window-Manager-Typ und Version
-
-
-
-Wenn du Probleme mit XVIDIX hast:
-
- Farbtiefe von X:
-xdpyinfo | grep "depth of root"
-
-
-
-
-Wenn nur die GUI fehlerhaft ist:
-
- GTK-Version
- GLIB-Version
- libpng-Version
- GUI-Situation, in welcher der Fehler auftritt
-
-
-
-
-
-
-
-Hardware und Treiber
-
-
-
-CPU-Info (funktioniert nur unter Linux):
-cat /proc/cpuinfo
-
-
-Videokartenhersteller und -modell, z.B.:
-
- ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM
- Matrox G400 DH 32MB SGRAM
-
-
-
-Videotreibertyp und -version, .z.B.:
-
- eingebauter Treiber von X
- nVidia 0.9.623
- Utah-GLX CVS 2001-02-17
- DRI von X 4.0.3
-
-
-
-Soundkartentyp und -treiber, z.B.:
-
- Creative SBLive! Gold mit OSS-Treiber von oss.creative.com
- Creative SB16 mit Kernel-OSS-Treibern
- GUS PnP mit OSS-Emulation von ALSA
-
-
-
-Füge bei Linuxsystemen im Zweifel die Ausgabe von lspci -vv bei.
-
-
-
-
-
-
-Configure-Probleme
-
-Wenn du Fehlermeldungen beim Aufruf von ./configure bekommst oder
-die automatische Erkennung von etwas fehlschlägt, so lies configure.log.
-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 configure.log in deinen Fehlerbericht ein.
-
-
+
+ Systeminformationen
+
+
+
+
+ Deine Linuxdistribution, Betriebssystem und Version, z.B.:
+
+
+ Red Hat 7.1
+
+
+ Slackware 7.0 + Entwicklerpakete von 7.1 ...
+
+
+
+
+
+
+ Kernelversion:
+ uname -a
+
+
+
+
+ libc-Version:
+ ls -l /lib/libc[.-]*
+
+
+
+
+ gcc- und ld-Versionen:
+gcc -v
+ld -v
+
+
+
+
+ binutils-Version:
+ as --version
+
+
+
+
+ Wenn du Probleme mit dem Vollbildmodus hast:
+
+
+ Window-Manager-Typ und Version
+
+
+
+
+
+
+ Wenn du Probleme mit XVIDIX hast:
+
+
+ Farbtiefe von X:
+ xdpyinfo | grep "depth of root"
+
+
+
+
+
+
+
+ Wenn nur die GUI fehlerhaft ist:
+
+ GTK-Version
+ GLIB-Version
+ libpng-Version
+ GUI-Situation, in welcher der Fehler auftritt
+
+
+
+
+
+
-
-Compilierungsprobleme
-
-Bitte füge diese Dateien an:
-
-config.h
-config.mak
-
-
-
-
-
-Wiedergabeprobleme
-
-Bitte füge die Ausgabe von MPlayer im ausführlichen Modus
-bei Level 1 an, denke aber daran, die Ausgabe nicht zu kürzen,
-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:
-mplayer -v OptionenDateiname > mplayer.log 2>&1
-
-
-
-Wenn dein Problem speziell mit einer oder mehreren Dateien zu tun hat, lade diese bitte hoch nach:
-
-
+
+ Hardware und Treiber
+
+
+
+
+ CPU-Info (funktioniert nur unter Linux):
+ cat /proc/cpuinfo
+
+
+
+
+ Videokartenhersteller und -modell, z.B.:
+
+ ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM
+ Matrox G400 DH 32MB SGRAM
+
+
+
+
+
+ Videotreibertyp und -version, .z.B.:
+
+ eingebauter Treiber von X
+ nVidia 0.9.623
+ Utah-GLX CVS 2001-02-17
+ DRI von X 4.0.3
+
+
+
+
+
+ Soundkartentyp und -treiber, z.B.:
+
+ Creative SBLive! Gold mit OSS-Treiber von oss.creative.com
+ Creative SB16 mit Kernel-OSS-Treibern
+ GUS PnP mit OSS-Emulation von ALSA
+
+
+
+
+
+ Füge bei Linuxsystemen im Zweifel die Ausgabe von lspci -vv bei.
+
+
+
+
+
-
-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
-MPlayer 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:
-dd if=deine-datei of=kleine-datei bs=1024k count=5
-Dies wird die ersten fünf Megabyte von 'deine-datei' nehmen
-und nach 'kleine-datei' 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 niemals 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 exakte
-URL zu schicken.
-
-
+
+ Configure-Probleme
+
+ Wenn du Fehlermeldungen beim Aufruf von ./configure bekommst oder
+ die automatische Erkennung von etwas fehlschlägt, so lies configure.log.
+ 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 configure.log in deinen Fehlerbericht ein.
+
+
-
-Abstürze
-
-Du musst MPlayer in gdb aufrufen und
-uns die komplette Ausgabe schicken, oder du kannst, wenn du ein core-Dump
-des Absturzes hast, nützliche Informationen aus der Core-Datei extrahieren,
-und zwar folgendermaßen:
-
+
+ Compilierungsprobleme
+
+ Bitte füge diese Dateien an:
+
+ config.h
+ config.mak
+
+
+
+
+
+ Wiedergabeprobleme
+
+ Bitte füge die Ausgabe von MPlayer im ausführlichen Modus
+ bei Level 1 an, denke aber daran, die Ausgabe nicht zu kürzen,
+ 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:
+ mplayer -v OptionenDateiname > mplayer.log 2>&1
+
-
-Wie man Informationen eines reproduzierbaren Absturzes erhält
-
-Compiliere MPlayer neu mit Debugging-Code aktiviert:
-
-./configure --enable-debug=3
-make
-
-und rufe dann MPlayer innerhalb gdb auf mit:
-gdb ./mplayer
-Du befindest dich nun innerhalb gdb. Gib ein
-run -v Optionen-an-mplayerDateiname
-und reproduziere den Absturz. Sobald du das getan hast, wird gdb zur Eingabeaufforderung
-zurückkehren, wo du folgendes eingeben musst:
-
-bt
-disass $pc-32 $pc+32
-info all-registers
-
-
-
+
+ Wenn dein Problem speziell mit einer oder mehreren Dateien zu tun hat, lade diese bitte hoch nach:
+
+
-
-Wie man aussagekräftige Informationen aus einem Core-Dump extrahiert
-
-Erzeuge die folgende Befehlsdatei:
-
-bt
+
+ 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
+ MPlayer 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:
+ dd if=deine-datei of=kleine-datei bs=1024k count=5
+ Dies wird die ersten fünf Megabyte von 'deine-datei' nehmen
+ und nach 'kleine-datei' 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 niemals 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 exakte
+ URL zu schicken.
+
+
+
+
+ Abstürze
+
+ Du musst MPlayer in gdb aufrufen und
+ uns die komplette Ausgabe schicken, oder du kannst, wenn du ein core-Dump
+ des Absturzes hast, nützliche Informationen aus der Core-Datei extrahieren,
+ und zwar folgendermaßen:
+
+
+
+ Wie man Informationen eines reproduzierbaren Absturzes erhält
+
+ Compiliere MPlayer neu mit Debugging-Code aktiviert:
+./configure --enable-debug=3
+make
+ und rufe dann MPlayer innerhalb gdb auf mit:
+ gdb ./mplayer
+ Du befindest dich nun innerhalb gdb. Gib ein
+ run -v Optionen-an-mplayerDateiname
+ und reproduziere den Absturz. Sobald du das getan hast, wird gdb zur Eingabeaufforderung
+ zurückkehren, wo du folgendes eingeben musst:
+bt
disass $pc-32 $pc+32
-info all-registers
-
-Führe dann einfach folgenden Befehl aus:
-gdb mplayer --core=core -batch --command=Kommando_Datei > mplayer.bug
-
-
-
-
+info all-registers
+
+
+
+
+ Wie man aussagekräftige Informationen aus einem Core-Dump extrahiert
+
+ Erzeuge die folgende Befehlsdatei:
+bt
+disass $pc-32 $pc+32
+info all-registers
+ Führe dann einfach folgenden Befehl aus:
+ gdb mplayer --core=core -batch --command=Kommando_Datei > mplayer.bug
+
+
+
+
-
-Ich weiß, was ich tue...
-
-Wenn du einen Fehlerbericht wie oben beschrieben geschrieben hast und du dir sicher
-bist, dass es ein Bug in MPlayer 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.
-
+
+ Ich weiß, was ich tue...
+
+ Wenn du einen Fehlerbericht wie oben beschrieben geschrieben hast und du dir sicher
+ bist, dass es ein Bug in MPlayer 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.
+
-
-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...
-
-
-
+
+ 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...
+
+
diff -r 8785e5d4f760 -r 66bf507e05f0 DOCS/xml/de/containers.xml
--- a/DOCS/xml/de/containers.xml Wed Sep 27 08:40:37 2006 +0000
+++ b/DOCS/xml/de/containers.xml Wed Sep 27 08:59:17 2006 +0000
@@ -1,530 +1,547 @@
+
-Containerformate
+ Containerformate
-
- Es ist wichtig, einen häufigen Fehler zu berichtigen. Wenn Leute eine
- Datei mit .AVI-Erweiterung sehen, denken
- sie sofort, es sei keine MPEG-Datei. Das ist nicht wahr. Zumindest
- nicht ganz. Im Gegensatz zur verbreiteten Ansicht
- kann solch eine Datei MPEG1-Video
- enthalten.
-
+
+ Es ist wichtig, einen häufigen Fehler zu berichtigen. Wenn Leute eine
+ Datei mit .AVI-Erweiterung sehen, denken
+ sie sofort, es sei keine MPEG-Datei. Das ist nicht wahr. Zumindest
+ nicht ganz. Im Gegensatz zur verbreiteten Ansicht
+ kann solch eine Datei MPEG1-Video
+ enthalten.
+
-
- Ein Codec ist nicht dasselbe wie ein
- Datei-/Containerformat.
- Beispiele für Video-Codecs sind:
- MPEG1, MPEG2, DivX, Indeo5, 3ivx. Beispiele für
- Dateiformate sind: MPG, AVI, ASF.
-
+
+ Ein Codec ist nicht dasselbe wie ein
+ Datei-/Containerformat.
+ Beispiele für Video-Codecs sind:
+ MPEG1, MPEG2, DivX, Indeo5, 3ivx. Beispiele für
+ Dateiformate sind: MPG, AVI, ASF.
+
-
- Theoretisch kannst du ein OpenDivX-Video und MP3-Audio in einer
- .MPG-Datei vereinigen. Die meisten
- Player könnten es jedoch nicht abspielen, da sie MPEG1-Video und
- MP2-Audio erwarten (im Gegensatz zu
- AVI besitzt MPG
- nicht die nötigen Felder, die die Video- und Audio-Streams
- beschreiben). Oder du könntest ein MPEG1-Video in ein .AVI legen.
- ffmpeg
- und
- MEncoder können
- solche Dateien erzeugen.
-
+
+ Theoretisch kannst du ein OpenDivX-Video und MP3-Audio in einer
+ .MPG-Datei vereinigen. Die meisten
+ Player könnten es jedoch nicht abspielen, da sie MPEG1-Video und
+ MP2-Audio erwarten (im Gegensatz zu
+ AVI besitzt MPG
+ nicht die nötigen Felder, die die Video- und Audio-Streams
+ beschreiben). Oder du könntest ein MPEG1-Video in ein .AVI legen.
+ ffmpeg
+ und
+ MEncoder können
+ solche Dateien erzeugen.
+
-
-Videoformate
+
+ Videoformate
-
-MPEG-Dateien
+
+ MPEG-Dateien
-
- MPEG-Dateien treten in unterschiedlichen Erscheinungen auf:
-
+
+ MPEG-Dateien treten in unterschiedlichen Erscheinungen auf:
+
-
-
- MPG: Dies ist die grundlegende
- Form des MPEG-Dateiformates.
- Es enthält MPEG1-Video und MP2-(MPEG-1 Layer 2) oder selten MP1-Audio.
-
-
- DAT: Dies ist dasselbe Format wie MPG mit einer anderen
- Endung. Es wird auf Video-CDs 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 zum Abspielen einer Video-CD
- verwenden.
-
-
- VOB: VOB ist das MPEG-Dateiformat bei DVDs.
- 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.
- Lies die DVD-Sektion!
-
-
- 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
- TyStudio-Seite.
-
-
+
+
+
+ MPG: Dies ist die grundlegende
+ Form des MPEG-Dateiformates.
+ Es enthält MPEG1-Video und MP2-(MPEG-1 Layer 2) oder selten MP1-Audio.
+
+
+
+
+ DAT: Dies ist dasselbe Format wie MPG mit einer anderen
+ Endung. Es wird auf Video-CDs 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 zum Abspielen einer Video-CD
+ verwenden.
+
+
+
+
+ VOB: VOB ist das MPEG-Dateiformat bei DVDs.
+ 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.
+ Lies die DVD-Sektion!
+
+
+
+
+ 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
+ TyStudio-Seite.
+
+
+
-
- Serien von Frames bilden unabhängige Gruppen in MPEG-Dateien. Dies
- bedeutet, dass du eine MPEG-Datei mit einem Standard-Dateitool (wie
- dd oder cut)
- schneiden und zusammenfügen kannst und dieses trotzdem vollständig
- funktionsfähig bleibt.
-
+
+ Serien von Frames bilden unabhängige Gruppen in MPEG-Dateien. Dies
+ bedeutet, dass du eine MPEG-Datei mit einem Standard-Dateitool (wie
+ dd oder cut)
+ schneiden und zusammenfügen kannst und dieses trotzdem vollständig
+ funktionsfähig bleibt.
+
-
- 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 bei der Wiedergabe verwendet
- werden muss.
-
-
+
+ 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 bei der Wiedergabe verwendet
+ werden muss.
+
+
-
-AVI-Dateien
+
+ AVI-Dateien
-
- AVI (Audio Video Interleaved) 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 OpenDML.
- Microsoft rät von der Verwendung dringend ab und propagiert ASF/WMV.
- Als ob das irgendwen kratzen würde.
-
+
+ AVI (Audio Video Interleaved) 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 OpenDML.
+ Microsoft rät von der Verwendung dringend ab und propagiert ASF/WMV.
+ Als ob das irgendwen kratzen würde.
+
-
- Es gibt einen Hack, der es AVI-Dateien erlaubt, Ogg Vorbis Audio-Streams zu
- enthalten, was sie aber auch inkompatibel zu Standard-AVIs macht.
- MPlayer
- 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 (NanDub),
- solch problematische Header.
-
+
+ Es gibt einen Hack, der es AVI-Dateien erlaubt, Ogg Vorbis Audio-Streams zu
+ enthalten, was sie aber auch inkompatibel zu Standard-AVIs macht.
+ MPlayer
+ 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 (NanDub),
+ solch problematische Header.
+
-
-
- 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
- MPlayer wiedergeben kann, oder den unveränderten
- DV-Stream. An dessen Unterstützung wird gerade gearbeitet.
-
-
+
+
+ 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
+ MPlayer wiedergeben kann, oder den unveränderten
+ DV-Stream. An dessen Unterstützung wird gerade gearbeitet.
+
+
-
- Es gibt 2 Arten von AVI-Dateien:
-
-
- Interleaved: Audio- und Videoinhalt
- werden paketweise ineinander geschachtelt. Die ist üblich, wird empfohlen
- und auch meist gemacht. Einige Tools erzeugen interleaved AVIs mit
- schlechter Synchronisation.
- MPlayer 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 )
- abgespielt werden.
-
-
- Non-interleaved: 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.
-
-
-
+
+ Es gibt 2 Arten von AVI-Dateien:
+
+
+
+ Interleaved: Audio- und Videoinhalt
+ werden paketweise ineinander geschachtelt. Die ist üblich, wird empfohlen
+ und auch meist gemacht. Einige Tools erzeugen interleaved AVIs mit
+ schlechter Synchronisation.
+ MPlayer 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 )
+ abgespielt werden.
+
+
+
+
+ Non-interleaved: 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.
+
+
+
+
-
- MPlayer unterstützt zwei Arten des Timings für
- AVI-Dateien:
-
-
- bps-basiert: Diese Methode basiert auf
- der Bitrate/Samplerate des Video-/Audiostreams. Diese Methode wird von den
- meisten Playern verwendet, inklusive
- avifile
- und Windows Media Player. 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).
-
-
- interleaving-basiert: 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.
-
-
-
+
+ MPlayer unterstützt zwei Arten des Timings für
+ AVI-Dateien:
+
+
+
+ bps-basiert: Diese Methode basiert auf
+ der Bitrate/Samplerate des Video-/Audiostreams. Diese Methode wird von den
+ meisten Playern verwendet, inklusive
+ avifile
+ und Windows Media Player. 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).
+
+
+
+
+ interleaving-basiert: 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.
+
+
+
+
-
- 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: NanDub und
- MEncoder.
-
-
+
+ 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: NanDub und
+ MEncoder.
+
+
-
-ASF/WMV-Dateien
-
- 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
- (Windows Media Player und
- Windows Media Encoder) 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). MPlayer
- unterstützt nur v1.0, weil noch niemand v2.0 Dateien gesehen hat :).
- Beachte, dass .ASF-Dateien heute auch mit der Extension .WMA
- oder .WMV vorkommen.
-
-
+
+ ASF/WMV-Dateien
+
+ 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
+ (Windows Media Player und
+ Windows Media Encoder) 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). MPlayer
+ unterstützt nur v1.0, weil noch niemand v2.0 Dateien gesehen hat :).
+ Beachte, dass .ASF-Dateien heute auch mit der Extension .WMA
+ oder .WMV vorkommen.
+
+
-
-QuickTime/MOV-Dateien
-
-
- Diese Formate sind von Apple entworfen und können jeden beliebigen Codec
- enthalten, CBR oder VBR. Normalerweise haben sie die Endung .QT
- oder .MOV.
- Seitdem die MPEG4-Gruppe QuickTime als das empfohlene Dateiformat für
- MPEG4 ausgewählt hat, kommen ihre .MOV-Dateien mit den Endungen
- .MPG oder .MP4 daher.
- (Interessanterweise sind bei diesen Dateien die Video- und Audiostreams
- richtige MPG- und AAC-Dateien. Mit den den Optionen
- und kannst du sie sogar extrahieren.).
-
-
-
-
- Die meisten QuickTime-Dateien benutzen
- Sorenson-Video und QDesign-Audio. Lies dazu
- die Sorenson-Codec-Sektion.
-
-
-
-
+
+ QuickTime/MOV-Dateien
-
-VIVO-Dateien
-
-
- MPlayer 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!
-
+
+ Diese Formate sind von Apple entworfen und können jeden beliebigen Codec
+ enthalten, CBR oder VBR. Normalerweise haben sie die Endung .QT
+ oder .MOV.
+ Seitdem die MPEG4-Gruppe QuickTime als das empfohlene Dateiformat für
+ MPEG4 ausgewählt hat, kommen ihre .MOV-Dateien mit den Endungen
+ .MPG oder .MP4 daher.
+ (Interessanterweise sind bei diesen Dateien die Video- und Audiostreams
+ richtige MPG- und AAC-Dateien. Mit den den Optionen
+ und kannst du sie sogar extrahieren.).
+
-
- Der Videocodec von VIVO/1.0-Datei ist Standard-h.263.
- Der Videocodec der VIVO/2.0 Dateien ist veränderter,
- nichtstandard-h.263. Bei
- Audio ist es dasselbe, es ist g.723 (Standard)
- oder Vivo Siren.
-
-
-
- In den VIVO-Videocodec- und
- VIVO-Audiocodec-Sektionen findest
- du Installationsanweisungen.
-
-
+
+
+ Die meisten QuickTime-Dateien benutzen
+ Sorenson-Video und QDesign-Audio. Lies dazu die
+ Sorenson-Codec-Sektion.
+
+
+
-
-FLI-Dateien
-
- FLI ist ein sehr altes vom
- Autodesk Animator benutztes Dateiformat.
- Es ist aber immer noch ein im Internet gebräuchliches Dateiformat für
- kurze Animationen. MPlayer demuxt und
- decodiert FLI-Filme und ist sogar fähig, in ihnen vor- und zurückzuspulen
- (nützlich, wenn man looping mit der Option aktiviert
- hat). FLI-Dateien haben keine Keyframes, was zu verunstalteten Bildern kurz
- nach dem Spulen führt.
-
-
+
+ VIVO-Dateien
+
+
+ MPlayer 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!
+
+
+
+ Der Videocodec von VIVO/1.0-Datei ist Standard-h.263.
+ Der Videocodec der VIVO/2.0 Dateien ist veränderter,
+ nichtstandard-h.263. Bei
+ Audio ist es dasselbe, es ist g.723 (Standard)
+ oder Vivo Siren.
+
+
+
+ In den VIVO-Videocodec- und
+ VIVO-Audiocodec-Sektionen findest
+ du Installationsanweisungen.
+
+
-
-RealMedia-(RM)-Dateien
-
-
- Ja, MPlayer kann RealMedia-Dateien
- (.rm) lesen (demuxen).
- Hier ist die Liste der unterstützten
- RealVideo- und
- RealAudio-Codecs.
-
-
+
+ FLI-Dateien
+
+ FLI ist ein sehr altes vom
+ Autodesk Animator benutztes Dateiformat.
+ Es ist aber immer noch ein im Internet gebräuchliches Dateiformat für
+ kurze Animationen. MPlayer demuxt und
+ decodiert FLI-Filme und ist sogar fähig, in ihnen vor- und zurückzuspulen
+ (nützlich, wenn man looping mit der Option aktiviert
+ hat). FLI-Dateien haben keine Keyframes, was zu verunstalteten Bildern kurz
+ nach dem Spulen führt.
+
+
-
-NuppelVideo-Dateien
-
- NuppelVideo
- ist, soweit ich weiss, ein TV-Aufnahmeprogramm. MPlayer
- kann dessen .NUV-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
- MPlayer
- alle decodiert (und diese auch mit MEncoder zu
- MPEG4 (DivX)/etc!) encodiert).
- Spulen funktioniert.
-
-
+
+ RealMedia-(RM)-Dateien
-
-
-yuv4mpeg-Dateien
-
- yuv4mpeg / yuv4mpeg2 ist ein
- Dateiformat, das von den mjpegtools-Programmen
- 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.
-
-
+
+ Ja, MPlayer kann RealMedia-Dateien
+ (.rm) lesen (demuxen).
+ Hier ist die Liste der unterstützten
+ RealVideo- und
+ RealAudio-Codecs.
+
+
-
-FILM-Dateien
-
- Dieses Format wird auf alten Sega Saturn CD-ROM-Spielen verwendet.
-
-
+
+ NuppelVideo-Dateien
+
+ NuppelVideo
+ ist, soweit ich weiss, ein TV-Aufnahmeprogramm. MPlayer
+ kann dessen .NUV-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
+ MPlayer
+ alle decodiert (und diese auch mit MEncoder zu
+ MPEG4 (DivX)/etc!) encodiert).
+ Spulen funktioniert.
+
+
-
-RoQ-Dateien
-
- RoQ-Dateien sind Multimedia-Dateien, welche in gewissen ID-Spielen wie
- Quake III und Return to castle Wolfenstein benutzt werden.
-
-
+
+ yuv4mpeg-Dateien
+
+ yuv4mpeg / yuv4mpeg2 ist ein
+ Dateiformat, das von den mjpegtools-Programmen
+ 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.
+
+
-
-OGG/OGM-Dateien
-
- Dies ist ein neues Dateiformat von
- Xiphophorus. Es kann beliebige
- Video- und Audio-Codecs enthalten, sowohl CBR als auch VBR. Man benötigt
- dazu installierte libogg- und
- libvorbis-Bibliotheken vor
- der Kompilierung von MPlayer, um sie wiedergeben
- zu können.
-
-
+
+ FILM-Dateien
+
+ Dieses Format wird auf alten Sega Saturn CD-ROM-Spielen verwendet.
+
+
-
-SDP-Dateien
-
- SDP ist ein
- IETF-Standardformat, das Video- und/oder Audio-RTP-Streams beschreibt. (Dazu
- werden die
- "LIVE555 Streaming Media"-Bibliotheken
- benötigt.)
-
-
+
+ RoQ-Dateien
+
+ RoQ-Dateien sind Multimedia-Dateien, welche in gewissen ID-Spielen wie
+ Quake III und Return to castle Wolfenstein benutzt werden.
+
+
-
-PVA-Dateien
-
- PVA ist ein MPEG-ähnliches Format, das von verschiedenen Programmen
- benutzt wird, die bei DVB-TV-Karten mitgeliefert werden (z.B.
- MultiDec, WinTV
- unter Windows).
-
-
+
+ OGG/OGM-Dateien
+
+ Dies ist ein neues Dateiformat von
+ Xiphophorus. Es kann beliebige
+ Video- und Audio-Codecs enthalten, sowohl CBR als auch VBR. Man benötigt
+ dazu installierte libogg- und
+ libvorbis-Bibliotheken vor
+ der Kompilierung von MPlayer, um sie wiedergeben
+ zu können.
+
+
-
-NSV-Dateien
-
-NSV (NullSoft Video) ist das vom
-Winamp-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 .nsa.
-MPlayer kann beides abspielen, NSV-Streams und -Dateien.
-Beachte bitte, dass die meisten Dateien von der
-Winamp-Seite 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).
-
-
+
+ SDP-Dateien
+
+ SDP ist ein
+ IETF-Standardformat, das Video- und/oder Audio-RTP-Streams beschreibt.
+ (Dazu werden die
+ "LIVE555 Streaming Media"-Bibliotheken
+ benötigt.)
+
+
+
+
+
+ PVA-Dateien
+
+ PVA ist ein MPEG-ähnliches Format, das von verschiedenen Programmen
+ benutzt wird, die bei DVB-TV-Karten mitgeliefert werden (z.B.
+ MultiDec, WinTV
+ unter Windows).
+
+
-
-Matroska-Dateien
-
-Matroska ist ein offenes Containerformat.
-Lies mehr dazu auf der offiziellen Site.
-
-
+
+ NSV-Dateien
+
+ NSV (NullSoft Video) ist das vom
+ Winamp-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 .nsa.
+ MPlayer kann beides abspielen, NSV-Streams und -Dateien.
+ Beachte bitte, dass die meisten Dateien von der
+ Winamp-Seite 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).
+
+
-
-NUT -Dateien
-
-NUT ist das von MPlayer- und
-FFmpeg-Leuten entwickelte Containerformat.
-Beide Projekte unterstützen es.
-Lies mehr dazu auf der offiziellen Site.
-
-
+
+ Matroska-Dateien
+
+ Matroska ist ein offenes Containerformat.
+ Lies mehr dazu auf der offiziellen Site.
+
+
+
+
+
+ NUT -Dateien
+
+ NUT ist das von MPlayer- und
+ FFmpeg-Leuten entwickelte Containerformat.
+ Beide Projekte unterstützen es.
+ Lies mehr dazu auf der offiziellen Site.
+
+
-
-GIF-Dateien
-
- Das GIF-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.
- MPlayer unterstützt beide Formate mit
- Hilfe der libungif-Bibliothek oder
- einer anderen libgif-kompatiblen Bibliothek.
- Nicht-animierte GIFs werden als Ein-Bild-Videos dargestellt. (Mit den
- Optionen und können solche
- GIFs länger angezeigt werden.)
-
+
+ GIF-Dateien
+
+ Das GIF-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.
+ MPlayer unterstützt beide Formate mit
+ Hilfe der libungif-Bibliothek oder
+ einer anderen libgif-kompatiblen Bibliothek.
+ Nicht-animierte GIFs werden als Ein-Bild-Videos dargestellt. (Mit den
+ Optionen und können solche
+ GIFs länger angezeigt werden.)
+
-
- Momentan unterstützt MPlayer 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.
-
+
+ Momentan unterstützt MPlayer 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.
+
-
- 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.
-
+
+ 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.
+
-
- Wenn bei deiner Distribution die libungif
- nicht dabei ist, dann lade sie
- von der libungif-Homepage
- herunter. Detaillierte technische Informationen findest
- du in den
- GIF89a-Spezifikationen.
-
-
-
+
+ Wenn bei deiner Distribution die libungif
+ nicht dabei ist, dann lade sie
+ von der libungif-Homepage
+ herunter. Detaillierte technische Informationen findest
+ du in den
+ GIF89a-Spezifikationen.
+
+
+
-
+
-
-Audioformate
+
+ Audioformate
-
- MPlayer ist ein Movie-
- und kein Media-Player.
- Er kann auch einige Audioformate wiedergeben (diese sind in der unteren
- Sektion beschrieben). Dies ist jedoch nicht die empfohlene Verwendung von
- MPlayer, du solltest besser
- XMMS verwenden.
-
+
+ MPlayer ist ein Movie-
+ und kein Media-Player.
+ Er kann auch einige Audioformate wiedergeben (diese sind in der unteren
+ Sektion beschrieben). Dies ist jedoch nicht die empfohlene Verwendung von
+ MPlayer, du solltest besser
+ XMMS verwenden.
+
-
-MP3-Dateien
-
- Du hast vielleicht Probleme mit der Wiedergabe bestimmter MP3-Dateien, die
- MPlayer 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
- , welche in der Manpage beschrieben wird, könnte
- dir in diesen Fällen helfen.
-
-
+
+ MP3-Dateien
+
+ Du hast vielleicht Probleme mit der Wiedergabe bestimmter MP3-Dateien, die
+ MPlayer 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
+ , welche in der Manpage beschrieben wird, könnte
+ dir in diesen Fällen helfen.
+
+
-
-OGG/OGM-Dateien (Vorbis)
-
- Benötigt richtig installierte
- libogg und
- libvorbis.
-
-
+
+ OGG/OGM-Dateien (Vorbis)
+
+ Benötigt richtig installierte
+ libogg und
+ libvorbis.
+
+
-
-CD-Audio
-
- MPlayer kann die Bibliotheken von
- cdparanoia
- benutzen, um CDDA-Dateien (Audio CD) wiederzugeben. Alle
- Features von cdparanoia
- aufzuzählen gehört nicht zu den Aufgaben dieser Dokumentation.
-
+
+ CD-Audio
+
+ MPlayer kann die Bibliotheken von
+ cdparanoia
+ benutzen, um CDDA-Dateien (Audio CD) wiederzugeben. Alle
+ Features von cdparanoia
+ aufzuzählen gehört nicht zu den Aufgaben dieser Dokumentation.
+
-
- Schau in der Manpage bei der Option nach, wie mit ihr
- Parameter an cdparanoia übergeben
- werden können.
-
-
+
+ Schau in der Manpage bei der Option nach, wie mit ihr
+ Parameter an cdparanoia übergeben
+ werden können.
+
+
-
-XMMS
-
- MPlayer kann XMMS-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
- XMMS-Inputplugins.
-
+
+ XMMS
+
+ MPlayer kann XMMS-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
+ XMMS-Inputplugins.
+
-
- Um dieses Feature benutzen zu können, brauchst du XMMS
- und musst MPlayer mit
- ./configure --enable-xmms compilieren.
- Funktioniert dies nicht, dann musst du eventuell die Pfade für die
- XMMS-Plugins und die
- XMMS-Bibliotheken explizit mit
- und
- angeben.
-
-
-
+
+ Um dieses Feature benutzen zu können, brauchst du XMMS
+ und musst MPlayer mit
+ ./configure --enable-xmms compilieren.
+ Funktioniert dies nicht, dann musst du eventuell die Pfade für die
+ XMMS-Plugins und die
+ XMMS-Bibliotheken explizit mit
+ und
+ angeben.
+
+
+
diff -r 8785e5d4f760 -r 66bf507e05f0 DOCS/xml/de/documentation.xml
--- a/DOCS/xml/de/documentation.xml Wed Sep 27 08:40:37 2006 +0000
+++ b/DOCS/xml/de/documentation.xml Wed Sep 27 08:59:17 2006 +0000
@@ -2,181 +2,213 @@
- MPlayer - Movie Player
-
- 24. März 2003
-
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- MPlayer-Team
-
-
-
-
-
-
- Wie diese Dokumentation gelesen werden soll
-
-
- 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 Inhaltsverzeichnis und suche nach
- dem Thema, lies die oder versuche, die Dateien zu greppen.
- Die meisten Fragen sollten irgendwo hier beantwortet werden, und nach dem Rest wurde
- vermutlich auf den
- Mailing-Listen gefragt.
-
-
-
-
-
-
- Einführung
-
-
- MPlayer ist ein Movie-Player für Linux (der auch auf vielen
- anderen Unices und nicht-x86-Architekturen läuft, siehe
- ). 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 VideoCDs, SVCDs, DVDs, 3ivx-, RealMedia-, Sorenson-, Theora-
- und MPEG-4 (DivX) - Filme angeschaut werden.
-
- Ein weiteres großes Feature von MPlayer 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.
- MPlayer 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
- (14 unterstützte Typen) mit Europäischen/ISO 8859-1,2
- (Ungarisch, Englisch, Tschechisch usw.), Kryllisch und Koreanische Schriftarten, und
- On-Screen-Display (OSD)?
-
-
-
- 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
- temporär neu generieren, oder permanent mit MEncoder,
- 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.
-
-
-
- MEncoder (MPlayers Movie
- Encoder) ist ein einfacher Film-Encoder, der so ausgelegt ist, von
- MPlayer-abspielbaren Formaten
- (AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA)
- in andere MPlayer-abspielbare Formate (siehe unten)
- zu encodieren. Er kann mit verschiedenen Codecs encodieren, zum Beispiel
- MPEG-4 (DivX4) (ein oder zwei Durchläufe),
- libavcodec, und
- PCM/MP3/VBR MP3-Audio.
-
-
-
-
- MEncoder Features
-
- Encodierung zu der weitreichenden Menge Dateiformate und Decoder von
- MPlayer
-
-
- Encodierung zu allen Codecs von FFmpegs
- libavcodec
-
-
- Videoencodierung von V4L-kompatiblen TV-Empfängern
-
-
- Encodierung/Multiplexing von interleaved AVI-Dateien mit ordentlichem Index
-
-
- Erstellung von Dateien aus externen Audiostreams
-
-
- Encodierung in 1, 2 oder 3 Durchläufen
-
-
- VBR-MP3-Audio
-
- VBR-MP3-Audio wird von Windows-Playern nicht immer sauber wiedergegeben!
-
-
-
- PCM-Audio
-
-
- Streamkopien
-
-
- Input-A/V-Synchronisation (PTS-basiert, kann mit der Option
- deaktiviert werden)
-
-
- fps-Korrektur mit der Option (nützlich bei Encodierung von
- 30000/1001 fps VOB zu 24000/1001 fps AVI)
-
-
- Benutzung unseres sehr mächtigen Filtersystems (abschneiden, expandieren, spiegeln,
- nachbearbeiten, rotieren, skalieren, rgb/yuv-Konvertierung)
-
-
- Kann DVD/VOBsub- UND Textuntertitel in die
- Ausgabedatei encodieren
-
-
- Kann DVD-Untertitel in das VOBsub-Format rippen
-
-
-
-
- Geplante Features
-
- Noch breiteres Feld an verfügbaren En-/Decodierungsformaten/-codecs
- (erstellen von VOB-Dateien mit DivX4/Indeo5/VIVO-Streams :).
-
-
-
-
-
- MPlayer und MEncoder können
- weitergegeben werden unter den Bedingungen der GNU General Public License Version 2.
-
-
- &history.xml;
-
+
MPlayer - Movie Player
+
+
+
+ 24. März 2003
+
+ 2000
+ 2001
+ 2002
+ 2003
+ 2004
+ 2005
+ 2006
+ MPlayer-Team
+
+
+
+
+
+
+ Wie diese Dokumentation gelesen werden soll
+
+
+ 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 Inhaltsverzeichnis und suche nach
+ dem Thema, lies die oder versuche, die Dateien zu greppen.
+ Die meisten Fragen sollten irgendwo hier beantwortet werden, und nach dem Rest wurde
+ vermutlich auf den
+ Mailing-Listen gefragt.
+
+
+
+
+
+
+ Einführung
+
+
+ MPlayer ist ein Movie-Player für Linux (der auch auf vielen
+ anderen Unices und nicht-x86-Architekturen läuft, siehe
+ ). 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 VideoCDs, SVCDs, DVDs, 3ivx-, RealMedia-, Sorenson-, Theora-
+ und MPEG-4 (DivX) - Filme angeschaut werden.
+
+ Ein weiteres großes Feature von MPlayer 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.
+ MPlayer 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
+ (14 unterstützte Typen) mit Europäischen/ISO 8859-1,2
+ (Ungarisch, Englisch, Tschechisch usw.), Kryllisch und Koreanische Schriftarten, und
+ On-Screen-Display (OSD)?
+
+
+
+ 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
+ temporär neu generieren, oder permanent mit MEncoder,
+ 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.
+
+
+
+ MEncoder (MPlayers Movie
+ Encoder) ist ein einfacher Film-Encoder, der so ausgelegt ist, von
+ MPlayer-abspielbaren Formaten
+ (AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA)
+ in andere MPlayer-abspielbare Formate (siehe unten)
+ zu encodieren. Er kann mit verschiedenen Codecs encodieren, zum Beispiel
+ MPEG-4 (DivX4) (ein oder zwei Durchläufe),
+ libavcodec, und
+ PCM/MP3/VBR MP3-Audio.
+
+
+
+
+ MEncoder Features
+
+
+ Encodierung zu der weitreichenden Menge Dateiformate und Decoder von
+ MPlayer
+
+
+
+
+ Encodierung zu allen Codecs von FFmpegs
+ libavcodec
+
+
+
+
+ Videoencodierung von V4L-kompatiblen TV-Empfängern
+
+
+
+
+ Encodierung/Multiplexing von interleaved AVI-Dateien mit ordentlichem Index
+
+
+
+
+ Erstellung von Dateien aus externen Audiostreams
+
+
+
+
+ Encodierung in 1, 2 oder 3 Durchläufen
+
+
+
+
+ VBR-MP3-Audio
+
+ VBR-MP3-Audio wird von Windows-Playern nicht immer sauber wiedergegeben!
+
+
+
+
+
+ PCM-Audio
+
+
+
+
+ Streamkopien
+
+
+
+
+ Input-A/V-Synchronisation (PTS-basiert, kann mit der Option
+ deaktiviert werden)
+
+
+
+
+ fps-Korrektur mit der Option (nützlich bei Encodierung von
+ 30000/1001 fps VOB zu 24000/1001 fps AVI)
+
+
+
+
+ Benutzung unseres sehr mächtigen Filtersystems (abschneiden, expandieren, spiegeln,
+ nachbearbeiten, rotieren, skalieren, rgb/yuv-Konvertierung)
+
+
+
+
+ Kann DVD/VOBsub- UND Textuntertitel in die
+ Ausgabedatei encodieren
+
+
+
+
+ Kann DVD-Untertitel in das VOBsub-Format rippen
+
+
+
+
+
+ Geplante Features
+
+
+ Noch breiteres Feld an verfügbaren En-/Decodierungsformaten/-codecs
+ (erstellen von VOB-Dateien mit DivX4/Indeo5/VIVO-Streams :).
+
+
+
+
+
+
+ MPlayer und MEncoder können
+ weitergegeben werden unter den Bedingungen der GNU General Public License Version 2.
+
+
+ &history.xml;
+
&install.xml;
diff -r 8785e5d4f760 -r 66bf507e05f0 DOCS/xml/de/encoding-guide.xml
--- a/DOCS/xml/de/encoding-guide.xml Wed Sep 27 08:40:37 2006 +0000
+++ b/DOCS/xml/de/encoding-guide.xml Wed Sep 27 08:59:17 2006 +0000
@@ -1,4960 +1,5093 @@
+
-Encodieren mit MEncoder
-
-
-Erzeugen eines hochwertigen MPEG-4-Rips ("DivX") eines DVD-Films
-
-
- Eine häufig gestellte Frage ist "Wie mache ich den hochwertigsten
- Rip für eine gegebene Größe?". Eine weitere Frage ist "Wie mache ich den qualitativ
- bestmöglichen DVD-Rip? Die Dateigröße ist mir egal, ich will einfach nur
- die beste Qualität."
-
-
-
- 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.
-
-
-
- Tatsache ist, der Grund eine DVD in MPEG-4 umzuencodieren ist
- gerade weil dir die Größe wichtig ist.
-
-
-
- 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
- libavcodec zum Encodieren des
- Videos verwendest, obwohl diese Theorie genauso gut auf andere Codecs
- zutrifft.
-
-
-
- Ist dies alles zu viel für dich, solltest du womöglich auf eins der vielen
- guten Frontends zurückgreifen, die in der
- MEncoder-Sektion
- 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.
-
-
-
-Vorbereitung aufs Encodieren: Identifiziere Quellmaterial und Framerate
-
- Bevor du über das Encodieren eines Films nachdenkst, solltest du einige einleitende
- Schritte vornehmen.
-
-
-
- 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
- nicht 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.
-
-
-
-Identifizieren der Quellframerate
-
- Hier ist eine Liste der verbreiteten Typen des Quellmaterials, in der Du
- diese und ihre Eigenschaften voraussichtlich finden wirst:
-
-
-
- Standardfilm: Produziert für
- theatralische Anzeige bei 24fps.
-
-
- PAL-Video: 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 keinen kompletten
- Frame, da sie in einer 50-stel Sekunde zeitlich getrennt aufgenommen
- werden und so nicht Schlange stehen solange keine Bewegung da ist.
-
-
- NTSC-Video: 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.
-
-
- Animation: Üblicherweise bei
- 24fps gezeichnet, kommt jedoch auch in Varianten mit gemischter
- Framerate vor.
-
-
- Computer Graphics (CG): 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.
-
-
- Alter Film: Diverse niedrigere
- Frameraten.
-
-
-
-
-
-Identifizieren des Quellmaterials
-
- 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.
-
-
- Um das ganze noch komplizierter zu machen, sind manche Filme ein
- Gemisch aus einigen den oben beschriebenen Formen.
-
-
- Das wichtigste Unterscheidungsmerkmal zwischen all diesen
- Formaten ist, dass einige Frame-basiert, andere wiederum
- Feld-basiert sind.
- Immer wenn ein Film für die
- Anzeige auf dem Fernseher vorbereitet wird (einschließlich
- DVD), wird er in ein Feld-basiertes Format konvertiert.
- Die zahlreichen Methoden, mit denen dies bewerkstelligt werden
- kann, werden insgesamt dem "pulldown" zugeordnet, von welchem
- das verrufene NTSC "3:2 telecine" eine Abart darstellt.
- Sofern das Originalmaterial nicht Feld-basiert war (bei gleicher
- Feldrate), erhältst du einen Film in einem anderen Format als
- das Original.
-
-
-
-Es gibt einige verbreitete Typen des pulldown:
-
- PAL 2:2 pulldown: 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%.
-
-
- PAL 2:2:2:2:2:2:2:2:2:2:2:3 pulldown:
- 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.
-
-
- NTSC 3:2 telecine: 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.
-
-
- NTSC 2:2 pulldown: Verwendet zur
- Darstellung von 30fps Material auf NTSC.
- Schön, genau wie das 2:2 PAL pulldown.
-
-
-
-
- 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.
-
-
- Wenn ein Video auf DVD gespeichert wird, werden fortlaufend Feldpaare
- als Frames gruppiert, auch wenn nicht beabsichtigt ist, diese gleichzeitig
- zu zeigen.
- Der bei DVD und digitalem TV verwendete MPEG-2-Standard bietet einen Weg
- für beides, die originalen progressiven Frames zu encodieren und die Anzahl
- der Felder, für die ein Frame gezeigt werden soll, im Header dieses Frames
- zu speichern.
- Wurde diese Methode angewandt, wird dieser Film oft als "soft telecined"
- beschrieben, da der Prozess eher nur den DVD-Player anweist, pulldown
- auf den Film anzuwenden, als den Film selbst abzuändern.
- Dieser Fall sollte möglichst bevorzugt werden, da er (eigentlich ignoriert)
- leicht vom Encoder rückgängig gemacht werden kann und da er die maximale
- Qualität beibehält.
- Wie auch immer, viele DVD- und Rundfunkproduktionsstudios verwenden
- keine passenden Encodierungstechniken, sie produzieren stattdessen Filme mit
- "hard telecine", bei denen Felder sogar in encodiertes MPEG-2 dupliziert
- werden.
-
-
- Die Vorgehensweisen für den Umgang mit solchen Fällen werden
- später in diesem Handbuch
- behandelt.
- Wir lassen dich jetzt mit einigen Anleitungen zur Identifizierung der
- Materialtypen zurück, mit denen du es zu tun hast:
-
-
-
-NTSC-Bereiche:
-
- Wenn MPlayer 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 "soft telecined" wurde.
-
-
- Wenn MPlayer 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, "soft telecined", jedoch könnten die Teile mit 30000/1001 fps
- entweder "hard telecined" 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.
-
-
- Wenn MPlayer 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.
-
-
- Wenn MPlayer nie einen Frameratenwechsel
- anzeigt und zwei von fünf Frames gekämmt (combed) erscheinen, ist der
- Inhalt deines Films "hard telecined" 24000/1001 fps.
-
-
-
-
-PAL-Bereiche:
-
- Wenn du niemals irgend ein Combing siehst, ist dein Film 2:2 pulldown.
-
-
- 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.
-
-
- Hast du immer während Bewegungen Combing gesehen, dann ist dein Film
- PAL-Video bei 50 Feldern pro Sekunde.
-
-
-
-Tipp:
-
- MPlayer kann das Filmplayback
- mittels der Option -speed verlangsamen oder Frame für Frame abspielen.
- Versuche 0.2 zu verwenden, um den Film sehr lamgsam
- anzusehen oder drücke wiederholt die Taste ".", um jeweils
- einen Frame abzuspielen und identifiziere dann das Muster, falls du bei voller
- Geschwindigkeit nichts erkennen kannst.
-
-
-
-
-
-
-Konstanter Quantisierungsparameter vs. Multipass
-
-
- 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.
-
-
-
- Es gibt drei Annäherungen für das Encodieren eines Videos: konstante Bitrate
- (CBR), konstanter Quantisierungsparameter und Multipass (ABR, oder mittlere Bitrate).
-
-
-
- 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.
-
-
-Anmerkung:
-
- 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 x264,
- XviD
- und libavcodec 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.
-
-
-
-
- In jedem dieser Modi bricht der Videocodec (wie etwa
- libavcodec)
- 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.)
-
-
-
- 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 für
- libavcodec
- 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.
-
-
-
- Mit konstantem Quantisierer wendet der Codec denselben Quantisierer, wie
- durch die Option (für
- libavcodec) spezifiziert, auf jeden
- Macroblock an.
- Willst du einen Rip mit höchstmöglicher Qualität und ignorierst dabei
- wiederum die Bitrate, kannst du verwenden.
- Dies wird dieselbe Bitrate und PSNR (peak signal-to-noise ratio) liefern
- wie CBR mit =infinity und der Standardeinstellung
- =2.
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- Wenn du verwendest, verschwendest du Bits. Wenn
- du anwendest, wirst du keinen Rip mit bestmöglicher
- Qualität erhalten. Angenommen du rippst eine DVD mit
- und das Resultat ist 1800Kbit. Wenn du in zwei Durchgängen mit
- encodierst, wird das daraus resultierende Video
- eine bessere Qualität bei
- gleicher Bitrate haben.
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- 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
- diese(n) zuerst rippen.
- Du kannst die Bitrate mit folgender Gleichung berechnen:
- Bitrate = (zielgroesse_in_MByte - soundgroesse_in_MByte) *
- 1024 * 1024 / laenge_in_sek * 8 / 1000
- Um zum Beispiel einen zweistündigen Film auf eine 702MB CD mit einem 60MB
- Audiotrack zu bekommen, sollte die Videobitrate folgendermaßen sein:
- (702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000
- = 740kbps
-
-
-
-
-
-
-Randbedingungen für effizientes Encodieren
-
-
- 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.
-
-
-
- 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.
-
-
-
-
-
- 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.
-
-
-
- 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.
-
-
-
-
-
- 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:
-
-
-
-
-
- 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.
-
-
-
- Nochmal, dieses Problem trifft nur dann zu, wenn schwarze Ränder
- nicht an den Grenzen eines Vielfachen von 16 anstehen.
-
-
-
-
-
- Zuletzt noch was, angenommen wir haben einen Macroblock im Inneren des
- Bildes und ein Objekt bewegt sich aus Richtung Nähe der Kante des Bildes
- her in diesen Block hinein. Die MPEG-Encodierung kann nicht sagen
- "kopiere den Teil, der innerhalb des Bildes liegt, den schwarzen Rand
- aber nicht". Somit wird der schwarze Rand ebenfalls mit hinein kopiert
- und jede Menge Bits müssen zur Encodierung des Teils des Bildes, der
- dort angenommen wird, aufgewendet werden.
-
-
-
- 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.
-
-
-
-
-
- Obwohl die Ränder komplett schwarz sind und sich nie ändern, ist
- zumindest ein minimaler Overhead damit verbunden, mehr Macroblöcke
- zu besitzen.
-
-
-
-
-
- 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.
-
-
-
-
-
-Abschneiden und Skalieren
-
-
- 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.
-
-
-
- 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.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- L
- L
- L
- L
- L
- L
- L
- L
-
-
- C
- C
- C
- C
-
-
- L
- L
- L
- L
- L
- L
- L
- L
-
-
- L
- L
- L
- L
- L
- L
- L
- L
-
-
- C
- C
- C
- C
-
-
- L
- L
- L
- L
- L
- L
- L
- L
-
-
-
-
-
-
- Wie du sehen kannst, kommen Zeilen und Spalten des Bildes natürlich paarweise.
- Folglich müssen 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.
-
-
-
- Weiterhin wird interlaced Video folgendermaßen gesampelt:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Oberes Feld
- Unteres Feld
-
-
- L
- L
- L
- L
- L
- L
- L
- L
-
-
-
-
-
-
-
-
-
-
- C
- C
- C
- C
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- L
- L
- L
- L
- L
- L
- L
- L
-
-
- L
- L
- L
- L
- L
- L
- L
- L
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- C
- C
- C
- C
-
-
-
-
-
-
-
-
-
-
- L
- L
- L
- L
- L
- L
- L
- L
-
-
- L
- L
- L
- L
- L
- L
- L
- L
-
-
-
-
-
-
-
-
-
-
- C
- C
- C
- C
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- L
- L
- L
- L
- L
- L
- L
- L
-
-
- L
- L
- L
- L
- L
- L
- L
- L
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- C
- C
- C
- C
-
-
-
-
-
-
-
-
-
-
- L
- L
- L
- L
- L
- L
- L
- L
-
-
-
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- MPlayer stellt einen Crop-Erkennungsfilter
- zur Verfügung, der das Ausschnittsrechteck ()
- bestimmt.
- Starte MPlayer mit
- , 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.
-
-
-
- Teste danach die Werte, die von MPlayer
- über die Befehlszeile mittels ausgegeben wurden
- und passe das Rechteck nach deinen Bedürfnissen an.
- Der Filter 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.
-
-
-
- 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!
-
-
-
- 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 -Filter sogar alles oben erwähnte
- für dich erledigen lassen, da dieser einen optionalen Parameter
- besitzt, der standardmäßig gleich 16 ist.
-
-
-
- Pass auch auf "halbschwarze" 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.
-
-
-
- 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 MEncoder bietet eine Option für
- libavcodec genannt
- , 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.
-
-
-
-
-
-Auswahl von Auflösung und Bitrate
-
-
- 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 "Overhead" (siehe zum Beispiel in der
- Sektion über
- den AVI-Container).
- Weitere Parameter wie Skalierung, Cropping, usw. werden die Dateigröße
- nicht ändern, solange du nicht auch
- die Bitrate veränderst!
-
-
- Die Bitrate skaliert nicht 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:
-
-
- Wahrnehmbar: 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).
-
-
- Theoretisch: 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).
-
-
-
-
- Vergangene Leitfäden legten nahe, eine Bitrate und Auflösung zu wählen,
- die auf eine "Bits pro Pixel"-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.
-
-
- So weit haben wir nun die Schwierigkeit der Wahl von Bitrate und
- Auflösung diskutiert.
-
-
-
-
-Berechnen der Auflösung
-
- 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:
- ARc = (Wc x (ARa / PRdvd )) / Hc
-
-wobwei:
-
- Wc und Hc die Breite und Höhe des zugeschnittenen Videos darstellen
-
-
- ARa das angezeigte Seitenverhältnis ist, das üblicherweise 4/3 oder 16/9 beträgt
-
-
- 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
-
-
-
-
-
- Dann kannst du die X- und Y-Auflösung berechnen, gemäß eines gewisse Faktors
- der Kompressionsqualität (CQ):
- ResY = INT(SQRT( 1000*Bitrate/25/ARc/CQ )/16) * 16
- und
- ResX = INT( ResY * ARc / 16) * 16
-
-
-
- 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.
-
-
-
- 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 XviD
- und libavcodec, 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
- libavcodec
- und
- XviD
- 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 x264,
- 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
- erweiterten Encodieroptionen von
- x264
- runter gehen können.
-
-
-
- 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).
-
-
-
-
-
-
-Filtern
-
-
- Zu lernen, wie man MEncoders 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 MEncoder verfügbaren Filter eine seiner
- Hauptvorteile im Vergleich zu ähnlichen Programmen.
-
-
-
- Filter werden in einer Kette über die Option -vf geladen:
-
- -vf filter1=Optionen,filter2=Optionen,...
-
- 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.
-
-
-
- Filter wirken auf das Video in der Reihenfolge ein, in der sie geladen werden.
- Zum Beispiel wird folgende Kette:
-
- -vf crop=688:464:12:4,scale=640:464
-
- zuerst den Bereich 688x464 aus dem Bild schneiden mit der oberen, linken
- Ecke bei (12,4) und danach das Ergebnis auf 640x464 herunter skalieren.
-
-
-
- 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
- (Nachbearbeitung (postprocessing), nur wenn es Deblock- oder
- Dering-Operationen durchführt), (ein weiterer
- Postprozessor zum Entfernen von MPEG-Artefakten),
- (umgekehrtes telecine) und (zur Konvertierung
- von soft telecine nach hard telecine).
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- Eine Sache, die du vielleicht machen willst, ist, das Video durch einen sehr
- feinen Entrauschfilter (Denoise) zu schicken, wie etwa .
- 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 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
- () sind ziemlich konservativ; du solltest dich frei
- fühlen, mit höheren Werten herumzuexperimentieren und die Ergebnisse
- selbst zu beobachten.
-
-
-
-
-
-
-Interlacing und Telecine
-
-
- 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.
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- 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 :).
-
-
-
- Es wird strengstens empfohlen, die Sektion über
- Wie mit telecine und interlacing in NTSC-DVDs umgehen
- durchzulesen, um den Umgang mit den verschiedenen Möglichkeiten zu lernen.
-
-
-
- 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 mittels
- verwenden kannst.
-
-
-
-
-
-Interlaced Video encodieren
-
-
- 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.
-
-
-
- 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.
-
-
-
- Spezielle Sorgfalt solltest du bei der Arbeit mit interlaced Video walten lassen:
-
-
-
-
- Ausschneidehöhe und y-Offset müssen Vielfache von 4 sein.
-
-
- Jedes vertikale Skalieren muss im interlaced Modus durchgeführt werden.
-
-
- 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.
-
-
-
-
- Mit diesen Dingen im Kopf, hier das erste Beispiel:
-
-
- mencoder capture.avi -mc 0 -oac lavc -ovc lavc -lavcopts \
- vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224
-
-
- Beachte die Optionen und .
-
-
-
-
-
-Anmerkungen zur Audio-/Videosynchronisation
-
- MEncoders 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 in die
- Grundeinstellung der A/V-Synchronisation wechseln oder diese in deine
- ~/.mplayer/mencoder 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.
-
-
- Wenn du dich überdies gegen merkwürdige Frameübersprünge und -duplikationen
- absichern willst, kannst du beides verwenden,
- und .
- Dies verhindert jede 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 nicht empfohlen.
-
-
- Die von MEncoder unterstützte sogenannte
- "3-pass" Audioencodierung soll laut Berichten A/V-Desynchronisation
- verursachen.
- Dies geschieht definitiv dann, wenn sie in Verbindung mit bestimmten Filtern
- verwendet wird, daher wird nicht 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!
-
-
- Es gab auch Berichte über A/V-Desynchronisation, wenn
- mit MEncoder von stdin encodiert wurde.
- Lass das bleiben! Verwende immer eine Datei oder ein CD/DVD/usw-Laufwerk
- als Input.
-
-
-
-
-Auswahl des Videocodecs
-
-
- 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.
-
-
-
- Kompressionseffizienz:
- 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,
-
- 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).
-
- wenn du MPEG-4 AVC-Codecs wie
- x264 anstatt MPEG-4 ASP-Codecs
- wie libavcodec MPEG-4 oder
- XviD wählst.
- (Zukunftsorientierte Codec-Entwickler interessiert eventuell Michael
- Niedermayers Meinung
- "why MPEG4-ASP sucks"
- zu lesen.)
- Ebenso solltest du mit MPEG-4 ASP eine bessere Qualität erhalten als mit
- MPEG-2-Codecs.
-
-
- 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.
-
-
- 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.
-
-
-
- Hardware-Kompatibilität:
- 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 libavcodec und
- XviD)
- (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.
-
-
-
- Beste Qualität pro Encodierzeit:
- Codecs, die es schon einige Zeit gibt (wie
- libavcodec MPEG-4 und
- XviD), 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.
-
-
- 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).
-
-
- 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.
- libavcodec 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 XviD,
- durch die Option aktiviert, kann zum Ankurbeln
- der Encodiergeschwindigkeit - um in typischen Fällen etwa 40-60% -
- bei wenn überhaupt geringer Bildverschlechterung verwendet werden.
- x264 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.
-
-
-
- Persönlicher Geschmack:
- 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
- XviD
- oder libavcodec MPEG-4 dem
- x264 vor.
-
-
- 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.
-
- 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.!
-
-
-
- Sieh dazu bitte in der Sektion
- Auswahl der Codecs und Containerformate
- nach der Liste der unterstützten Codecs.
-
-
-
-
-Audio
-
-
- 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
- während der Encodierung direkt in den
- Video-Stream kopierst.
- Du kannst den AC3-Stream aber auch extrahieren, um ihn in Container wie NUT
- oder Matroska zu muxen.
- mplayer source_file.vob -aid 129 -dumpaudio -dumpfile sound.ac3
- dumpt Audiotrack Nummer 129 aus der Datei source_file.vob
- (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 sound.ac3.
-
-
-
- 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.
-
-
-
- Verwende nicht 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
- 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
- Too many audio packets in the buffer, dass du in der Lage sein
- wirst, eine korrekte Synchronisation zu erhalten.
-
-
-
- Du brauchst MEncoder zur Verarbeitung des Sounds.
- Du kannst zum Beispiel den originalen Soundtrack während dem Encodieren mit
- kopieren oder ihn mittels
- in eine "leichte"
- 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, MPlayer kann das nicht, also wenn du
- AC3-Audio demuxt und es in einer separaten Anwendung encodierst (oder
- es mit MPlayer 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 MEncoder 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 MEncoder 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.
-
-
-
- Zuallererst wirst du den DVD-Sound in eine WAV-datei konvertieren müssen, die
- der Audiocodec als Input nutzen kann.
- Zum Beispiel:
- mplayer source_file.vob -ao pcm:file=destination_sound.wav -vc dummy -aid 1 -vo null
- wird den zweiten Audiotrack aus der Datei source_file.vob
- in die Datei destination_sound.wav 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 normalize verwenden,
- das in den meisten Distributionen zur Verfügung steht.
- Wenn du Windows nutzt, kann ein Tool wie BeSweet
- denselben Job erledigen.
- Du wirst entweder nach Vorbis oder MP3 komprimieren.
- Zum Beispiel:
- oggenc -q1 destination_sound.wav
- wird destination_sound.wav 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.
-
-
-
-
-
-
-Muxen
-
- 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.
- MEncoder ist aktuell nur in der Lage,
- Audio und Video nativ in MPEG- und AVI-Containerformate auszugeben.
- Zum Beispiel:
- mencoder -oac copy -ovc copy -o output_movie.avi -audiofile input_audio.mp2input_video.avi
- würde die Video-Datei input_video.avi
- und die Audio-Datei input_audio.mp2
- in die AVI-Datei output_movie.avi 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.
-
-
-
- MEncoder zeichnet sich aus durch experimentellen Support für
- libavformat, das eine
- Programmbibliothek des FFmpeg-Projekts ist, welches das Muxen und
- Demuxen einer Vielzahl von Containern unterstützt.
- Zum Beispiel:
- mencoder -oac copy -ovc copy -o output_movie.asf -audiofile input_audio.mp2input_video.avi -of lavf -lavfopts format=asf
- 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
- MPlayer mit aktiviertem Support für
- libavformat kompiliert
- hast (was meint, dass eine Pre-Packaged Binary Version in den meisten
- Fällen nicht funktionieren wird).
-
-
-
-
-Verbessern der Mux- und A/V-Synchronisationszuverlässigkeit
-
- 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 -Videofilter
- ans Ende der Filterkette anzuhängen, um solcherlei Problemen aus dem Weg
- zu gehen.
-
-
-
- Ohne verlässt sich MEncoder,
- 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 wird MEncoder
- statt dessen einfach den zuletzt angezeigten Frame nochmal in die Filterkette
- einschieben.
- Dies bedeutet, dass der Encoder exakt 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.
-
-
-
- Du kommst auch nicht um den Einsatz von im
- Zusammenhang mit Containerformaten herum, die nicht allzu fest mit
- MEncoder verlinkt sind, wie etwa diejenigen,
- welche von libavformat unterstützt
- werden, der keine Frameduplikation auf Container-Level unterstützt.
-
-
-
-
-
-Limitierungen des AVI-Containers
-
- 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.
-
-
-
- Zu dieser schockierenden Ineffizienz kommen bei AVI noch folgende
- wesentlichen Einschränkungen:
-
-
-
-
-
- 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.
-
-
-
-
- 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.
-
-
-
-
-
- Nachdem ich nun all dies erzählt habe, muss ich anmerken, momentan
- unterstützt MEncoder keinen Output mit
- variablen fps oder Vorbis-Encodierung.
- Deswegen magst du dies nicht als Einschränkung ansehen, falls
- MEncoder das einzige Tool ist, das du
- nutzt, um deine Ecodierungen zu produzieren.
- Es ist dennoch möglich, MEncoder nur zur
- Videoencodierung zu verwenden und danach externe Tools, um Audio
- zu encodieren und in ein anderes Containerformat zu muxen.
-
-
-
-
-Muxen in den Matroska-Container
-
- 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 "Advanced Audio
- Coding" (AAC), "Vorbis" oder "MPEG-4 AVC" (H.264), so gut wie nichts
- womit AVI etwas anfangen kann.
-
-
-
- Die zum Erzeugen von Matroska-Dateien erforderlichen Tools werden
- zusammen mkvtoolnix genannt und stehen
- für die meisten Unix-Plattformen wie auch Windows
- 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.
-
-
-
- Möglicherweise der einfachste Weg, mit Matroska anzufangen, ist
- MMG zu verwenden, das grafische Frontend,
- das mit mkvtoolnix daherkommt, und dem
- guide to mkvmerge GUI (mmg)
- zu folgen.
-
-
-
- Du kannst Audio und Video-Dateien auch per Befehlszeile muxen:
- mkvmerge -o output.mkvinput_video.aviinput_audio1.mp3input_audio2.ac3
- würde die Video-Datei input_video.avi
- und die zwei Audio-Dateien input_audio1.mp3
- und input_audio2.ac3 in die Matroska-Datei
- output.mkv 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.
-
-
-
-
-
-
-
-
-
-Wie mit telecine und interlacing in NTSC-DVDs umgehen
-
-
-Einführung
-
-Was ist telecine?
-
- Wenn du nicht viel von dem verstehst, was in diesem Dokument beschrieben wird, lies den
- Wikipedia-Artikel über Telecine.
- Dies ist eine verständliche und einigermaßen umfassende
- Beschreibung dessen, was telecine ist.
-
-
-
-Eine Anmerkung zu Zahlen
-
- 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.
-
-
-
- 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.
-
-
-
- Ältere Versionen der MEncoder-Dokumentation
- und viele archivierten Posts in Mailing-Listen beziehen sich auf 59.94,
- 29.97 und 23.976.
- Alle MEncoder-Dokumentationen wurden insofern
- aktualisiert, dass sie fraktionale Werte verwenden, und du solltest dies
- auch tun.
-
-
-
- ist inkorrekt.
- sollte statt dessen benutzt werden.
-
-
-
-Wie telecine angewandt wird
-
- 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.
-
-
-
- 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.
-
-
-
- Ü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 bevor 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.
-
-
-
- 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.
-
-
-
-Anmerkungen
-
- Dieser Abschnitt gilt nur für NTSC-DVDs und nicht für PAL.
-
-
- Die MEncoder-Beispielzeilen überall im
- Dokument sind nicht 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
- libavcodec auf maximale
- Qualität gehören nicht zum Umfang dieses Dokuments.
-
-
- Es gibt ein paar Fußnoten speziell für dieses Handbuch, die so ähnlich
- verlinkt sind:
- [1]
-
-
-
-
-
-Wie kann man sagen, welchen Typ Video man hat
-
-
-Progressiv
-
- Progressive Video wurde ursprünglich mit 24000/1001 fps gefilmt und
- ohne Änderung auf der DVD abgespeichert.
-
-
-
- Wenn du eine progressive DVD in MPlayer abspielst,
- wird MPlayer folgende Zeile ausgeben, sobald
- das Abspielen des Films beginnt:
-
- demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.
-
- Von diesem Punkt an vorwärts sollte demux_mpg nie erzählen, es finde
- "30000/1001 fps NTSC content."
-
-
-
- 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 duwirklich
- gründlich sein, kannst du den kompletten Film scannen:
-
- mplayer dvd://1 -nosound -vo null -benchmark
-
- Das Verwenden von veranlasst
- MPlayer, 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.
-
-
-
- Manchmal wird progressive Video auf DVDs
- "soft telecine" zugeordnet, weil es dazu vorgesehen ist,
- vom DVD-Player telecined zu werden.
-
-
-
-
-Telecined
-
- Telecined Video war ursprünglich mit 24000/1001 aufgenommen, wurde aber
- telecined, bevor es auf die DVD geschrieben wurde.
-
-
-
- MPlayer meldet keine (nie)
- Frameratenwechsel, wenn er telecined Video abspielt.
-
-
-
- Beim Betrachten eines telecined Videos wirst du Interlacing-Artefakte
- sehen, die zu "blinken" scheinen: sie erscheinen wiederholt
- und verschwinden wieder.
- Du kannst dir das so genauer hinschauen
-
-
- mplayer dvd://1
-
-
- Suche einen Teil mit Bewegung.
-
-
- Benutze die Taste ., um jeweils einen Frame vorwärts zu rücken.
-
-
- 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;
- MEncoder kann ein Nicht-Standard-telecine
- nicht verlustfrei nach progressive konvertieren. Siehst du überhaupt
- keine Muster, ist es höchstwahrscheinlich interlaced.
-
-
-
-
-
- Manchmal wird telecined Video auf DVDs "hard telecine"
- zugeordnet. Da hard telecine bereits 60000/1001 Felder pro Sekunde hat,
- spielt der DVD-Player das Video ohne irgendeine Manipulation ab.
-
-
-
- Ein anderer Weg, zu sagen, ob deine Quelle telecined ist oder nicht,
- ist die Quelle mit den Befehlszeilenoptionen
- und abzuspielen, um nachzusehen, wie
- zu den Frames passt.
- Ist die Quelle telecined, solltest du in der Befehlszeile ein 3:2 Muster
- mit abwechselnd 0+.1.+2 und 0++1
- 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.
-
-
-
-
-
-Interlaced
-
- 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 "combing" 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.
-
-
-
- Wie bei telecined Video sollte MPlayer niemals
- einen Frameratewechsel beim Abspielen des interlaced Inhalts melden.
-
-
-
- Wenn du ein interlaced Video genau ansiehst, in dem du dich mit der Taste
- . durch die Frames bewegst, wirst du sehen, dass
- jeder einzelne Frame interlaced ist.
-
-
-
-
-Gemischtes progressive und telecine
-
- Alle "gemischten progressive und telecine" Videos wurden ursprünglich
- als 24000/1001 Frames pro Sekunde aufgenommen, jedoch werden einige Teile
- telecined beendet.
-
-
-
- Spielt MPlayer diese Kategorie ab, wird er
- (oft wiederholt) zwischen "30000/1001 fps NTSC"
- und "24000/1001 fps progressive NTSC" zurück und vor wechseln.
- Beobachte die untere Hälfte von MPlayers Ausgabe,
- um diese Meldungen anzusehen.
-
-
-
- Du solltest die Sektion "30000/1001 fps NTSC" überprüfen, um
- sicher zu gehen, dass sie auch wirklich telecine sind und nicht einfach
- interlaced.
-
-
-
-
-Gemischtes progressive und interlaced
-
- In "gemischtem progressive und interlaced" Inhalt wurde progressive
- und interlaced Video zusammengeklebt.
-
-
-
- Diese Kategorie sieht aus wie "gemischtes progressive und telecine",
- bis du die Sektion 30000/1001 fps untersuchst und feststellst, dass
- sie das telecine-Muster nicht haben.
-
-
-
-
-
-
-Wie jede Kategorie encodieren
-
- Wie ich anfangs angemerkt hatte, sind die
- MEncoder-Beispielzeilen unten eigentlich
- nicht zur Anwendung bestimmt;
- sie demonstrieren nur die Minimalparameter zur korrekten Encodierung
- jeder Kategorie.
-
-
-
-Progressive
-
- Progressive Video erfordert kein spezielles Filtern, um es zu encodieren.
- Der einzige Parameter, den du gewiss anwenden solltest ist
- . Andernfalls wird
- MEncoder versuchen, bei 30000/1001 fps
- zu encodieren und Frames duplizieren.
-
-
-
- mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001
-
-
-
- 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
- gemischtes progressive und telecine.
- zu behandeln. Der Performance-Verlust ist gering
- [3].
-
-
-
-
-Telecined
-
- Telecine kann umgekehrt werden, um den originalen 24000/1001-Inhalt zu erhalten,
- indem man einen Prozess verwendet, der inverse-telecine genannt wird.
- MPlayer enthält verschiedene Filter, um dies
- zu erreichen; der beste Filter, wird in der Sektion
- Gemischtes progressive und telecine
- beschrieben.
-
-
-
-
-Interlaced
-
-
- 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
- "schätzen", wie die korrespondierenden Zeilen für jedes Feld
- vervollständigt werden sollten (dies hat Nachteile - siehe Methode 3).
-
-
-
-
- Das Video in interlaced Form encodieren. Normalerweise richtet Interlacing
- verheerenden Schaden für die Fähigkeit des Encoders an, gut zu komprimieren,
- libavcodec hat jedoch zwei
- eigens für das ein wenig bessere Abspeichern von interlaced Video gedachte
- Parameter: und . Auch wenn
- die Verwendung von dringend zu empfehlen ist
- [2], weil es
- Macroblöcke wie nicht-interlaced an Stellen encodiert, an denen keine Bewegung
- stattfindet. Beachte, dass hier NICHT notwendig ist.
-
- mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2
-
-
- Nutze einen Deinterlacing-Filter vor dem Encodieren. Es stehen verschiedene
- dieser Filter zur Auswahl, jeder mit seinen eigenen Vor-
- und Nachteilen. Ziehe zu Rate, um zu sehen, welche
- verfügbar sind (suche nach "deint") und durchsuche die
-
- MPlayer-Mailinglisten, um Diskussionen über die zahlreichen Filter
- zu finden. Nochmals, die Framerate wechselt nicht, also kein
- . Deinterlacing sollte außerdem nach dem Zuschneiden
- (cropping) [1]
- und vor dem Skalieren angewandt werden.
-
- mencoder dvd://1 -oac copy -vf pp=lb -ovc lavc
-
-
- Unglücklicherweise arbeitet diese Option im Zusammenhang mit
- MEncoder fehlerhaft; sie sollte mit
- MEncoder G2 gut funktionieren, den gibts aber
- noch nicht. Du könntest Abstürze erleben. Seis drum, der Zweck von
- 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 verwendet wird,
- sowohl als auch spezifizieren musst,
- um die doppelte Framerate der originalen Quelle zu erhalten.
-
- mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc -fps 60000/1001 -ofps 60000/1001
-
-
- 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,
- zu verwenden, dann die Ränder abzuschneiden
- [1] und angemessen
- zu skalieren. Vergiss nicht, dass du die Skalierung anpassen musst, um
- das Halbieren der vertikalen Auflösung zu kompensieren.
- mencoder dvd://1 -oac copy -vf field=0 -ovc lavc
-
-
-
-
-
-Gemischtes progressive und telecine
-
- 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 immer
- 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
- [1].
- wird hier benötigt, weil das Output-Video
- 24000/1001 Frames pro Sekunde werden soll.
-
-
-
-
- wurde entworfen, um auf telecined Material
- inverse-telecine anzuwenden, während die progressiven Daten unangetastet
- bleiben. Damit dies richtig funktioniert, muss
- vom -Filter gefolgt werden, sonst
- wird MEncoder abstürzen.
- ist trotz allem die sauberste und akkurateste
- Methode, die zum Encodieren von beidem telecine und
- "gemischtem progressive und telecine" zur Verfügung steht.
-
- mencoder dvd://1 -oac copy -vf pullup,softskip -ovc lavc -ofps 24000/1001
-
-
-
-
-
- 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 oder
- folgen, wird das Endergebnis vollkommen progressiv.
- wird benötigt.
-
- mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001
-
-
-
-
- Ich habe selbst verwendet, aber lies hier, was
- D Richard Felker III zu erzählen hat:
-
-
Es ist OK, aber IMO versucht er zu oft eher ein deinterlace
- als ein inverse telecine durchzuführen (ganz wie Settop-DVD-Player
- & 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.
-
-
-
-
-
-Gemischtes progressive und interlaced
-
- 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.
-
-
-
-
- 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.
-
-
-
- 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 "Frames" werden für die
- Dauer von drei Feldern (3/(60000/1001) Sekunden) angezeigt, was
- einen flimmernden "Zeitrücksprung"-Effekt zur Folge hat, der
- ziemlich schlecht aussieht. Solltest du dies dennoch versuchen,
- musst du einen
- Deinterlacing-Filter wie oder
- anwenden.
-
-
-
- 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.
-
-
-
- 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.
-
-
-
-
- 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.
-
-
-
-
-
-
-
-
-Fußnoten
-
-
- Über das Zuschneiden (cropping):
-
- 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
- OK,
- aber nicht.
-
-
-
-
- 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
- Frame sich ein chroma-Pixel teilen, teilen sich
- immer vier luma-Pixel in jedem Feld 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.
-
-
-
- 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.
-
-
-
- Für interlaced (nicht telecined) Video musst du immer
- mit einem Vielfachen von vier zuschneiden, es sei denn, du verwendest
- vor dem Schneiden.
-
-
-
-
- Über Encodier-Parameter und Qualität:
-
- Nur weil ich hier vorschlage, heißt das nicht,
- dass es woanders benutzt werden soll. Zusammen mit
- ist eine der Optionen von
- libavcodec, 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
- libavcodec, die die Encodierqualität
- verbessern (und die Encodiergeschwindigkeit verringern), dies liegt aber jenseits
- des Rahmens dieses Dokuments.
-
-
-
-
-
- Über die Performance von pullup:
-
- kann sicher (zusammen mit )
- 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 MEncoder
- 50% langsamer. Das Hinzufügen von Soundverarbeitung und erweiterten
- überschattet diesen Unterschied
- und drückt den Performanceabfall, der mit dem Verwenden von
- verbunden war, runter auf 2%.
-
-
-
-
-
-
-
-
-
-
-
-
-Encodieren mit der libavcodec
- Codecfamilie
-
-
-libavcodec
- stellt einfache Encodierung für eine Menge interessanter Video- und Audioformate
- zur Verfügung.
- Du kannst folgende Codecs encodieren (mehr oder weniger aktuell):
-
-
-
-Videocodecs von libavcodec
-
-
-
-
-
-Name des VideocodecsBeschreibung
-
-
-mjpeg
- Motion-JPEG
-
-ljpeg
- Verlustfreies JPEG
-
-h261
- H.261
-
-h263
- H.263
-
-h263p
- H.263+
-
-mpeg4
- ISO Standard MPEG-4 (DivX 5, XviD-kompatibel)
-
-msmpeg4
- Pre-Standard MPEG-4 Variante von MS, v3 (AKA DivX3)
-
-msmpeg4v2
- Pre-Standard MPEG-4 von MS, v2 (in alten ASF-Dateien verwendet)
-
-wmv1
- Windows Media Video, Version 1 (AKA WMV7)
-
-wmv2
- Windows Media Video, Version 2 (AKA WMV8)
-
-rv10
- RealVideo 1.0
-
-rv20
- RealVideo 2.0
-
-mpeg1video
- MPEG-1 Video
-
-mpeg2video
- MPEG-2 Video
-
-huffyuv
- Verlustfreie (lossless) Kompression
-
-asv1
- ASUS Video v1
-
-asv2
- ASUS Video v2
-
-ffv1
- FFmpeg's verlustfreier (lossless) Videocodec
-
-svq1
- Sorenson Video 1
-
-flv
- Sorenson H.263, der in Flash Video benutzt wird
-
-dvvideo
- Sony Digital Video
-
-snow
- FFmpeg's experimenteller Wavelet-basierter Codec
-
-
-
-
-
- Die erste Spalte enthält die Codecnamen, die nach der Konfiguration
- vcodec übergeben werden müssen, wie:
-
-
-
-
- Ein Beispiel mit MJPEG-Komprimierung:
- mencoder dvd://2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy
-
-
-
-
-
-Audiocodecs von libavcodec
-
-
-
-
-Name des AudiocodecsBeschreibung
-
-
-
- mp2
- MPEG Layer 2
-
-
- ac3
- AC3, AKA Dolby Digital
-
-
- adpcm_ima_wav
- IMA adaptive PCM (4 Bit pro Sample, 4:1-Kompression)
-
-
- sonic
- experimenteller verlustbehafteter/verlustfreier Codec
-
-
-
-
-
- Die erste Spalte enthält die Codecnamen, die nach der Konfiguration
- acodec übergeben werden müssen, wie:
-
-
-
-
-
-Ein Beispiel mit AC3-Kompression:
-mencoder dvd://2 -o title2.avi -oac lavc -lavcopts acodec=ac3 -ovc copy
-
-
-
-
- Im Gegensatz zu den Videocodecs von libavcodec
- 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 MEncoder mit
- libavcodec kompiliert wurde (was
- meistens der Fall ist) und nicht von externen Programmbibliotheken abhängt.
-
-
-
-
-
-Encodieroptionen von libavcodec
-
-
- Idealerweise möchtest du eventuell in der Lage sein, dem Encoder einfach zu sagen,
- er soll in den "hochqualitativen" 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 ,
- und nie ausgelassen werden sollten.
- Siehe unten nach der detaillierten Beschreibung allgemeiner Encodieroptionen.
-
-
-
-
-Anzupassende Optionen:
-
- vmax_b_frames: 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
- libavcodec-Option
- verwendest, du musst jedoch Szenenerkennung deaktivieren, was wiederum keine gute
- Idee ist, da es die Ecodierungseffizienz etwas angreift.
-
-
-
- vb_strategy=1: 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.
-
-
-
- dia: 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.
-
-
-
- predia: 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.
-
-
-
- cmp, subcmp, precmp: 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.
-
-
-
- last_pred: 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.
-
-
-
- cbp, mv0: Kontrolliert die Auswahl von Macroblöcken.
- Kleine Geschwindigkeitseinbußen bei kleinem Qualitätsgewinn.
-
-
-
- qprd: 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.
-
-
-
- qns: 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.
-
-
-
- vqcomp: 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).
-
-
-
- vlelim, vcelim: 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 "kein Wechsel" 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.
-
-
-
- qpel: 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).
-
-
-
- psnr: 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.
-
-
-
-
-
-Optionen, mit denen besser nicht herumgespielt werden sollte:
-
- vme: Der Standardwert ist der beste.
-
-
-
- lumi_mask, dark_mask: 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.
-
-
-
- scplx_mask: Versucht, Blockartefakte
- zu verhindern, Postprocessing ist aber besser.
-
-
-
-
-
-Beispiele für Encodierungseinstellungen
-
-
- Die folgenden Einstellungen sind Beispiele verschiedener Kombinationen
- von Encodierungsoptionen, die den Kompromiss Geschwindigkeit gegenüber
- Qualität bei gleicher Zielbitrate beeinflussen.
-
-
-
- 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 "sehr hohe Qualität".
- Bitte habe Verständnis, dass du abhängig von deiner Quelldatei,
- deinem Rechnertyp und Entwicklungsfortschritten sehr unterschiedliche
- Resultate erzielen wirst.
-
-
-
-
-
-
-BeschreibungEncodieroptionenGeschwindigkeit (in fps)Relativer PSNR-Verlust (in dB)
-
-
-
- Sehr hohe Qualität
-
- 6fps
- 0dB
-
-
- Hohe Qualität
-
- 15fps
- -0.5dB
-
-
- Schnell
-
- 42fps
- -0.74dB
-
-
- Echtzeit
-
- 54fps
- -1.21dB
-
-
-
-
-
-
-
-Maßgeschneiderte inter/intra-Matrizen
-
-
-Mit diesem Feature von libavcodec
-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:
-mpeg1video und mpeg2video
-sollen damit funktionieren.
-
-
-
-Eine typische Anwendung dieses Features ist, die von den
-KVCD-Specifikationen
-bevorzugten Matrizen zu setzen.
-
-
-
-Die KVCD "Notch" Quantisierungsmatrix:
-
-
-
-Intra:
-
- 8 9 12 22 26 27 29 34
- 9 10 14 26 27 29 34 37
+ Encodieren mit MEncoder
+
+
+ Erzeugen eines hochwertigen MPEG-4-Rips ("DivX") eines DVD-Films
+
+
+ Eine häufig gestellte Frage ist
+ "Wie mache ich den hochwertigsten Rip für eine gegebene Größe?".
+ Eine weitere Frage ist
+ "Wie mache ich den qualitativ bestmöglichen DVD-Rip? Die Dateigröße ist
+ mir egal, ich will einfach nur die beste Qualität."
+
+
+
+ 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.
+
+
+
+ Tatsache ist, der Grund eine DVD in MPEG-4 umzuencodieren ist
+ gerade weil dir die Größe wichtig ist.
+
+
+
+ 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
+ libavcodec zum Encodieren des
+ Videos verwendest, obwohl diese Theorie genauso gut auf andere Codecs
+ zutrifft.
+
+
+
+ Ist dies alles zu viel für dich, solltest du womöglich auf eins der vielen
+ guten Frontends zurückgreifen, die in der
+ MEncoder-Sektion
+ 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.
+
+
+
+ Vorbereitung aufs Encodieren: Identifiziere Quellmaterial und Framerate
+
+ Bevor du über das Encodieren eines Films nachdenkst, solltest du einige einleitende
+ Schritte vornehmen.
+
+
+
+ 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
+ nicht 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.
+
+
+
+ Identifizieren der Quellframerate
+
+ Hier ist eine Liste der verbreiteten Typen des Quellmaterials, in der Du
+ diese und ihre Eigenschaften voraussichtlich finden wirst:
+
+
+
+
+ Standardfilm: Produziert für
+ theatralische Anzeige bei 24fps.
+
+
+
+
+ PAL-Video: 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 keinen kompletten
+ Frame, da sie in einer 50-stel Sekunde zeitlich getrennt aufgenommen
+ werden und so nicht Schlange stehen solange keine Bewegung da ist.
+
+
+
+
+ NTSC-Video: 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.
+
+
+
+
+ Animation: Üblicherweise bei
+ 24fps gezeichnet, kommt jedoch auch in Varianten mit gemischter
+ Framerate vor.
+
+
+
+
+ Computer Graphics (CG): 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.
+
+
+
+
+ Alter Film: Diverse niedrigere
+ Frameraten.
+
+
+
+
+
+
+ Identifizieren des Quellmaterials
+
+ 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.
+
+
+ Um das ganze noch komplizierter zu machen, sind manche Filme ein
+ Gemisch aus einigen den oben beschriebenen Formen.
+
+
+ Das wichtigste Unterscheidungsmerkmal zwischen all diesen
+ Formaten ist, dass einige Frame-basiert, andere wiederum
+ Feld-basiert sind.
+ Immer wenn ein Film für die
+ Anzeige auf dem Fernseher vorbereitet wird (einschließlich
+ DVD), wird er in ein Feld-basiertes Format konvertiert.
+ Die zahlreichen Methoden, mit denen dies bewerkstelligt werden
+ kann, werden insgesamt dem "pulldown" zugeordnet, von welchem
+ das verrufene NTSC "3:2 telecine" eine Abart darstellt.
+ Sofern das Originalmaterial nicht Feld-basiert war (bei gleicher
+ Feldrate), erhältst du einen Film in einem anderen Format als
+ das Original.
+
+
+
+ Es gibt einige verbreitete Typen des pulldown:
+
+
+ PAL 2:2 pulldown: 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%.
+
+
+
+
+ PAL 2:2:2:2:2:2:2:2:2:2:2:3 pulldown:
+ 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.
+
+
+
+ NTSC 3:2 telecine: 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.
+
+
+
+
+ NTSC 2:2 pulldown: Verwendet zur
+ Darstellung von 30fps Material auf NTSC.
+ Schön, genau wie das 2:2 PAL pulldown.
+
+
+
+
+
+ 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.
+
+
+ Wenn ein Video auf DVD gespeichert wird, werden fortlaufend Feldpaare
+ als Frames gruppiert, auch wenn nicht beabsichtigt ist, diese gleichzeitig
+ zu zeigen.
+ Der bei DVD und digitalem TV verwendete MPEG-2-Standard bietet einen Weg
+ für beides, die originalen progressiven Frames zu encodieren und die Anzahl
+ der Felder, für die ein Frame gezeigt werden soll, im Header dieses Frames
+ zu speichern.
+ Wurde diese Methode angewandt, wird dieser Film oft als "soft telecined"
+ beschrieben, da der Prozess eher nur den DVD-Player anweist, pulldown
+ auf den Film anzuwenden, als den Film selbst abzuändern.
+ Dieser Fall sollte möglichst bevorzugt werden, da er (eigentlich ignoriert)
+ leicht vom Encoder rückgängig gemacht werden kann und da er die maximale
+ Qualität beibehält.
+ Wie auch immer, viele DVD- und Rundfunkproduktionsstudios verwenden
+ keine passenden Encodierungstechniken, sie produzieren stattdessen Filme mit
+ "hard telecine", bei denen Felder sogar in encodiertes MPEG-2 dupliziert
+ werden.
+
+
+ Die Vorgehensweisen für den Umgang mit solchen Fällen werden
+ später in diesem Handbuch
+ behandelt.
+ Wir lassen dich jetzt mit einigen Anleitungen zur Identifizierung der
+ Materialtypen zurück, mit denen du es zu tun hast:
+
+
+
+ NTSC-Bereiche:
+
+
+ Wenn MPlayer 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 "soft telecined" wurde.
+
+
+
+
+ Wenn MPlayer 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, "soft telecined", jedoch könnten die Teile mit 30000/1001 fps
+ entweder "hard telecined" 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.
+
+
+
+
+ Wenn MPlayer 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.
+
+
+
+
+ Wenn MPlayer nie einen Frameratenwechsel
+ anzeigt und zwei von fünf Frames gekämmt (combed) erscheinen, ist der
+ Inhalt deines Films "hard telecined" 24000/1001 fps.
+
+
+
+
+
+ PAL-Bereiche:
+
+
+ Wenn du niemals irgend ein Combing siehst, ist dein Film 2:2 pulldown.
+
+
+
+
+ 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.
+
+
+
+
+ Hast du immer während Bewegungen Combing gesehen, dann ist dein Film
+ PAL-Video bei 50 Feldern pro Sekunde.
+
+
+
+
+
+ Tipp:
+
+ MPlayer kann das Filmplayback
+ mittels der Option -speed verlangsamen oder Frame für Frame abspielen.
+ Versuche 0.2 zu verwenden, um den Film sehr lamgsam
+ anzusehen oder drücke wiederholt die Taste ".", um jeweils
+ einen Frame abzuspielen und identifiziere dann das Muster, falls du bei voller
+ Geschwindigkeit nichts erkennen kannst.
+
+
+
+
+
+
+ Konstanter Quantisierungsparameter vs. Multipass
+
+
+ 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.
+
+
+
+ Es gibt drei Annäherungen für das Encodieren eines Videos: konstante Bitrate
+ (CBR), konstanter Quantisierungsparameter und Multipass (ABR, oder mittlere Bitrate).
+
+
+
+ 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.
+
+
+ Anmerkung:
+
+ 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 x264,
+ XviD
+ und libavcodec 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.
+
+
+
+
+ In jedem dieser Modi bricht der Videocodec (wie etwa
+ libavcodec)
+ 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.)
+
+
+
+ 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 für
+ libavcodec
+ 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.
+
+
+
+ Mit konstantem Quantisierer wendet der Codec denselben Quantisierer, wie
+ durch die Option (für
+ libavcodec) spezifiziert, auf jeden
+ Macroblock an.
+ Willst du einen Rip mit höchstmöglicher Qualität und ignorierst dabei
+ wiederum die Bitrate, kannst du verwenden.
+ Dies wird dieselbe Bitrate und PSNR (peak signal-to-noise ratio) liefern
+ wie CBR mit =infinity und der Standardeinstellung
+ =2.
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ Wenn du verwendest, verschwendest du Bits. Wenn
+ du anwendest, wirst du keinen Rip mit bestmöglicher
+ Qualität erhalten. Angenommen du rippst eine DVD mit
+ und das Resultat ist 1800Kbit. Wenn du in zwei Durchgängen mit
+ encodierst, wird das daraus resultierende Video
+ eine bessere Qualität bei
+ gleicher Bitrate haben.
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ 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
+ diese(n) zuerst rippen.
+ Du kannst die Bitrate mit folgender Gleichung berechnen:
+ Bitrate = (zielgroesse_in_MByte - soundgroesse_in_MByte) * 1024 * 1024 / laenge_in_sek * 8 / 1000
+ Um zum Beispiel einen zweistündigen Film auf eine 702MB CD mit einem 60MB
+ Audiotrack zu bekommen, sollte die Videobitrate folgendermaßen sein:
+ (702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000 = 740kbps
+
+
+
+
+
+
+ Randbedingungen für effizientes Encodieren
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+
+
+ 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:
+
+
+
+
+
+ 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.
+
+
+
+ Nochmal, dieses Problem trifft nur dann zu, wenn schwarze Ränder
+ nicht an den Grenzen eines Vielfachen von 16 anstehen.
+
+
+
+
+
+ Zuletzt noch was, angenommen wir haben einen Macroblock im Inneren des
+ Bildes und ein Objekt bewegt sich aus Richtung Nähe der Kante des Bildes
+ her in diesen Block hinein. Die MPEG-Encodierung kann nicht sagen
+ "kopiere den Teil, der innerhalb des Bildes liegt, den schwarzen Rand
+ aber nicht". Somit wird der schwarze Rand ebenfalls mit hinein kopiert
+ und jede Menge Bits müssen zur Encodierung des Teils des Bildes, der
+ dort angenommen wird, aufgewendet werden.
+
+
+
+ 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.
+
+
+
+
+
+ Obwohl die Ränder komplett schwarz sind und sich nie ändern, ist
+ zumindest ein minimaler Overhead damit verbunden, mehr Macroblöcke
+ zu besitzen.
+
+
+
+
+
+ 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.
+
+
+
+
+
+ Abschneiden und Skalieren
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+
+
+ C
+ C
+ C
+ C
+
+
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+
+
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+
+
+ C
+ C
+ C
+ C
+
+
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+
+
+
+
+
+
+ Wie du sehen kannst, kommen Zeilen und Spalten des Bildes natürlich paarweise.
+ Folglich müssen 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.
+
+
+
+ Weiterhin wird interlaced Video folgendermaßen gesampelt:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Oberes Feld
+ Unteres Feld
+
+
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+
+
+
+
+
+
+
+
+
+
+ C
+ C
+ C
+ C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+
+
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ C
+ C
+ C
+ C
+
+
+
+
+
+
+
+
+
+
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+
+
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+
+
+
+
+
+
+
+
+
+
+ C
+ C
+ C
+ C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+
+
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ C
+ C
+ C
+ C
+
+
+
+
+
+
+
+
+
+
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+ L
+
+
+
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ MPlayer stellt einen Crop-Erkennungsfilter
+ zur Verfügung, der das Ausschnittsrechteck ()
+ bestimmt.
+ Starte MPlayer mit
+ , 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.
+
+
+
+ Teste danach die Werte, die von MPlayer
+ über die Befehlszeile mittels ausgegeben wurden
+ und passe das Rechteck nach deinen Bedürfnissen an.
+ Der Filter 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.
+
+
+
+ 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!
+
+
+
+ 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 -Filter sogar alles oben erwähnte
+ für dich erledigen lassen, da dieser einen optionalen Parameter
+ besitzt, der standardmäßig gleich 16 ist.
+
+
+
+ Pass auch auf "halbschwarze" 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.
+
+
+
+ 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 MEncoder bietet eine Option für
+ libavcodec genannt
+ , 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.
+
+
+
+
+
+ Auswahl von Auflösung und Bitrate
+
+
+ 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 "Overhead" (siehe zum Beispiel in der
+ Sektion über
+ den AVI-Container).
+ Weitere Parameter wie Skalierung, Cropping, usw. werden die Dateigröße
+ nicht ändern, solange du nicht auch
+ die Bitrate veränderst!
+
+
+ Die Bitrate skaliert nicht 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:
+
+
+
+ Wahrnehmbar: 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).
+
+
+
+
+ Theoretisch: 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).
+
+
+
+
+
+ Vergangene Leitfäden legten nahe, eine Bitrate und Auflösung zu wählen,
+ die auf eine "Bits pro Pixel"-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.
+
+
+ So weit haben wir nun die Schwierigkeit der Wahl von Bitrate und
+ Auflösung diskutiert.
+
+
+
+
+ Berechnen der Auflösung
+
+ 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:
+ ARc = (Wc x (ARa / PRdvd )) / Hc
+
+ wobwei:
+
+
+ Wc und Hc die Breite und Höhe des zugeschnittenen Videos darstellen
+
+
+
+
+ ARa das angezeigte Seitenverhältnis ist, das üblicherweise 4/3 oder 16/9 beträgt
+
+
+
+
+ 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
+
+
+
+
+
+
+ Dann kannst du die X- und Y-Auflösung berechnen, gemäß eines gewisse Faktors
+ der Kompressionsqualität (CQ):
+ ResY = INT(SQRT( 1000*Bitrate/25/ARc/CQ )/16) * 16
+ und
+ ResX = INT( ResY * ARc / 16) * 16
+
+
+
+ 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.
+
+
+
+ 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 XviD
+ und libavcodec, 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
+ libavcodec
+ und
+ XviD
+ 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 x264,
+ 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
+ erweiterten Encodieroptionen von x264
+ runter gehen können.
+
+
+
+ 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).
+
+
+
+
+
+
+ Filtern
+
+
+ Zu lernen, wie man MEncoders 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 MEncoder verfügbaren Filter eine seiner
+ Hauptvorteile im Vergleich zu ähnlichen Programmen.
+
+
+
+ Filter werden in einer Kette über die Option -vf geladen:
+
+ -vf filter1=Optionen,filter2=Optionen,...
+
+ 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.
+
+
+
+ Filter wirken auf das Video in der Reihenfolge ein, in der sie geladen werden.
+ Zum Beispiel wird folgende Kette:
+
+ -vf crop=688:464:12:4,scale=640:464
+
+ zuerst den Bereich 688x464 aus dem Bild schneiden mit der oberen, linken
+ Ecke bei (12,4) und danach das Ergebnis auf 640x464 herunter skalieren.
+
+
+
+ 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
+ (Nachbearbeitung (postprocessing), nur wenn es Deblock- oder
+ Dering-Operationen durchführt), (ein weiterer
+ Postprozessor zum Entfernen von MPEG-Artefakten),
+ (umgekehrtes telecine) und (zur Konvertierung
+ von soft telecine nach hard telecine).
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ Eine Sache, die du vielleicht machen willst, ist, das Video durch einen sehr
+ feinen Entrauschfilter (Denoise) zu schicken, wie etwa .
+ 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 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
+ () sind ziemlich konservativ; du solltest dich frei
+ fühlen, mit höheren Werten herumzuexperimentieren und die Ergebnisse
+ selbst zu beobachten.
+
+
+
+
+
+
+ Interlacing und Telecine
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ 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 :).
+
+
+
+ Es wird strengstens empfohlen, die Sektion über
+ Wie mit telecine und interlacing in NTSC-DVDs umgehen
+ durchzulesen, um den Umgang mit den verschiedenen Möglichkeiten zu lernen.
+
+
+
+ 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 mittels
+ verwenden kannst.
+
+
+
+
+
+ Interlaced Video encodieren
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ Spezielle Sorgfalt solltest du bei der Arbeit mit interlaced Video walten lassen:
+
+
+
+
+
+ Ausschneidehöhe und y-Offset müssen Vielfache von 4 sein.
+
+
+
+
+ Jedes vertikale Skalieren muss im interlaced Modus durchgeführt werden.
+
+
+
+
+ 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.
+
+
+
+
+
+ Mit diesen Dingen im Kopf, hier das erste Beispiel:
+
+mencoder capture.avi -mc 0 -oac lavc -ovc lavc -lavcopts \
+vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224
+
+ Beachte die Optionen und .
+
+
+
+
+
+ Anmerkungen zur Audio-/Videosynchronisation
+
+ MEncoders 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 in die
+ Grundeinstellung der A/V-Synchronisation wechseln oder diese in deine
+ ~/.mplayer/mencoder 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.
+
+
+ Wenn du dich überdies gegen merkwürdige Frameübersprünge und -duplikationen
+ absichern willst, kannst du beides verwenden,
+ und .
+ Dies verhindert jede 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 nicht empfohlen.
+
+
+ Die von MEncoder unterstützte sogenannte
+ "3-pass" Audioencodierung soll laut Berichten A/V-Desynchronisation
+ verursachen.
+ Dies geschieht definitiv dann, wenn sie in Verbindung mit bestimmten Filtern
+ verwendet wird, daher wird nicht 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!
+
+
+ Es gab auch Berichte über A/V-Desynchronisation, wenn
+ mit MEncoder von stdin encodiert wurde.
+ Lass das bleiben! Verwende immer eine Datei oder ein CD/DVD/usw-Laufwerk
+ als Input.
+
+
+
+
+ Auswahl des Videocodecs
+
+
+ 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.
+
+
+
+
+ Kompressionseffizienz:
+ 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,
+
+ 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).
+
+
+ wenn du MPEG-4 AVC-Codecs wie
+ x264 anstatt MPEG-4 ASP-Codecs
+ wie libavcodec MPEG-4 oder
+ XviD wählst.
+ (Zukunftsorientierte Codec-Entwickler interessiert eventuell Michael
+ Niedermayers Meinung
+ "why MPEG4-ASP sucks"
+ zu lesen.)
+ Ebenso solltest du mit MPEG-4 ASP eine bessere Qualität erhalten als mit
+ MPEG-2-Codecs.
+
+
+ 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.
+
+
+ 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.
+
+
+
+
+
+ Hardware-Kompatibilität:
+ 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 libavcodec und
+ XviD)
+ (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.
+
+
+
+
+
+ Beste Qualität pro Encodierzeit:
+ Codecs, die es schon einige Zeit gibt (wie
+ libavcodec MPEG-4 und
+ XviD), 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.
+
+
+ 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).
+
+
+ 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.
+ libavcodec 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 XviD,
+ durch die Option aktiviert, kann zum Ankurbeln
+ der Encodiergeschwindigkeit - um in typischen Fällen etwa 40-60% -
+ bei wenn überhaupt geringer Bildverschlechterung verwendet werden.
+ x264 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.
+
+
+
+
+
+ Persönlicher Geschmack:
+ 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
+ XviD
+ oder libavcodec MPEG-4 dem
+ x264 vor.
+
+
+ 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.
+
+ 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.!
+
+
+
+
+ Sieh dazu bitte in der Sektion
+ Auswahl der Codecs und Containerformate
+ nach der Liste der unterstützten Codecs.
+
+
+
+
+ Audio
+
+
+ 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
+ während der Encodierung
+ direkt in den Video-Stream kopierst.
+ Du kannst den AC3-Stream aber auch extrahieren, um ihn in Container wie NUT
+ oder Matroska zu muxen.
+ mplayer source_file.vob -aid 129 -dumpaudio -dumpfile sound.ac3
+ dumpt Audiotrack Nummer 129 aus der Datei source_file.vob
+ (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 sound.ac3.
+
+
+
+ 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.
+
+
+
+ Verwende nicht 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
+ 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
+ Too many audio packets in the buffer, dass du in der Lage sein
+ wirst, eine korrekte Synchronisation zu erhalten.
+
+
+
+ Du brauchst MEncoder zur Verarbeitung des Sounds.
+ Du kannst zum Beispiel den originalen Soundtrack während dem Encodieren mit
+ kopieren oder ihn mittels
+ in eine "leichte"
+ 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, MPlayer kann das nicht, also wenn du
+ AC3-Audio demuxt und es in einer separaten Anwendung encodierst (oder
+ es mit MPlayer 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 MEncoder 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 MEncoder 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.
+
+
+
+ Zuallererst wirst du den DVD-Sound in eine WAV-datei konvertieren müssen, die
+ der Audiocodec als Input nutzen kann.
+ Zum Beispiel:
+ mplayer source_file.vob -ao pcm:file=destination_sound.wav -vc dummy -aid 1 -vo null
+ wird den zweiten Audiotrack aus der Datei source_file.vob
+ in die Datei destination_sound.wav 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 normalize verwenden,
+ das in den meisten Distributionen zur Verfügung steht.
+ Wenn du Windows nutzt, kann ein Tool wie BeSweet
+ denselben Job erledigen.
+ Du wirst entweder nach Vorbis oder MP3 komprimieren.
+ Zum Beispiel:
+ oggenc -q1 destination_sound.wav
+ wird destination_sound.wav 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.
+
+
+
+
+
+
+ Muxen
+
+ 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.
+ MEncoder ist aktuell nur in der Lage,
+ Audio und Video nativ in MPEG- und AVI-Containerformate auszugeben.
+ Zum Beispiel:
+ mencoder -oac copy -ovc copy -o output_movie.avi -audiofile input_audio.mp2input_video.avi
+ würde die Video-Datei input_video.avi
+ und die Audio-Datei input_audio.mp2
+ in die AVI-Datei output_movie.avi 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.
+
+
+
+ MEncoder zeichnet sich aus durch experimentellen Support für
+ libavformat, das eine
+ Programmbibliothek des FFmpeg-Projekts ist, welches das Muxen und
+ Demuxen einer Vielzahl von Containern unterstützt.
+ Zum Beispiel:
+ mencoder -oac copy -ovc copy -o output_movie.asf -audiofile input_audio.mp2input_video.avi -of lavf -lavfopts format=asf
+ 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
+ MPlayer mit aktiviertem Support für
+ libavformat kompiliert
+ hast (was meint, dass eine Pre-Packaged Binary Version in den meisten
+ Fällen nicht funktionieren wird).
+
+
+
+
+ Verbessern der Mux- und A/V-Synchronisationszuverlässigkeit
+
+ 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 -Videofilter
+ ans Ende der Filterkette anzuhängen, um solcherlei Problemen aus dem Weg
+ zu gehen.
+
+
+
+ Ohne verlässt sich MEncoder,
+ 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 wird MEncoder
+ statt dessen einfach den zuletzt angezeigten Frame nochmal in die Filterkette
+ einschieben.
+ Dies bedeutet, dass der Encoder exakt 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.
+
+
+
+ Du kommst auch nicht um den Einsatz von im
+ Zusammenhang mit Containerformaten herum, die nicht allzu fest mit
+ MEncoder verlinkt sind, wie etwa diejenigen,
+ welche von libavformat unterstützt
+ werden, der keine Frameduplikation auf Container-Level unterstützt.
+
+
+
+
+
+ Limitierungen des AVI-Containers
+
+ 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.
+
+
+
+ Zu dieser schockierenden Ineffizienz kommen bei AVI noch folgende
+ wesentlichen Einschränkungen:
+
+
+
+
+
+ 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.
+
+
+
+
+ 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.
+
+
+
+
+
+ Nachdem ich nun all dies erzählt habe, muss ich anmerken, momentan
+ unterstützt MEncoder keinen Output mit
+ variablen fps oder Vorbis-Encodierung.
+ Deswegen magst du dies nicht als Einschränkung ansehen, falls
+ MEncoder das einzige Tool ist, das du
+ nutzt, um deine Ecodierungen zu produzieren.
+ Es ist dennoch möglich, MEncoder nur zur
+ Videoencodierung zu verwenden und danach externe Tools, um Audio
+ zu encodieren und in ein anderes Containerformat zu muxen.
+
+
+
+
+ Muxen in den Matroska-Container
+
+ 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 "Advanced Audio
+ Coding" (AAC), "Vorbis" oder "MPEG-4 AVC" (H.264), so gut wie nichts
+ womit AVI etwas anfangen kann.
+
+
+
+ Die zum Erzeugen von Matroska-Dateien erforderlichen Tools werden
+ zusammen mkvtoolnix genannt und stehen
+ für die meisten Unix-Plattformen wie auch Windows
+ 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.
+
+
+
+ Möglicherweise der einfachste Weg, mit Matroska anzufangen, ist
+ MMG zu verwenden, das grafische Frontend,
+ das mit mkvtoolnix daherkommt, und dem
+ guide to mkvmerge GUI (mmg)
+ zu folgen.
+
+
+
+ Du kannst Audio und Video-Dateien auch per Befehlszeile muxen:
+ mkvmerge -o output.mkvinput_video.aviinput_audio1.mp3input_audio2.ac3
+ würde die Video-Datei input_video.avi
+ und die zwei Audio-Dateien input_audio1.mp3
+ und input_audio2.ac3 in die Matroska-Datei
+ output.mkv 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.
+
+
+
+
+
+
+
+
+
+ Wie mit telecine und interlacing in NTSC-DVDs umgehen
+
+
+ Einführung
+
+ Was ist telecine?
+
+ Wenn du nicht viel von dem verstehst, was in diesem Dokument beschrieben wird, lies den
+ Wikipedia-Artikel über Telecine.
+ Dies ist eine verständliche und einigermaßen umfassende
+ Beschreibung dessen, was telecine ist.
+
+
+
+
+ Eine Anmerkung zu Zahlen
+
+ 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.
+
+
+
+
+ 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.
+
+
+
+ Ältere Versionen der MEncoder-Dokumentation
+ und viele archivierten Posts in Mailing-Listen beziehen sich auf 59.94,
+ 29.97 und 23.976.
+ Alle MEncoder-Dokumentationen wurden insofern
+ aktualisiert, dass sie fraktionale Werte verwenden, und du solltest dies
+ auch tun.
+
+
+
+ ist inkorrekt.
+ sollte statt dessen benutzt werden.
+
+
+
+ Wie telecine angewandt wird
+
+ 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.
+
+
+
+
+ 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.
+
+
+
+ Ü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 bevor 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.
+
+
+
+ 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.
+
+
+
+ Anmerkungen
+
+
+ Dieser Abschnitt gilt nur für NTSC-DVDs und nicht für PAL.
+
+
+
+
+ Die MEncoder-Beispielzeilen überall im
+ Dokument sind nicht 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
+ libavcodec auf maximale
+ Qualität gehören nicht zum Umfang dieses Dokuments.
+
+
+
+
+ Es gibt ein paar Fußnoten speziell für dieses Handbuch, die so ähnlich
+ verlinkt sind:
+ [1]
+
+
+
+
+
+
+ Wie kann man sagen, welchen Typ Video man hat
+
+
+ Progressiv
+
+ Progressive Video wurde ursprünglich mit 24000/1001 fps gefilmt und
+ ohne Änderung auf der DVD abgespeichert.
+
+
+
+ Wenn du eine progressive DVD in MPlayer abspielst,
+ wird MPlayer folgende Zeile ausgeben, sobald
+ das Abspielen des Films beginnt:
+
+ demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.
+
+ Von diesem Punkt an vorwärts sollte demux_mpg nie erzählen, es finde
+ "30000/1001 fps NTSC content."
+
+
+
+ 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 duwirklich
+ gründlich sein, kannst du den kompletten Film scannen:
+
+ mplayer dvd://1 -nosound -vo null -benchmark
+
+ Das Verwenden von veranlasst
+ MPlayer, 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.
+
+
+
+ Manchmal wird progressive Video auf DVDs
+ "soft telecine" zugeordnet, weil es dazu vorgesehen ist,
+ vom DVD-Player telecined zu werden.
+
+
+
+
+ Telecined
+
+ Telecined Video war ursprünglich mit 24000/1001 aufgenommen, wurde aber
+ telecined, bevor es auf die DVD geschrieben wurde.
+
+
+
+ MPlayer meldet keine (nie)
+ Frameratenwechsel, wenn er telecined Video abspielt.
+
+
+
+ Beim Betrachten eines telecined Videos wirst du Interlacing-Artefakte
+ sehen, die zu "blinken" scheinen: sie erscheinen wiederholt
+ und verschwinden wieder.
+ Du kannst dir das so genauer hinschauen
+
+
+ mplayer dvd://1
+
+
+
+ Suche einen Teil mit Bewegung.
+
+
+
+
+ Benutze die Taste ., um jeweils einen Frame vorwärts zu rücken.
+
+
+
+
+ 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;
+ MEncoder kann ein Nicht-Standard-telecine
+ nicht verlustfrei nach progressive konvertieren. Siehst du überhaupt
+ keine Muster, ist es höchstwahrscheinlich interlaced.
+
+
+
+
+
+
+ Manchmal wird telecined Video auf DVDs "hard telecine"
+ zugeordnet. Da hard telecine bereits 60000/1001 Felder pro Sekunde hat,
+ spielt der DVD-Player das Video ohne irgendeine Manipulation ab.
+
+
+
+ Ein anderer Weg, zu sagen, ob deine Quelle telecined ist oder nicht,
+ ist die Quelle mit den Befehlszeilenoptionen
+ und abzuspielen, um nachzusehen, wie
+ zu den Frames passt.
+ Ist die Quelle telecined, solltest du in der Befehlszeile ein 3:2 Muster
+ mit abwechselnd 0+.1.+2 und 0++1
+ 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.
+
+
+
+
+
+ Interlaced
+
+ 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 "combing" 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.
+
+
+
+ Wie bei telecined Video sollte MPlayer niemals
+ einen Frameratewechsel beim Abspielen des interlaced Inhalts melden.
+
+
+
+ Wenn du ein interlaced Video genau ansiehst, in dem du dich mit der Taste
+ . durch die Frames bewegst, wirst du sehen, dass
+ jeder einzelne Frame interlaced ist.
+
+
+
+
+ Gemischtes progressive und telecine
+
+ Alle "gemischten progressive und telecine" Videos wurden ursprünglich
+ als 24000/1001 Frames pro Sekunde aufgenommen, jedoch werden einige Teile
+ telecined beendet.
+
+
+
+ Spielt MPlayer diese Kategorie ab, wird er
+ (oft wiederholt) zwischen "30000/1001 fps NTSC"
+ und "24000/1001 fps progressive NTSC" zurück und vor wechseln.
+ Beobachte die untere Hälfte von MPlayers Ausgabe,
+ um diese Meldungen anzusehen.
+
+
+
+ Du solltest die Sektion "30000/1001 fps NTSC" überprüfen, um
+ sicher zu gehen, dass sie auch wirklich telecine sind und nicht einfach
+ interlaced.
+
+
+
+
+ Gemischtes progressive und interlaced
+
+ In "gemischtem progressive und interlaced" Inhalt wurde progressive
+ und interlaced Video zusammengeklebt.
+
+
+
+ Diese Kategorie sieht aus wie "gemischtes progressive und telecine",
+ bis du die Sektion 30000/1001 fps untersuchst und feststellst, dass
+ sie das telecine-Muster nicht haben.
+
+
+
+
+
+
+ Wie jede Kategorie encodieren
+
+ Wie ich anfangs angemerkt hatte, sind die
+ MEncoder-Beispielzeilen unten eigentlich
+ nicht zur Anwendung bestimmt;
+ sie demonstrieren nur die Minimalparameter zur korrekten Encodierung
+ jeder Kategorie.
+
+
+
+ Progressive
+
+ Progressive Video erfordert kein spezielles Filtern, um es zu encodieren.
+ Der einzige Parameter, den du gewiss anwenden solltest ist
+ . Andernfalls wird
+ MEncoder versuchen, bei 30000/1001 fps
+ zu encodieren und Frames duplizieren.
+
+
+
+ mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001
+
+
+
+ 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
+ gemischtes progressive und telecine.
+ zu behandeln. Der Performance-Verlust ist gering
+ [3].
+
+
+
+
+ Telecined
+
+ Telecine kann umgekehrt werden, um den originalen 24000/1001-Inhalt zu erhalten,
+ indem man einen Prozess verwendet, der inverse-telecine genannt wird.
+ MPlayer enthält verschiedene Filter, um dies
+ zu erreichen; der beste Filter, wird in der Sektion
+ Gemischtes progressive und telecine
+ beschrieben.
+
+
+
+
+ Interlaced
+
+
+ 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
+ "schätzen", wie die korrespondierenden Zeilen für jedes Feld
+ vervollständigt werden sollten (dies hat Nachteile - siehe Methode 3).
+
+
+
+
+
+ Das Video in interlaced Form encodieren. Normalerweise richtet Interlacing
+ verheerenden Schaden für die Fähigkeit des Encoders an, gut zu komprimieren,
+ libavcodec hat jedoch zwei
+ eigens für das ein wenig bessere Abspeichern von interlaced Video gedachte
+ Parameter: und . Auch wenn
+ die Verwendung von dringend zu empfehlen ist
+ [2], weil es
+ Macroblöcke wie nicht-interlaced an Stellen encodiert, an denen keine Bewegung
+ stattfindet. Beachte, dass hier NICHT notwendig ist.
+
+ mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2
+
+
+
+
+ Nutze einen Deinterlacing-Filter vor dem Encodieren. Es stehen verschiedene
+ dieser Filter zur Auswahl, jeder mit seinen eigenen Vor-
+ und Nachteilen. Ziehe zu Rate, um zu sehen, welche
+ verfügbar sind (suche nach "deint") und durchsuche die
+
+ MPlayer-Mailinglisten, um Diskussionen über die zahlreichen Filter
+ zu finden. Nochmals, die Framerate wechselt nicht, also kein
+ . Deinterlacing sollte außerdem nach dem Zuschneiden
+ (cropping) [1]
+ und vor dem Skalieren angewandt werden.
+
+ mencoder dvd://1 -oac copy -vf pp=lb -ovc lavc
+
+
+
+
+ Unglücklicherweise arbeitet diese Option im Zusammenhang mit
+ MEncoder fehlerhaft; sie sollte mit
+ MEncoder G2 gut funktionieren, den gibts aber
+ noch nicht. Du könntest Abstürze erleben. Seis drum, der Zweck von
+ 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 verwendet wird,
+ sowohl als auch spezifizieren musst,
+ um die doppelte Framerate der originalen Quelle zu erhalten.
+
+ mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc -fps 60000/1001 -ofps 60000/1001
+
+
+
+
+ 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,
+ zu verwenden, dann die Ränder abzuschneiden
+ [1] und angemessen
+ zu skalieren. Vergiss nicht, dass du die Skalierung anpassen musst, um
+ das Halbieren der vertikalen Auflösung zu kompensieren.
+ mencoder dvd://1 -oac copy -vf field=0 -ovc lavc
+
+
+
+
+
+
+ Gemischtes progressive und telecine
+
+ 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 immer
+ 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
+ [1].
+ wird hier benötigt, weil das Output-Video
+ 24000/1001 Frames pro Sekunde werden soll.
+
+
+
+
+
+ wurde entworfen, um auf telecined Material
+ inverse-telecine anzuwenden, während die progressiven Daten unangetastet
+ bleiben. Damit dies richtig funktioniert, muss
+ vom -Filter gefolgt werden, sonst
+ wird MEncoder abstürzen.
+ ist trotz allem die sauberste und akkurateste
+ Methode, die zum Encodieren von beidem telecine und
+ "gemischtem progressive und telecine" zur Verfügung steht.
+
+ mencoder dvd://1 -oac copy -vf pullup,softskip -ovc lavc -ofps 24000/1001
+
+
+
+
+
+ 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 oder
+ folgen, wird das Endergebnis vollkommen progressiv.
+ wird benötigt.
+
+ mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001
+
+
+
+
+
+ Ich habe selbst verwendet, aber lies hier, was
+ D Richard Felker III zu erzählen hat:
+
+
+
+ Es ist OK, aber IMO versucht er zu oft eher ein deinterlace
+ als ein inverse telecine durchzuführen (ganz wie Settop-DVD-Player
+ & 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.
+
+
+
+
+
+
+
+
+ Gemischtes progressive und interlaced
+
+ 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.
+
+
+
+
+
+ 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.
+
+
+
+ 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 "Frames" werden für die
+ Dauer von drei Feldern (3/(60000/1001) Sekunden) angezeigt, was
+ einen flimmernden "Zeitrücksprung"-Effekt zur Folge hat, der
+ ziemlich schlecht aussieht. Solltest du dies dennoch versuchen,
+ musst du einen
+ Deinterlacing-Filter wie oder
+ anwenden.
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+
+
+ Fußnoten
+
+
+
+ Über das Zuschneiden (cropping):
+
+ 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
+ OK,
+ aber nicht.
+
+
+
+
+ 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
+ Frame sich ein chroma-Pixel teilen, teilen sich
+ immer vier luma-Pixel in jedem Feld 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.
+
+
+
+ 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.
+
+
+
+ Für interlaced (nicht telecined) Video musst du immer
+ mit einem Vielfachen von vier zuschneiden, es sei denn, du verwendest
+ vor dem Schneiden.
+
+
+
+
+ Über Encodier-Parameter und Qualität:
+
+ Nur weil ich hier vorschlage, heißt das nicht,
+ dass es woanders benutzt werden soll. Zusammen mit
+ ist eine der Optionen von
+ libavcodec, 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
+ libavcodec, die die Encodierqualität
+ verbessern (und die Encodiergeschwindigkeit verringern), dies liegt aber jenseits
+ des Rahmens dieses Dokuments.
+
+
+
+
+
+
+ Über die Performance von pullup:
+
+ kann sicher (zusammen mit )
+ 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 MEncoder
+ 50% langsamer. Das Hinzufügen von Soundverarbeitung und erweiterten
+ überschattet diesen Unterschied
+ und drückt den Performanceabfall, der mit dem Verwenden von
+ verbunden war, runter auf 2%.
+
+
+
+
+
+
+
+
+
+
+
+
+ Encodieren mit der libavcodec
+ Codecfamilie
+
+
+ libavcodec
+ stellt einfache Encodierung für eine Menge interessanter Video- und Audioformate
+ zur Verfügung.
+ Du kannst folgende Codecs encodieren (mehr oder weniger aktuell):
+
+
+
+ Videocodecs von libavcodec
+
+
+
+
+
+ Name des VideocodecsBeschreibung
+
+
+ mjpeg
+ Motion-JPEG
+
+ ljpeg
+ Verlustfreies JPEG
+
+ h261
+ H.261
+
+ h263
+ H.263
+
+ h263p
+ H.263+
+
+ mpeg4
+ ISO Standard MPEG-4 (DivX 5, XviD-kompatibel)
+
+ msmpeg4
+ Pre-Standard MPEG-4 Variante von MS, v3 (AKA DivX3)
+
+ msmpeg4v2
+ Pre-Standard MPEG-4 von MS, v2 (in alten ASF-Dateien verwendet)
+
+ wmv1
+ Windows Media Video, Version 1 (AKA WMV7)
+
+ wmv2
+ Windows Media Video, Version 2 (AKA WMV8)
+
+ rv10
+ RealVideo 1.0
+
+ rv20
+ RealVideo 2.0
+
+ mpeg1video
+ MPEG-1 Video
+
+ mpeg2video
+ MPEG-2 Video
+
+ huffyuv
+ Verlustfreie (lossless) Kompression
+
+ asv1
+ ASUS Video v1
+
+ asv2
+ ASUS Video v2
+
+ ffv1
+ FFmpeg's verlustfreier (lossless) Videocodec
+
+ svq1
+ Sorenson Video 1
+
+ flv
+ Sorenson H.263, der in Flash Video benutzt wird
+
+ dvvideo
+ Sony Digital Video
+
+ snow
+ FFmpeg's experimenteller Wavelet-basierter Codec
+
+
+
+
+
+ Die erste Spalte enthält die Codecnamen, die nach der Konfiguration
+ vcodec übergeben werden müssen, wie:
+
+
+
+
+ Ein Beispiel mit MJPEG-Komprimierung:
+ mencoder dvd://2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy
+
+
+
+
+
+ Audiocodecs von libavcodec
+
+
+
+
+ Name des AudiocodecsBeschreibung
+
+
+
+ mp2
+ MPEG Layer 2
+
+
+ ac3
+ AC3, AKA Dolby Digital
+
+
+ adpcm_ima_wav
+ IMA adaptive PCM (4 Bit pro Sample, 4:1-Kompression)
+
+
+ sonic
+ experimenteller verlustbehafteter/verlustfreier Codec
+
+
+
+
+
+ Die erste Spalte enthält die Codecnamen, die nach der Konfiguration
+ acodec übergeben werden müssen, wie:
+
+
+
+
+
+ Ein Beispiel mit AC3-Kompression:
+ mencoder dvd://2 -o title2.avi -oac lavc -lavcopts acodec=ac3 -ovc copy
+
+
+
+
+ Im Gegensatz zu den Videocodecs von libavcodec
+ 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 MEncoder mit
+ libavcodec kompiliert wurde (was
+ meistens der Fall ist) und nicht von externen Programmbibliotheken abhängt.
+
+
+
+
+
+ Encodieroptionen von libavcodec
+
+
+ Idealerweise möchtest du eventuell in der Lage sein, dem Encoder einfach zu sagen,
+ er soll in den "hochqualitativen" 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 ,
+ und nie ausgelassen werden sollten.
+ Siehe unten nach der detaillierten Beschreibung allgemeiner Encodieroptionen.
+
+
+
+
+ Anzupassende Optionen:
+
+
+ vmax_b_frames: 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
+ libavcodec-Option
+ verwendest, du musst jedoch Szenenerkennung deaktivieren, was wiederum keine gute
+ Idee ist, da es die Ecodierungseffizienz etwas angreift.
+
+
+
+
+
+ vb_strategy=1: 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.
+
+
+
+
+
+ dia: 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.
+
+
+
+
+
+ predia: 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.
+
+
+
+
+
+ cmp, subcmp, precmp: 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.
+
+
+
+
+
+ last_pred: 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.
+
+
+
+
+
+ cbp, mv0: Kontrolliert die Auswahl von Macroblöcken.
+ Kleine Geschwindigkeitseinbußen bei kleinem Qualitätsgewinn.
+
+
+
+
+
+ qprd: 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.
+
+
+
+
+
+ qns: 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.
+
+
+
+
+
+ vqcomp: 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).
+
+
+
+
+
+ vlelim, vcelim: 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 "kein Wechsel" 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.
+
+
+
+
+
+ qpel: 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).
+
+
+
+
+
+ psnr: 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.
+
+
+
+
+
+
+ Optionen, mit denen besser nicht herumgespielt werden sollte:
+
+
+ vme: Der Standardwert ist der beste.
+
+
+
+
+
+ lumi_mask, dark_mask: 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.
+
+
+
+
+
+ scplx_mask: Versucht, Blockartefakte
+ zu verhindern, Postprocessing ist aber besser.
+
+
+
+
+
+
+ Beispiele für Encodierungseinstellungen
+
+
+ Die folgenden Einstellungen sind Beispiele verschiedener Kombinationen
+ von Encodierungsoptionen, die den Kompromiss Geschwindigkeit gegenüber
+ Qualität bei gleicher Zielbitrate beeinflussen.
+
+
+
+ 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 "sehr hohe Qualität".
+ Bitte habe Verständnis, dass du abhängig von deiner Quelldatei,
+ deinem Rechnertyp und Entwicklungsfortschritten sehr unterschiedliche
+ Resultate erzielen wirst.
+
+
+
+
+
+
+ BeschreibungEncodieroptionenGeschwindigkeit (in fps)Relativer PSNR-Verlust (in dB)
+
+
+
+ Sehr hohe Qualität
+
+ 6fps
+ 0dB
+
+
+ Hohe Qualität
+
+ 15fps
+ -0.5dB
+
+
+ Schnell
+
+ 42fps
+ -0.74dB
+
+
+ Echtzeit
+
+ 54fps
+ -1.21dB
+
+
+
+
+
+
+
+ Maßgeschneiderte inter/intra-Matrizen
+
+
+ Mit diesem Feature von libavcodec
+ 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:
+ mpeg1video und mpeg2video
+ sollen damit funktionieren.
+
+
+
+ Eine typische Anwendung dieses Features ist, die von den
+ KVCD-Specifikationen
+ bevorzugten Matrizen zu setzen.
+
+
+
+ Die KVCD "Notch" Quantisierungsmatrix:
+
+
+
+ Intra:
+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:
-
-16 18 20 22 24 26 28 30
+34 37 38 40 48 58 69 79
+
+ Inter:
+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
-
-
-
-
-Anwendung:
-
-$ mencoder input.avi -o output.avi -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=...
-
-
-
-
-
-$ mencoder input.avi -ovc lavc -lavcopts
+30 32 34 36 38 40 42 44
+
+
+
+ Anwendung:
+ $ mencoder input.avi -o output.avi -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=...
+
+
+
+$ mencoder input.avi -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
-
-
-
-
-
-
-Beispiel
-
-
- 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
- weglässt (weil die Ausgabeframerate die
- gleiche ist wie die Eingabeframerate), und logischerweise werden die
- Ausschnittsabmessungen anders sein.
-
-
-
- Nach dem Start von , verfolgen wir den
- detailliert in der Sektion Wie mit telecine
- und interlacing in NTSC-DVDs umgehen beschriebenen Prozess und
- entdecken, dass es progressive Video mit 24000/1001 fps ist, was bedeutet, dass
- wir keinen inverse telecine-Filter wie oder
- anwenden müssen.
-
-
-
- Als Nächstes wollen wir das passende Ausschnittsrechteck bestimmen, also
- verwenden wir den crop-Erkennungsfilter:
-
- mplayer dvd://1 -vf cropdetect
-
- Stelle sicher, dass du einen voll gefüllten Frame anstrebst (wie zum
- Beispiel eine helle Szene), und dass du diese Ausgabe in
- MPlayers Konsole siehst:
-
- crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)
-
- Wir spielen den Film dann mit diesem Filter ab, um seine Korrektheit zu testen:
-
- mplayer dvd://1 -vf crop=720:362:0:58
-
- 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).
-
-
-
- Wir könnten einfach 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:
-
- mplayer dvd://1 -vf crop=720:352:0:62
-
- 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 -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.)
-
-
-
- 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:
-
- -vf crop=720:362:0:58,scale=720:352
-
- 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.
-
-
-
- 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.
-
-
-
- Wir sind nun bereit, die 2-pass Encodierung durchzuführen. Erster Durchlauf:
-
- 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
-
- Und der zweite Durchlauf ist derselbe, außer dass wir
- festlegen:
-
- 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
-
-
-
- Die Optionen 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
- 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 libavcodec zu
- viele Blockartefakte produziert, könntest du ja das experimentelle
- NSSE als Vergleichsfunktion via wählen.
-
-
-
- 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.
-
-
-
- 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
- verbessert die Wahrnehmung der Qualität drastisch und hilft dabei,
- blockhafte Artefakte aus dem Video zu eliminieren.
- Mit MPlayers 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:
-
- mplayer Harry_Potter_2.avi -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3
-
-
-
-
-
-
-
-Encodieren mit dem XviD-Codec
-
- XviD ist eine freie
- Programmbibliothek zum Encodieren von MPEG-4 ASP-Videostreams.
- Bevor du mit zu encodieren beginnst, musst du
- MEncoder so einstellen, dass er es unterstützt.
-
-
- Dieses Handbuch beabsichtigt, sich vorwiegend durch dieselbe Art von
- Informationen auszuzeichnen wie x264's Encodier-Handbuch.
- Beginne deshalb damit,
- den ersten Teil
- dieses Handbuchs zu lesen.
-
-
-
-
-Welche Optionen sollte ich verwenden, um die besten Resultate zu erzielen?
-
-
- Bitte beginne mit der Durchsicht der
- XviD-Sektion von
- MPlayers Manpage.
- Diese Sektion ist als Ergänzung zur Manpage zu verstehen.
-
-
- 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.
-
-
-
-
-Encodieroptionen von XviD
-
-
-
- vhq
- 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.
-
-
-
- bvhq
- 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).
-
-
-
- max_bframes
- 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.
-
-
-
- bf_threshold
- 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
- verwendet werden; bist du Bitraten-hungrig, solltest du beides erhöhen,
- und ,
- während du erhöhen und
- verringern kannst, sodass der Encoder
- B-Frames nur an Stellen anwendet, die diese auch
- wirklich brauchen.
- Eine niedrigere Zahl an und ein höherer Wert
- bei 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.
-
-
-
- trellis
- 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
- und alle anderen CPU-hungrigeren Optionen auf
- ein Minimum heruntergesetzt hast.
-
-
-
- hq_ac
- 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.
-
-
-
- cartoon
- 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.
-
-
-
- me_quality
- Diese Einstellung ist da, um die Präzision der Bewegungseinschätzung zu
- kontrollieren.
- Je höher , desto präziser wird die Schätzung
- der Originalbewegung sein, und desto besser wird der resultierende Ausschnitt
- die Originalbewegung einfangen.
-
-
- 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.
-
-
-
- chroma_me
- Verbessert die Bewegungsabschätzung dadurch, dass auch die
- chroma-(Farb)-Informationen einbezogen werden, wobei
- 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,
- zu reduzieren.
-
-
-
- chroma_opt
- 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 "Rote Stufen"-Effekt zu reduzieren.
-
-
-
- lumi_mask
- 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).
-
-
-
- qpel
- 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
- vorzuaussagen, also musst du eigentlich
- mit und ohne encodieren, um sicher zu gehen.
-
- 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.
-
-
-
- gmc
- 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
- auf das Maximum gestellt hast.
- XviDs GMC ist höher
- entwickelt als das von DivX, wird aber nur von ein paar
- Standalone-Playern unterstützt.
-
-
-
-
-
-
-Encodierung Profile
-
- XviD unterstützt Encodierungsprofile über die 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.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Einfach
- Einfach erweitert
- DivX
-
-
- Profilname
- 0
- 1
- 2
- 3
- 0
- 1
- 2
- 3
- 4
- 5
- Handheld
- Portable NTSC
- Portable PAL
- Home Theater NTSC
- Home Theater PAL
- HDTV
-
-
- Breite [Pixel]
- 176
- 176
- 352
- 352
- 176
- 176
- 352
- 352
- 352
- 720
- 176
- 352
- 352
- 720
- 720
- 1280
-
-
- Höhe [Pixel]
- 144
- 144
- 288
- 288
- 144
- 144
- 288
- 288
- 576
- 576
- 144
- 240
- 288
- 480
- 576
- 720
-
-
- Framerate [fps]
- 15
- 15
- 15
- 15
- 30
- 30
- 15
- 30
- 30
- 30
- 15
- 30
- 25
- 30
- 25
- 30
-
-
- Max. mittlere Bitrate [kbps]
- 64
- 64
- 128
- 384
- 128
- 128
- 384
- 768
- 3000
- 8000
- 537.6
- 4854
- 4854
- 4854
- 4854
- 9708.4
-
-
- Höchstwert mittlere Bitrate über 3 Sek. [kbps]
-
-
-
-
-
-
-
-
-
-
- 800
- 8000
- 8000
- 8000
- 8000
- 16000
-
-
- Max. B-Frames
- 0
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 1
- 1
- 1
- 1
- 2
-
-
- MPEG-Quantisierung
-
-
-
-
- X
- X
- X
- X
- X
- X
-
-
-
-
-
-
-
-
- Adaptive Quantisierung
-
-
-
-
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
-
-
- Interlaced Encodierung
-
-
-
-
- X
- X
- X
- X
- X
- X
-
-
-
- X
- X
- X
-
-
- Viertelpixel
-
-
-
-
- X
- X
- X
- X
- X
- X
-
-
-
-
-
-
-
-
- Globale Bewegungskompensierung
-
-
-
-
- X
- X
- X
- X
- X
- X
-
-
-
-
-
-
-
-
-
-
-
-
-
-Encodierungseinstellungen Beispiele
-
-
- Die folgenden Einstellungen sind Beispiele unterschiedlicher
- Kombinationen von Encodierungsoptionen, die den Kompromiss
- zwischen Geschwindigkeit gegenüber Qualität bei gleicher
- Zielbitrate betreffen.
-
-
-
- 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 "sehr hohe Qualität".
- Bitte hab Verständnis, dass du abhängig von deiner Quelldatei,
- deinem Rechnertyp und Entwicklungsfortschritten sehr unterschiedliche
- Resultate erzielen wirst.
-
-
-
-
-
-
-BeschreibungEncodieroptionenGeschwindigkeit (in fps)Relativer PSNR-Verlust (in dB)
-
-
-
- Sehr hohe Qualität
-
- 16fps
- 0dB
-
-
- Hohe Qualität
-
- 18fps
- -0.1dB
-
-
- Schnell
-
- 28fps
- -0.69dB
-
-
- Echtzeit
-
- 38fps
- -1.48dB
-
-
-
-
-
-
-
-
-
-
-Encodieren mit dem x264-Codec
-
- x264 ist eine freie
- Programmbibliothek zum Encodieren von H.264/AVC-Videostreams.
- Bevor du mit zu encodieren beginnst, musst du
- MEncoder so einstellen, dass er es unterstützt.
-
-
-
-Encodieroptionen von x264
-
-
- Bitte beginne mit der Durchsicht der
- x264-Sektion von
- MPlayers 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.
-
-
-
-Einführung
-Dieses Handbuch berücksichtigt zwei Hauptkategorien der Encodieroptionen:
-
-
- Optionen, die hauptsächlich Encodierdauer gegenüber Qualität
- abwägen
-
- Optionen, die zur Erfüllung zahlreicher persönlicher
- Vorlieben und spezieller Anforderungen nützlich sind
-
-
-
- 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
- "persönliche Vorlieben und spezielle Anforderungen"
- 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 "persönliche Vorlieben" können sogar Änderungen
- verursachen, die für manche Leute besser aussehen aber schlechter
- für andere.
-
-
-
- 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
- den Wikipedia-Artikel zu PSNR
- an.
- Globaler PSNR ist die letzte gemeldete PSNR-Nummer, wenn du die
- Option in
- einbindest.
- Jedesmal wenn du eine Forderung nach PSNR liest, ist eine der Annahmen
- hinter dieser Forderung, dass gleiche Bitraten verwendet werden.
-
-
-
- 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.
-
-
-
-
-
-Optionen die primär Geschwindigkeit und Qualität betreffen
-
-
-
- subq:
- Von den Optionen, die dir erlauben, einen Kompromiss zwischen
- Geschwindigkeit und Qualität einzugehen, sind
- und (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
- und ziemlich stark
- miteinander.
- Die Erfahrung zeigt, dass mit einem Referenzframe
- (die Standardeinstellung) das ganze etwa 35% mehr Zeit in Anspruch nimmt als
- .
- Mit 6 Referenzframes wächst der Nachteil auf 60%.
- Der Effekt, den auf den PSNR ausübt, scheint ziemlich
- konstant zu sein, ungeachtet der Anzahl der Referenzframes.
- Typischerweise erreicht einen 0.2-0.5 dB höheren globalen
- PSNR im Vergleich zu .
- Dies ist gewöhnlich ausreichend, um sichtbar zu werden.
-
-
- ist der langsamste Modus mit der höchsten
- Qualität.
- Im Vergleich zu 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 hängt das
- Verhalten von nicht sehr von
- und ab. Statt dessen hängt die Effektivität von
- größtenteils von der Anzahl der verwendeten
- B-Frames ab. Im Normalgebrauch bedeutet dies,
- 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,
- immer auf etwas anderes als null
- zu setzen (siehe unten).
-
-
- frameref:
- 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 auf 2 bringt rund
- 0.15dB PSNR mit einem Geschwindigkeitsnachteil von 5-10%; dies sieht nach
- einem guten Kompromiss aus.
- bringt rund 0.25dB PSNR mehr als
- , was einen sichtbaren Unterschied machen
- sollte.
- ist rund 15% langsamer als
- .
- Leider setzen vermindernde Rückgaben schnell ein.
- kann erwartungsgemäß nur
- 0.05-0.1 dB mehr als bei zusätzlichen
- 15% Geschwindigkeitsnachteil.
- Oberhalb 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
- den globalen PSNR um ein bisschen mehr als 0.02dB gegenüber
- verbessern, bei Geschwindigkeitseinbußen
- von 15%-20%.
- Bei so hohen -Werten ist das wirklich
- einzig Gute, dass man sagen kann, dass ein weiteres Anheben dieses
- Wertes ziemlich sicher nie den PSNR schädigen
- wird, jedoch sind zusätzliche Qualitätsvorteile sogar kaum messbar,
- geschweige denn wahrnehmbar.
-
-Beachte:
-
- Das Erhöhen von auf unnötig hohe Werte
- kann und
- tut dies üblicherweise auch
- die Codiereffizienz schädigen, wenn du CABAC ausschaltest.
- Mit eingeschaltetem CABAC (das Standardverhalten) scheint die
- Möglichkeit, "zu hoch"
- 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.
-
-
-
- Wenn du auf Geschwindigkeit abzielst, ist ein vernünftiger
- Kompromiss, im ersten Durchgang niedrigere - und
- -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
- 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 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 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.
-
-
-
- me:
- 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.
- ist nur ein paar Prozent schneller als
- die Standardsuche, auf Kosten von unter 0.1dB globalem PSNR. Die
- Standardeinstellung () ist ein angemessener
- Kompromiss zwischen Qualität und Geschwindigkeit.
- bringt ein wenig unter 0.1dB globalem PSNR,
- mit Geschwindigkeitsnachteil, der abhängig von
- variiert. Bei hohen -Werten (z.B. 12 oder so)
- ist etwa 40% langsamer als die Standardeinstellung
- . Mit fällt der
- Geschwindigkeitsnachteil auf 25%-30%.
-
-
- verwendet eine gründliche, für die praktische
- Anwendung zu langsame Suche.
-
-
-
-
- 4x4mv:
- 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.
-
-
-
-
- bframes:
- 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.
-
-
- Mit deaktivierter adaptiver B-Framebestimmung
- ( von )
- ist der optimale Wert für diese Einstellung normalerweise nicht
- mehr als , 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.
-
-
-
- b_adapt:
- Beachte: Dies ist standardmäßig eingeschaltet.
-
-
- 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 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.
- und haben keinen
- Effekt auf nachfolgende Durchgänge.
-
-
-
- b_pyramid:
- 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.
-
-
-
- weight_b:
- 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.
-
-
- 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,
- zu deinen x264encopts hinzuzufügen, falls
- du erwartest, dass Fades einen großen Effekt in deinem jeweiligen
- Videoclip erzeugen.
-
-
-
-
-
-Diverse Eigenschaften betreffende Optionen
-
-
- 2-pass-Encodierung:
- 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.
-
-
- 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 "Fehler" 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 "Fehlerperiode" 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.
-
-
- 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 unten für einige Ideen darüber, wie man
- diese Zuweisungen nach seinem Geschmack optimiert.
-
-
- 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 zu
- des ersten Durchgangs hinzuzufügen.
- Verwende dann im zweiten Durchgang langsamere, hochwertigere Optionen:
-
-
-
- Encodierung mit drei Durchgängen?
-
- x264 bietet die Möglichkeit, eine beliebige Anzahl aufeinander folgender
- Durchgänge auszuführen. Wenn du im ersten Durchgang
- spezifizierst, dann verwende 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.
-
-
- qcomp:
- wägt die Anzahl der für "aufwändige" Frames
- mit viel Bewegung vorgesehenen Bits gegen die für "weniger aufwändige"
- Frames mit wenig Bewegung ab.
- Bei einem Extrem zielt 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 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.
- 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).
-
-
- keyint:
- ist einzig und allein zur Abwägung der
- Durchsuchbarkeit der Datei gegenüber der Codiereffiziez da.
- Als Standardwert ist 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 ;
- 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.
-
-
- deblockalpha, deblockbeta:
- Dieses Thema ist im Begriff etwas kontrovers zu geraten.
-
-
- 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 - und
- -Parameter erlauben dir, Offsets festzulegen,
- um Deblocking-Schwellen voreinzustellen.
-
-
- 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.
-
-
- 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.
-
-
- 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.
-
-
-
- Dies rechtfertigt jedoch nach wie vor
- 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
- beim Abspielen des encodierten Films
- herumzuspielen.
- 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.
-
-
-
-
-
-
-Beispiele für Encodieroptionen
-
-
- Die folgenden Einstellungen sind Beispiele unterschiedlicher
- Kombinationen von Encodier-Optionen, die einen Kompromiss zwischen
- Geschwindigkeit und Qualität bei gleicher Zielbitrate darstellen.
-
-
-
- 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 "sehr
- hochwertigen" Einstellung aus.
- Bitte hab dafür Verständnis, dass du abhängig von deiner Quelle, deinem
- Rechnertyp und Entwicklungsfortschritten sehr unterschiedliche Resultate
- erhalten kannst.
-
-
-
-
-
-
-BeschreibungEncodier-OptionenGeschwindigkeit (in fps)Relativer PSNR-Verlust (in dB)
-
-
-
- Sehr hohe Qualität
-
- 6fps
- 0dB
-
-
- Hohe Qualität
-
- 13fps
- -0.89dB
-
-
- Schnell
-
- 17fps
- -1.48dB
-
-
-
-
-
-
-
-
-
-
-Encodieren mit der Video for Windows Codecfamilie
-
-
- 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!)
-
-
- 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
- und ,
- falls ein Codec versagt oder einen falschen Output liefert.
-
-
-
-Von Video for Windows unterstützte Codecs
-
-
-
-
-
-
-Video-Codec Dateiname
-Beschreibung (FourCC)
-md5sum
-Kommentar
-
-
-
-
- aslcodec_vfw.dll
- Alparysoft verlustfreier (lossless) Codec vfw (ASLC)
- 608af234a6ea4d90cdc7246af5f3f29a
-
-
-
- avimszh.dll
- AVImszh (MSZH)
- 253118fe1eedea04a95ed6e5f4c28878
- needs
-
-
- avizlib.dll
- AVIzlib (ZLIB)
- 2f1cc76bbcf6d77d40d0e23392fa8eda
-
-
-
- divx.dll
- DivX4Windows-VFW
- acf35b2fc004a89c829531555d73f1e6
-
-
-
- huffyuv.dll
- HuffYUV verlustfrei (lossless) (HFYU)
- b74695b50230be4a6ef2c4293a58ac3b
-
-
-
- iccvid.dll
- Cinepak Video (cvid)
- cb3b7ee47ba7dbb3d23d34e274895133
-
-
-
- icmw_32.dll
- Motion Wavelets (MWV1)
- c9618a8fc73ce219ba918e3e09e227f2
-
-
-
- jp2avi.dll
- ImagePower MJPEG2000 (IPJ2)
- d860a11766da0d0ea064672c6833768b
-
-
-
- m3jp2k32.dll
- Morgan MJPEG2000 (MJ2C)
- f3c174edcbaef7cb947d6357cdfde7ff
-
-
-
- m3jpeg32.dll
- Morgan Motion JPEG Codec (MJPG)
- 1cd13fff5960aa2aae43790242c323b1
-
-
-
- mpg4c32.dll
- Microsoft MPEG-4 v1/v2
- b5791ea23f33010d37ab8314681f1256
-
-
-
- tsccvid.dll
- TechSmith Camtasia Screen Codec (TSCC)
- 8230d8560c41d444f249802a2700d1d5
-
-
-
- vp31vfw.dll
- On2 Open Source VP3 Codec (VP31)
- 845f3590ea489e2e45e876ab107ee7d2
-
-
-
- vp4vfw.dll
- On2 VP4 Personal Codec (VP40)
- fc5480a482ccc594c2898dcc4188b58f
-
-
-
- vp6vfw.dll
- On2 VP6 Personal Codec (VP60)
- 04d635a364243013898fd09484f913fb
- stürzt unter Linux ab
-
-
- vp7vfw.dll
- On2 VP7 Personal Codec (VP70)
- cb4cc3d4ea7c94a35f1d81c3d750bc8d
- falscher FourCC?
-
-
- ViVD2.dll
- SoftMedia ViVD V2 Codec VfW (GXVE)
- a7b4bf5cac630bb9262c3f80d8a773a1
-
-
-
-
-
-
-Die erste Spalte enthält die Codec-Namen, die nach dem Parameter
-codec übergeben werden sollten, wie:
-.
-Der FourCC-Code, der von jedem Codec verwendet wird, steht in Klammern.
-
-
-
-Ein Beispiel mit VP3-Kompression:
-mencoder dvd://2 -o title2.avi -ovc vfw -xvfwopts codec=vp31vfw.dll -oac copy
-
-
-
-
-
-
-
-Verwenden des MEncoder zum Erzeugen VCD/SVCD/DVD-konformer Dateien.
-
-
-Formatbeschränkungen
-
- MEncoder ist in der Lage, MPEG-Dateien im VCD-, SCVD-
- und DVD-Format durch Verwendung der
- libavcodec-Programmbibliothek
- zu erzeugen.
- Diese Dateien können danach im Zusammenhang mit
- vcdimager
- oder
- dvdauthor
- zum Erzeugen von Disks verwendet werden, die auf einem Standard Set-Top-Player
- abgespielt werden können.
-
-
-
- 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.
-
-
-
-Formatbeschränkungen
-
-
-
-
-
- Format
- Auflösung
- V. Codec
- V. Bitrate
- Samplerate
- A. Codec
- A. Bitrate
- FPS
- Seitenverhältnis
-
-
-
-
- NTSC DVD
- 720x480, 704x480, 352x480, 352x240
- MPEG-2
- 9800 kbps
- 48000 Hz
- AC3,PCM
- 1536 kbps (max)
- 30000/1001, 24000/1001
- 4:3, 16:9 (nur für 720x480)
-
-
- NTSC DVD
- 352x240
- Diese Auflösungen werden selten für DVDs verwendet, da sie von
- ziemlch niedriger Qualität sind.
- MPEG-1
- 1856 kbps
- 48000 Hz
- AC3,PCM
- 1536 kbps (max)
- 30000/1001, 24000/1001
- 4:3, 16:9
-
-
- NTSC SVCD
- 480x480
- MPEG-2
- 2600 kbps
- 44100 Hz
- MP2
- 384 kbps (max)
- 30000/1001
- 4:3
-
-
- NTSC VCD
- 352x240
- MPEG-1
- 1150 kbps
- 44100 Hz
- MP2
- 224 kbps
- 24000/1001, 30000/1001
- 4:3
-
-
- PAL DVD
- 720x576, 704x576, 352x576, 352x288
- MPEG-2
- 9800 kbps
- 48000 Hz
- MP2,AC3,PCM
- 1536 kbps (max)
- 25
- 4:3, 16:9 (nur für 720x576)
-
-
- PAL DVD
- 352x288
- MPEG-1
- 1856 kbps
- 48000 Hz
- MP2,AC3,PCM
- 1536 kbps (max)
- 25
- 4:3, 16:9
-
-
- PAL SVCD
- 480x576
- MPEG-2
- 2600 kbps
- 44100 Hz
- MP2
- 384 kbps (max)
- 25
- 4:3
-
-
- PAL VCD
- 352x288
- MPEG-1
- 1152 kbps
- 44100 Hz
- MP2
- 224 kbps
- 25
- 4:3
-
-
-
-
-
-
- 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.
-
-
-
-
-GOP-Größenbeschränkungen
-
- 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 gesetzt.
-
-
-
-
-Bitraten-Beschränkungen
-
- 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.
-
-
-
-
-
-Output-Optionen
-
- MEncoder besitzt Optionen zur Kontrolle des
- Output-Formats.
- Durch das Verwenden dieser Optionen können wir ihn anweisen, den
- korrekten Dateityp zu erzeugen.
-
-
-
- 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
- vcdimager
- übergeben.
-
-
-
- VCD:
-
- -of mpeg -mpegopts format=xvcd
-
-
-
-
- SVCD:
-
- -of mpeg -mpegopts format=xsvcd
-
-
-
-
- DVD:
-
- -of mpeg -mpegopts format=dvd
-
-
-
-
- DVD mit NTSC-Pullup:
-
- -of mpeg -mpegopts format=dvd:telecine -ofps 24000/1001
-
- Dies erlaubt 24000/1001 fps progressive-Inhalt bei 30000/1001
- fps encodiert zu werden, wobei die DVD-Konformität erhalten bleibt.
-
-
-
-Seitenverhältnis
-
- Der Parameter für das Seitenverhältnis von 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.
-
-
-
- 16:9 oder "Breitbild"
-
- -lavcopts aspect=16/9
-
-
-
-
- 4:3 oder "Vollbild"
-
- -lavcopts aspect=4/3
-
-
-
-
- 2.35:1 oder "Cinemascope" NTSC
-
- -vf scale=720:368,expand=720:480 -lavcopts aspect=16/9
-
- Um die korrekte Skalierungsgröße zu berechnen, verwende die
- erweiterte NTSC-Breite von 854/2.35 = 368
-
-
-
- 2.35:1 oder "Cinemascope" PAL
-
- -vf scale="720:432,expand=720:576 -lavcopts aspect=16/9
-
- Um die korrekte Skalierungsgröße zu berechnen, verwende die
- erweiterte PAL-Breite von 1024/2.35 = 432
-
-
-
-
-
-Aufrechterhalten der A/V-Synchronisation
-
- Um die Audio-/Video-Synchronisation während der kompletten
- Encodierung aufrechtzuerhalten, muss
- MEncoder 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
- -Video-Filter am Ende der Filterkette anzuhängen,
- um diese Art Problem zu vermeiden.
- Du findest mehr technische Informationen zu
- im Abschnitt
- Verbessern der Mux- und A/V-Synchronisationszuverlässigkeit
- oder in der Manpage.
-
-
-
-
-Sampleraten-Konvertierung
-
- 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 und
- den Audio-Filter zusammen
- anwedet.
-
-
- DVD:
-
- -srate 48000 -af lavcresample=48000
-
-
-
- VCD und SVCD:
-
- -srate 44100 -af lavcresample=44100
-
-
-
-
-
-
-Verwenden des libavcodec zur VCD/SVCD/DVD-Encodierung
-
-
-Einführung
-
- libavcodec kann verwendet
- werden, um ein VCD/SVCD/DVD-konformes Video durch die Anwendung der
- passenden Optionen zu erzeugen.
-
-
-
-
-lavcopts
-
- Dies ist eine Liste von Feldern in , die du
- möglicherweise ändern musst, um einen für VCD, SVCD
- oder DVD konformen Film herzustellen:
-
-
-
-
- acodec:
- für VCD, SVCD oder PAL DVD;
- 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.
-
-
-
- abitrate:
- 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.
-
-
-
- vcodec:
- für VCD;
- für SVCD;
- wird gewöhnlich für DVD verwendet, man kann aber auch
- für CIF-Auflösungen verwenden.
-
-
-
- keyint:
- 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 von 25 sollte nie irgendwelche Probleme machen.
-
-
-
- vrc_buf_size:
- 327 für VCD, 917 für SVCD und 1835 für DVD.
-
-
-
- vrc_minrate:
- 1152 für VCD. kann für SVCD und DVD so gelassen werden.
-
-
-
- vrc_maxrate:
- 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.
-
-
-
- vbitrate:
- 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.
-
-
-
-
-
-Beispiele
-
- Dies ist eine typische Zusammenstellung von mindestens zu verwendenden
- -Optionen zum Encodieren eines Videos:
-
-
- VCD:
-
- -lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
- vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2
-
-
-
-
- SVCD:
-
- -lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
- keyint=15:acodec=mp2
-
-
-
-
- DVD:
-
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
- keyint=15:acodec=ac3
-
-
-
-
-
-
-Erweiterte Optionen
-
- Für das Encodieren höherer Qualität könntest du auch qualitätssteigernde
- Optionen an lavcopts anfügen, wie etwa ,
- und weitere.
- Beachte, dass und , 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, 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:
-
-
-
-
- -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
-
-
-
-
-
-
-
-Encodieren von Audio
-
- VCD und SVCD unterstützen MPEG-1 Layer II Audio, indem sie einen
- MP2-Encoder von
- toolame,
- twolame,
- oder libavcodec
- 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.
-
-
-
- Für DVD-Audio wird der AC3-Codec von
- libavcodec
- verwendet.
-
-
-
-toolame
-
- Für VCD und SVCD:
-
- -oac toolame -toolameopts br=224
-
-
-
-
-
-twolame
-
- Für VCD und SVCD:
-
- -oac twolame -twolameopts br=224
-
-
-
-
-
-libavcodec
-
- Für DVD mit 2-Kanal-Sound:
-
- -oac lavc -lavcopts acodec=ac3:abitrate=192
-
-
-
- Für DVD mit 5.1-Kanal-Sound:
-
- -channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384
-
-
-
- Für VCD und SVCD:
-
- -oac lavc -lavcopts acodec=mp2:abitrate=224
-
-
-
-
-
-
-
-Zusammenfassung
-
- Diese Sektion zeigt einige komplette Befehle zum Erzeugen von
- VCD/SVCD/DVD-konformen Videos.
-
-
-
-PAL DVD
-
-
- 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 movie.mpgmovie.avi
-
-
-
-
-
-NTSC DVD
-
-
- 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
+
+
+
+
+
+ Beispiel
+
+
+ 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
+ weglässt (weil die Ausgabeframerate die
+ gleiche ist wie die Eingabeframerate), und logischerweise werden die
+ Ausschnittsabmessungen anders sein.
+
+
+
+ Nach dem Start von , verfolgen wir den
+ detailliert in der Sektion Wie mit telecine
+ und interlacing in NTSC-DVDs umgehen beschriebenen Prozess und
+ entdecken, dass es progressive Video mit 24000/1001 fps ist, was bedeutet, dass
+ wir keinen inverse telecine-Filter wie oder
+ anwenden müssen.
+
+
+
+ Als Nächstes wollen wir das passende Ausschnittsrechteck bestimmen, also
+ verwenden wir den crop-Erkennungsfilter:
+
+ mplayer dvd://1 -vf cropdetect
+
+ Stelle sicher, dass du einen voll gefüllten Frame anstrebst (wie zum
+ Beispiel eine helle Szene), und dass du diese Ausgabe in
+ MPlayers Konsole siehst:
+
+ crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)
+
+ Wir spielen den Film dann mit diesem Filter ab, um seine Korrektheit zu testen:
+
+ mplayer dvd://1 -vf crop=720:362:0:58
+
+ 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).
+
+
+
+ Wir könnten einfach 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:
+
+ mplayer dvd://1 -vf crop=720:352:0:62
+
+ 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 -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.)
+
+
+
+ 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:
+
+ -vf crop=720:362:0:58,scale=720:352
+
+ 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.
+
+
+
+ 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.
+
+
+
+ Wir sind nun bereit, die 2-pass Encodierung durchzuführen. Erster Durchlauf:
+
+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
+
+ Und der zweite Durchlauf ist derselbe, außer dass wir
+ festlegen:
+
+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
+
+
+
+ Die Optionen 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
+ 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 libavcodec zu
+ viele Blockartefakte produziert, könntest du ja das experimentelle
+ NSSE als Vergleichsfunktion via wählen.
+
+
+
+ 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.
+
+
+
+ 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
+ verbessert die Wahrnehmung der Qualität drastisch und hilft dabei,
+ blockhafte Artefakte aus dem Video zu eliminieren.
+ Mit MPlayers 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:
+
+ mplayer Harry_Potter_2.avi -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3
+
+
+
+
+
+
+
+ Encodieren mit dem XviD-Codec
+
+
+ XviD ist eine freie
+ Programmbibliothek zum Encodieren von MPEG-4 ASP-Videostreams.
+ Bevor du mit zu encodieren beginnst, musst du
+ MEncoder so einstellen, dass er es unterstützt.
+
+
+
+ Dieses Handbuch beabsichtigt, sich vorwiegend durch dieselbe Art von
+ Informationen auszuzeichnen wie x264's Encodier-Handbuch.
+ Beginne deshalb damit,
+ den ersten Teil
+ dieses Handbuchs zu lesen.
+
+
+
+
+ Welche Optionen sollte ich verwenden, um die besten Resultate zu erzielen?
+
+
+ Bitte beginne mit der Durchsicht der
+ XviD-Sektion von
+ MPlayers Manpage.
+ Diese Sektion ist als Ergänzung zur Manpage zu verstehen.
+
+
+
+ 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.
+
+
+
+
+ Encodieroptionen von XviD
+
+
+
+
+ vhq
+ 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.
+
+
+
+
+
+ bvhq
+ 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).
+
+
+
+
+
+ max_bframes
+ 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.
+
+
+
+
+
+ bf_threshold
+ 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
+ verwendet werden; bist du Bitraten-hungrig, solltest du beides erhöhen,
+ und ,
+ während du erhöhen und
+ verringern kannst, sodass der Encoder
+ B-Frames nur an Stellen anwendet, die diese auch
+ wirklich brauchen.
+ Eine niedrigere Zahl an und ein höherer Wert
+ bei 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.
+
+
+
+
+
+ trellis
+ 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
+ und alle anderen CPU-hungrigeren Optionen auf
+ ein Minimum heruntergesetzt hast.
+
+
+
+
+
+ hq_ac
+ 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.
+
+
+
+
+
+ cartoon
+ 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.
+
+
+
+
+
+ me_quality
+ Diese Einstellung ist da, um die Präzision der Bewegungseinschätzung zu
+ kontrollieren.
+ Je höher , desto präziser wird die Schätzung
+ der Originalbewegung sein, und desto besser wird der resultierende Ausschnitt
+ die Originalbewegung einfangen.
+
+
+
+ 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.
+
+
+
+
+
+ chroma_me
+ Verbessert die Bewegungsabschätzung dadurch, dass auch die
+ chroma-(Farb)-Informationen einbezogen werden, wobei
+ 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,
+ zu reduzieren.
+
+
+
+
+
+ chroma_opt
+ 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 "Rote Stufen"-Effekt zu reduzieren.
+
+
+
+
+
+ lumi_mask
+ 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).
+
+
+
+
+
+ qpel
+ 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
+ vorzuaussagen, also musst du eigentlich
+ mit und ohne encodieren, um sicher zu gehen.
+
+
+ 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.
+
+
+
+
+
+ gmc
+ 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
+ auf das Maximum gestellt hast.
+ XviDs GMC ist höher
+ entwickelt als das von DivX, wird aber nur von ein paar
+ Standalone-Playern unterstützt.
+
+
+
+
+
+
+
+ Encodierung Profile
+
+ XviD unterstützt Encodierungsprofile über die 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.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Einfach
+ Einfach erweitert
+ DivX
+
+
+ Profilname
+ 0
+ 1
+ 2
+ 3
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ Handheld
+ Portable NTSC
+ Portable PAL
+ Home Theater NTSC
+ Home Theater PAL
+ HDTV
+
+
+ Breite [Pixel]
+ 176
+ 176
+ 352
+ 352
+ 176
+ 176
+ 352
+ 352
+ 352
+ 720
+ 176
+ 352
+ 352
+ 720
+ 720
+ 1280
+
+
+ Höhe [Pixel]
+ 144
+ 144
+ 288
+ 288
+ 144
+ 144
+ 288
+ 288
+ 576
+ 576
+ 144
+ 240
+ 288
+ 480
+ 576
+ 720
+
+
+ Framerate [fps]
+ 15
+ 15
+ 15
+ 15
+ 30
+ 30
+ 15
+ 30
+ 30
+ 30
+ 15
+ 30
+ 25
+ 30
+ 25
+ 30
+
+
+ Max. mittlere Bitrate [kbps]
+ 64
+ 64
+ 128
+ 384
+ 128
+ 128
+ 384
+ 768
+ 3000
+ 8000
+ 537.6
+ 4854
+ 4854
+ 4854
+ 4854
+ 9708.4
+
+
+ Höchstwert mittlere Bitrate über 3 Sek. [kbps]
+
+
+
+
+
+
+
+
+
+
+ 800
+ 8000
+ 8000
+ 8000
+ 8000
+ 16000
+
+
+ Max. B-Frames
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 2
+
+
+ MPEG-Quantisierung
+
+
+
+
+ X
+ X
+ X
+ X
+ X
+ X
+
+
+
+
+
+
+
+
+ Adaptive Quantisierung
+
+
+
+
+ X
+ X
+ X
+ X
+ X
+ X
+ X
+ X
+ X
+ X
+ X
+ X
+
+
+ Interlaced Encodierung
+
+
+
+
+ X
+ X
+ X
+ X
+ X
+ X
+
+
+
+ X
+ X
+ X
+
+
+ Viertelpixel
+
+
+
+
+ X
+ X
+ X
+ X
+ X
+ X
+
+
+
+
+
+
+
+
+ Globale Bewegungskompensierung
+
+
+
+
+ X
+ X
+ X
+ X
+ X
+ X
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Encodierungseinstellungen Beispiele
+
+
+ Die folgenden Einstellungen sind Beispiele unterschiedlicher
+ Kombinationen von Encodierungsoptionen, die den Kompromiss
+ zwischen Geschwindigkeit gegenüber Qualität bei gleicher
+ Zielbitrate betreffen.
+
+
+
+ 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 "sehr hohe Qualität".
+ Bitte hab Verständnis, dass du abhängig von deiner Quelldatei,
+ deinem Rechnertyp und Entwicklungsfortschritten sehr unterschiedliche
+ Resultate erzielen wirst.
+
+
+
+
+
+
+ BeschreibungEncodieroptionenGeschwindigkeit (in fps)Relativer PSNR-Verlust (in dB)
+
+
+
+ Sehr hohe Qualität
+
+ 16fps
+ 0dB
+
+
+ Hohe Qualität
+
+ 18fps
+ -0.1dB
+
+
+ Schnell
+
+ 28fps
+ -0.69dB
+
+
+ Echtzeit
+
+ 38fps
+ -1.48dB
+
+
+
+
+
+
+
+
+
+
+ Encodieren mit dem x264-Codec
+
+ x264 ist eine freie
+ Programmbibliothek zum Encodieren von H.264/AVC-Videostreams.
+ Bevor du mit zu encodieren beginnst, musst
+ du MEncoder so einstellen, dass er es unterstützt.
+
+
+
+ Encodieroptionen von x264
+
+
+ Bitte beginne mit der Durchsicht der
+ x264-Sektion von
+ MPlayers 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.
+
+
+
+ Einführung
+ Dieses Handbuch berücksichtigt zwei Hauptkategorien der Encodieroptionen:
+
+
+
+
+ Optionen, die hauptsächlich Encodierdauer gegenüber Qualität abwägen
+
+
+
+
+ Optionen, die zur Erfüllung zahlreicher persönlicher Vorlieben und spezieller Anforderungen nützlich sind
+
+
+
+
+
+ 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
+ "persönliche Vorlieben und spezielle Anforderungen"
+ 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 "persönliche Vorlieben" können sogar Änderungen
+ verursachen, die für manche Leute besser aussehen aber schlechter
+ für andere.
+
+
+
+ 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
+ den Wikipedia-Artikel zu PSNR
+ an.
+ Globaler PSNR ist die letzte gemeldete PSNR-Nummer, wenn du die
+ Option in
+ einbindest.
+ Jedesmal wenn du eine Forderung nach PSNR liest, ist eine der Annahmen
+ hinter dieser Forderung, dass gleiche Bitraten verwendet werden.
+
+
+
+ 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.
+
+
+
+
+
+ Optionen die primär Geschwindigkeit und Qualität betreffen
+
+
+
+
+ subq:
+ Von den Optionen, die dir erlauben, einen Kompromiss zwischen
+ Geschwindigkeit und Qualität einzugehen, sind
+ und (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
+ und ziemlich stark
+ miteinander.
+ Die Erfahrung zeigt, dass mit einem Referenzframe
+ (die Standardeinstellung) das ganze etwa 35% mehr Zeit in Anspruch nimmt als
+ .
+ Mit 6 Referenzframes wächst der Nachteil auf 60%.
+ Der Effekt, den auf den PSNR ausübt, scheint ziemlich
+ konstant zu sein, ungeachtet der Anzahl der Referenzframes.
+ Typischerweise erreicht einen 0.2-0.5 dB höheren globalen
+ PSNR im Vergleich zu .
+ Dies ist gewöhnlich ausreichend, um sichtbar zu werden.
+
+
+ ist der langsamste Modus mit der höchsten
+ Qualität.
+ Im Vergleich zu 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 hängt das
+ Verhalten von nicht sehr von
+ und ab. Statt dessen hängt die Effektivität von
+ größtenteils von der Anzahl der verwendeten
+ B-Frames ab. Im Normalgebrauch bedeutet dies,
+ 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,
+ immer auf etwas anderes als null
+ zu setzen (siehe unten).
+
+
+
+
+ frameref:
+ 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 auf 2 bringt rund
+ 0.15dB PSNR mit einem Geschwindigkeitsnachteil von 5-10%; dies sieht nach
+ einem guten Kompromiss aus.
+ bringt rund 0.25dB PSNR mehr als
+ , was einen sichtbaren Unterschied machen
+ sollte.
+ ist rund 15% langsamer als
+ .
+ Leider setzen vermindernde Rückgaben schnell ein.
+ kann erwartungsgemäß nur
+ 0.05-0.1 dB mehr als bei zusätzlichen
+ 15% Geschwindigkeitsnachteil.
+ Oberhalb 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
+ den globalen PSNR um ein bisschen mehr als 0.02dB gegenüber
+ verbessern, bei Geschwindigkeitseinbußen
+ von 15%-20%.
+ Bei so hohen -Werten ist das wirklich
+ einzig Gute, dass man sagen kann, dass ein weiteres Anheben dieses
+ Wertes ziemlich sicher nie den PSNR schädigen
+ wird, jedoch sind zusätzliche Qualitätsvorteile sogar kaum messbar,
+ geschweige denn wahrnehmbar.
+
+ Beachte:
+
+ Das Erhöhen von auf unnötig hohe Werte
+ kann und
+ tut dies üblicherweise auch
+ die Codiereffizienz schädigen, wenn du CABAC ausschaltest.
+ Mit eingeschaltetem CABAC (das Standardverhalten) scheint die
+ Möglichkeit, "zu hoch"
+ 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.
+
+
+
+ Wenn du auf Geschwindigkeit abzielst, ist ein vernünftiger
+ Kompromiss, im ersten Durchgang niedrigere - und
+ -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
+ 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 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 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.
+
+
+
+
+
+ me:
+ 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.
+ ist nur ein paar Prozent schneller als
+ die Standardsuche, auf Kosten von unter 0.1dB globalem PSNR. Die
+ Standardeinstellung () ist ein angemessener
+ Kompromiss zwischen Qualität und Geschwindigkeit.
+ bringt ein wenig unter 0.1dB globalem PSNR,
+ mit Geschwindigkeitsnachteil, der abhängig von
+ variiert. Bei hohen -Werten (z.B. 12 oder so)
+ ist etwa 40% langsamer als die Standardeinstellung
+ . Mit fällt der
+ Geschwindigkeitsnachteil auf 25%-30%.
+
+
+ verwendet eine gründliche, für die praktische
+ Anwendung zu langsame Suche.
+
+
+
+
+
+ 4x4mv:
+ 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.
+
+
+
+
+
+ bframes:
+ 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.
+
+
+ Mit deaktivierter adaptiver B-Framebestimmung
+ ( von )
+ ist der optimale Wert für diese Einstellung normalerweise nicht
+ mehr als , 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.
+
+
+
+
+ b_adapt:
+ Beachte: Dies ist standardmäßig eingeschaltet.
+
+
+ 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 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.
+ und haben keinen
+ Effekt auf nachfolgende Durchgänge.
+
+
+
+
+ b_pyramid:
+ 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.
+
+
+
+
+
+ weight_b:
+ 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.
+
+
+ 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,
+ zu deinen x264encopts hinzuzufügen, falls
+ du erwartest, dass Fades einen großen Effekt in deinem jeweiligen
+ Videoclip erzeugen.
+
+
+
+
+
+
+ Diverse Eigenschaften betreffende Optionen
+
+
+
+ 2-pass-Encodierung:
+ 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.
+
+
+ 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 "Fehler" 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 "Fehlerperiode" 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.
+
+
+ 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 unten für einige Ideen darüber, wie man
+ diese Zuweisungen nach seinem Geschmack optimiert.
+
+
+ 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 zu
+ des ersten Durchgangs hinzuzufügen.
+ Verwende dann im zweiten Durchgang langsamere, hochwertigere Optionen:
+
+
+
+
+
+ Encodierung mit drei Durchgängen?
+
+ x264 bietet die Möglichkeit, eine beliebige Anzahl aufeinander folgender
+ Durchgänge auszuführen. Wenn du im ersten Durchgang
+ spezifizierst, dann verwende 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.
+
+
+
+
+ qcomp:
+ wägt die Anzahl der für "aufwändige" Frames
+ mit viel Bewegung vorgesehenen Bits gegen die für "weniger aufwändige"
+ Frames mit wenig Bewegung ab.
+ Bei einem Extrem zielt 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 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.
+ 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).
+
+
+
+
+ keyint:
+ ist einzig und allein zur Abwägung der
+ Durchsuchbarkeit der Datei gegenüber der Codiereffiziez da.
+ Als Standardwert ist 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 ;
+ 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.
+
+
+
+
+ deblockalpha, deblockbeta:
+ Dieses Thema ist im Begriff etwas kontrovers zu geraten.
+
+
+ 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 - und
+ -Parameter erlauben dir, Offsets festzulegen,
+ um Deblocking-Schwellen voreinzustellen.
+
+
+ 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.
+
+
+ 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.
+
+
+ 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.
+
+
+
+ Dies rechtfertigt jedoch nach wie vor
+ 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
+ beim Abspielen des encodierten Films
+ herumzuspielen.
+ 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.
+
+
+
+
+
+
+ Beispiele für Encodieroptionen
+
+
+ Die folgenden Einstellungen sind Beispiele unterschiedlicher
+ Kombinationen von Encodier-Optionen, die einen Kompromiss zwischen
+ Geschwindigkeit und Qualität bei gleicher Zielbitrate darstellen.
+
+
+
+ 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 "sehr
+ hochwertigen" Einstellung aus.
+ Bitte hab dafür Verständnis, dass du abhängig von deiner Quelle, deinem
+ Rechnertyp und Entwicklungsfortschritten sehr unterschiedliche Resultate
+ erhalten kannst.
+
+
+
+
+
+
+ BeschreibungEncodier-OptionenGeschwindigkeit (in fps)Relativer PSNR-Verlust (in dB)
+
+
+
+ Sehr hohe Qualität
+
+ 6fps
+ 0dB
+
+
+ Hohe Qualität
+
+ 13fps
+ -0.89dB
+
+
+ Schnell
+
+ 17fps
+ -1.48dB
+
+
+
+
+
+
+
+
+
+
+ Encodieren mit der Video for Windows Codecfamilie
+
+
+ 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!)
+
+
+ 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
+ und ,
+ falls ein Codec versagt oder einen falschen Output liefert.
+
+
+
+ Von Video for Windows unterstützte Codecs
+
+
+
+
+
+
+ Video-Codec Dateiname
+ Beschreibung (FourCC)
+ md5sum
+ Kommentar
+
+
+
+
+ aslcodec_vfw.dll
+ Alparysoft verlustfreier (lossless) Codec vfw (ASLC)
+ 608af234a6ea4d90cdc7246af5f3f29a
+
+
+
+ avimszh.dll
+ AVImszh (MSZH)
+ 253118fe1eedea04a95ed6e5f4c28878
+ needs
+
+
+ avizlib.dll
+ AVIzlib (ZLIB)
+ 2f1cc76bbcf6d77d40d0e23392fa8eda
+
+
+
+ divx.dll
+ DivX4Windows-VFW
+ acf35b2fc004a89c829531555d73f1e6
+
+
+
+ huffyuv.dll
+ HuffYUV verlustfrei (lossless) (HFYU)
+ b74695b50230be4a6ef2c4293a58ac3b
+
+
+
+ iccvid.dll
+ Cinepak Video (cvid)
+ cb3b7ee47ba7dbb3d23d34e274895133
+
+
+
+ icmw_32.dll
+ Motion Wavelets (MWV1)
+ c9618a8fc73ce219ba918e3e09e227f2
+
+
+
+ jp2avi.dll
+ ImagePower MJPEG2000 (IPJ2)
+ d860a11766da0d0ea064672c6833768b
+
+
+
+ m3jp2k32.dll
+ Morgan MJPEG2000 (MJ2C)
+ f3c174edcbaef7cb947d6357cdfde7ff
+
+
+
+ m3jpeg32.dll
+ Morgan Motion JPEG Codec (MJPG)
+ 1cd13fff5960aa2aae43790242c323b1
+
+
+
+ mpg4c32.dll
+ Microsoft MPEG-4 v1/v2
+ b5791ea23f33010d37ab8314681f1256
+
+
+
+ tsccvid.dll
+ TechSmith Camtasia Screen Codec (TSCC)
+ 8230d8560c41d444f249802a2700d1d5
+
+
+
+ vp31vfw.dll
+ On2 Open Source VP3 Codec (VP31)
+ 845f3590ea489e2e45e876ab107ee7d2
+
+
+
+ vp4vfw.dll
+ On2 VP4 Personal Codec (VP40)
+ fc5480a482ccc594c2898dcc4188b58f
+
+
+
+ vp6vfw.dll
+ On2 VP6 Personal Codec (VP60)
+ 04d635a364243013898fd09484f913fb
+ stürzt unter Linux ab
+
+
+ vp7vfw.dll
+ On2 VP7 Personal Codec (VP70)
+ cb4cc3d4ea7c94a35f1d81c3d750bc8d
+ falscher FourCC?
+
+
+ ViVD2.dll
+ SoftMedia ViVD V2 Codec VfW (GXVE)
+ a7b4bf5cac630bb9262c3f80d8a773a1
+
+
+
+
+
+
+ Die erste Spalte enthält die Codec-Namen, die nach dem Parameter
+ codec übergeben werden sollten, wie:
+ .
+ Der FourCC-Code, der von jedem Codec verwendet wird, steht in Klammern.
+
+
+
+ Ein Beispiel mit VP3-Kompression:
+ mencoder dvd://2 -o title2.avi -ovc vfw -xvfwopts codec=vp31vfw.dll -oac copy
+
+
+
+
+
+
+
+ Verwenden des MEncoder zum Erzeugen VCD/SVCD/DVD-konformer Dateien.
+
+
+ Formatbeschränkungen
+
+ MEncoder ist in der Lage, MPEG-Dateien im VCD-, SCVD-
+ und DVD-Format durch Verwendung der
+ libavcodec-Programmbibliothek
+ zu erzeugen.
+ Diese Dateien können danach im Zusammenhang mit
+ vcdimager
+ oder
+ dvdauthor
+ zum Erzeugen von Disks verwendet werden, die auf einem Standard Set-Top-Player
+ abgespielt werden können.
+
+
+
+ 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.
+
+
+
+ Formatbeschränkungen
+
+
+
+
+
+ Format
+ Auflösung
+ V. Codec
+ V. Bitrate
+ Samplerate
+ A. Codec
+ A. Bitrate
+ FPS
+ Seitenverhältnis
+
+
+
+
+ NTSC DVD
+ 720x480, 704x480, 352x480, 352x240
+ MPEG-2
+ 9800 kbps
+ 48000 Hz
+ AC3,PCM
+ 1536 kbps (max)
+ 30000/1001, 24000/1001
+ 4:3, 16:9 (nur für 720x480)
+
+
+ NTSC DVD
+ 352x240
+ Diese Auflösungen werden selten für DVDs verwendet, da sie von
+ ziemlch niedriger Qualität sind.
+ MPEG-1
+ 1856 kbps
+ 48000 Hz
+ AC3,PCM
+ 1536 kbps (max)
+ 30000/1001, 24000/1001
+ 4:3, 16:9
+
+
+ NTSC SVCD
+ 480x480
+ MPEG-2
+ 2600 kbps
+ 44100 Hz
+ MP2
+ 384 kbps (max)
+ 30000/1001
+ 4:3
+
+
+ NTSC VCD
+ 352x240
+ MPEG-1
+ 1150 kbps
+ 44100 Hz
+ MP2
+ 224 kbps
+ 24000/1001, 30000/1001
+ 4:3
+
+
+ PAL DVD
+ 720x576, 704x576, 352x576, 352x288
+ MPEG-2
+ 9800 kbps
+ 48000 Hz
+ MP2,AC3,PCM
+ 1536 kbps (max)
+ 25
+ 4:3, 16:9 (nur für 720x576)
+
+
+ PAL DVD
+ 352x288
+ MPEG-1
+ 1856 kbps
+ 48000 Hz
+ MP2,AC3,PCM
+ 1536 kbps (max)
+ 25
+ 4:3, 16:9
+
+
+ PAL SVCD
+ 480x576
+ MPEG-2
+ 2600 kbps
+ 44100 Hz
+ MP2
+ 384 kbps (max)
+ 25
+ 4:3
+
+
+ PAL VCD
+ 352x288
+ MPEG-1
+ 1152 kbps
+ 44100 Hz
+ MP2
+ 224 kbps
+ 25
+ 4:3
+
+
+
+
+
+
+ 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.
+
+
+
+
+ GOP-Größenbeschränkungen
+
+ 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 gesetzt.
+
+
+
+
+ Bitraten-Beschränkungen
+
+ 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.
+
+
+
+
+
+ Output-Optionen
+
+ MEncoder besitzt Optionen zur Kontrolle des
+ Output-Formats.
+ Durch das Verwenden dieser Optionen können wir ihn anweisen, den
+ korrekten Dateityp zu erzeugen.
+
+
+
+ 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
+ vcdimager
+ übergeben.
+
+
+
+ VCD:
+ -of mpeg -mpegopts format=xvcd
+
+
+
+ SVCD:
+ -of mpeg -mpegopts format=xsvcd
+
+
+
+ DVD:
+ -of mpeg -mpegopts format=dvd
+
+
+
+ DVD mit NTSC-Pullup:
+ -of mpeg -mpegopts format=dvd:telecine -ofps 24000/1001
+ Dies erlaubt 24000/1001 fps progressive-Inhalt bei 30000/1001
+ fps encodiert zu werden, wobei die DVD-Konformität erhalten bleibt.
+
+
+
+ Seitenverhältnis
+
+ Der Parameter für das Seitenverhältnis von 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.
+
+
+
+ 16:9 oder "Breitbild"
+ -lavcopts aspect=16/9
+
+
+
+ 4:3 oder "Vollbild"
+ -lavcopts aspect=4/3
+
+
+
+ 2.35:1 oder "Cinemascope" NTSC
+ -vf scale=720:368,expand=720:480 -lavcopts aspect=16/9
+ Um die korrekte Skalierungsgröße zu berechnen, verwende die
+ erweiterte NTSC-Breite von 854/2.35 = 368
+
+
+
+ 2.35:1 oder "Cinemascope" PAL
+ -vf scale="720:432,expand=720:576 -lavcopts aspect=16/9
+ Um die korrekte Skalierungsgröße zu berechnen, verwende die
+ erweiterte PAL-Breite von 1024/2.35 = 432
+
+
+
+
+
+ Aufrechterhalten der A/V-Synchronisation
+
+ Um die Audio-/Video-Synchronisation während der kompletten
+ Encodierung aufrechtzuerhalten, muss
+ MEncoder 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
+ -Video-Filter am Ende der Filterkette anzuhängen,
+ um diese Art Problem zu vermeiden.
+ Du findest mehr technische Informationen zu
+ im Abschnitt
+ Verbessern der Mux- und A/V-Synchronisationszuverlässigkeit
+ oder in der Manpage.
+
+
+
+
+ Sampleraten-Konvertierung
+
+ 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 und
+ den Audio-Filter zusammen
+ anwedet.
+
+
+ DVD:
+ -srate 48000 -af lavcresample=48000
+
+
+ VCD und SVCD:
+ -srate 44100 -af lavcresample=44100
+
+
+
+
+
+ Verwenden des libavcodec zur VCD/SVCD/DVD-Encodierung
+
+
+ Einführung
+
+ libavcodec kann verwendet
+ werden, um ein VCD/SVCD/DVD-konformes Video durch die Anwendung der
+ passenden Optionen zu erzeugen.
+
+
+
+
+ lavcopts
+
+ Dies ist eine Liste von Feldern in , die du
+ möglicherweise ändern musst, um einen für VCD, SVCD
+ oder DVD konformen Film herzustellen:
+
+
+
+
+
+ acodec:
+ für VCD, SVCD oder PAL DVD;
+ 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.
+
+
+
+
+
+ abitrate:
+ 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.
+
+
+
+
+
+ vcodec:
+ für VCD;
+ für SVCD;
+ wird gewöhnlich für DVD verwendet, man kann aber auch
+ für CIF-Auflösungen verwenden.
+
+
+
+
+
+ keyint:
+ 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 von 25 sollte nie irgendwelche Probleme machen.
+
+
+
+
+
+ vrc_buf_size:
+ 327 für VCD, 917 für SVCD und 1835 für DVD.
+
+
+
+
+
+ vrc_minrate:
+ 1152 für VCD. kann für SVCD und DVD so gelassen werden.
+
+
+
+
+
+ vrc_maxrate:
+ 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.
+
+
+
+
+
+ vbitrate:
+ 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.
+
+
+
+
+
+
+ Beispiele
+
+ Dies ist eine typische Zusammenstellung von mindestens zu verwendenden
+ -Optionen zum Encodieren eines Videos:
+
+
+ VCD:
+-lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
+vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2
+
+
+
+ SVCD:
+-lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
+keyint=15:acodec=mp2
+
+
+
+ DVD:
+-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
+keyint=15:acodec=ac3
+
+
+
+
+
+ Erweiterte Optionen
+
+ Für das Encodieren höherer Qualität könntest du auch qualitätssteigernde
+ Optionen an lavcopts anfügen, wie etwa ,
+ und weitere.
+ Beachte, dass und , 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, 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:
+
+
+
+-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
+
+
+
+
+
+
+ Encodieren von Audio
+
+ VCD und SVCD unterstützen MPEG-1 Layer II Audio, indem sie einen
+ MP2-Encoder von
+ toolame,
+ twolame,
+ oder libavcodec
+ 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.
+
+
+
+ Für DVD-Audio wird der AC3-Codec von
+ libavcodec
+ verwendet.
+
+
+
+ toolame
+
+ Für VCD und SVCD:
+ -oac toolame -toolameopts br=224
+
+
+
+
+ twolame
+
+ Für VCD und SVCD:
+ -oac twolame -twolameopts br=224
+
+
+
+
+ libavcodec
+
+ Für DVD mit 2-Kanal-Sound:
+ -oac lavc -lavcopts acodec=ac3:abitrate=192
+
+
+ Für DVD mit 5.1-Kanal-Sound:
+ -channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384
+
+
+ Für VCD und SVCD:
+ -oac lavc -lavcopts acodec=mp2:abitrate=224
+
+
+
+
+
+
+ Zusammenfassung
+
+ Diese Sektion zeigt einige komplette Befehle zum Erzeugen von
+ VCD/SVCD/DVD-konformen Videos.
+
+
+
+ PAL DVD
+
+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 movie.mpgmovie.avi
+
+
+
+
+ NTSC DVD
+
+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 movie.mpgmovie.avi
-
-
-
-
-
-PAL AVI mit enthaltenem AC3 Audio nach DVD
-
- Hat die Quelle bereits AC3-Audio, nimm -oac copy anstatt es
- erneut zu encodieren.
-
- mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,\
+ -o movie.mpgmovie.avi
+
+
+
+
+ PAL AVI mit enthaltenem AC3 Audio nach DVD
+
+ Hat die Quelle bereits AC3-Audio, nimm -oac copy anstatt es
+ erneut zu encodieren.
+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 movie.mpgmovie.avi
-
-
-
-
-
-NTSC AVI mit AC3-Ton nach DVD
-
- Hat die Quelle bereits AC3-Audio und ist NTSC @ 24000/1001 fps:
-
- mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:telecine \
+ -o movie.mpgmovie.avi
+
+
+
+
+ NTSC AVI mit AC3-Ton nach DVD
+
+ Hat die Quelle bereits AC3-Audio und ist NTSC @ 24000/1001 fps:
+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 movie.mpgmovie.avi
-
-
-
-
-
-PAL SVCD
-
-
- mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
+ -o movie.mpgmovie.avi
+
+
+
+
+ PAL SVCD
+
+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 movie.mpgmovie.avi
-
-
-
-
-
-NTSC SVCD
-
-
- mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
+ -o movie.mpgmovie.avi
+
+
+
+
+ NTSC SVCD
+
+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 movie.mpgmovie.avi
-
-
-
-
-
-PAL VCD
-
-
- mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
+ -o movie.mpgmovie.avi
+
+
+
+
+ PAL VCD
+
+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 movie.mpgmovie.avi
-
-
-
-
-
-NTSC VCD
-
-
- mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
+ -o movie.mpgmovie.avi
+
+
+
+
+ NTSC VCD
+
+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 movie.mpgmovie.avi
-
-
-
-
-
-
-
+ -o movie.mpgmovie.avi
+
+
+
+
+
+
diff -r 8785e5d4f760 -r 66bf507e05f0 DOCS/xml/de/install.xml
--- a/DOCS/xml/de/install.xml Wed Sep 27 08:40:37 2006 +0000
+++ b/DOCS/xml/de/install.xml Wed Sep 27 08:59:17 2006 +0000
@@ -1,626 +1,731 @@
+
-Installation
+ Installation
-
-Eine Anleitung für eine schnelle Installation steht in der Datei
-README. Bitte lies diese zuerst und komm erst dann für
-den Rest der mörderischen Details zurück.
-
+
+ Eine Anleitung für eine schnelle Installation steht in der Datei
+ README. Bitte lies diese zuerst und komm erst dann für
+ den Rest der mörderischen Details zurück.
+
-
-In diesem Abschnitt werde ich versuchen, dich durch den Vorgang des
-Compilierens und Konfigurierens von MPlayer 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.
-
+
+ In diesem Abschnitt werde ich versuchen, dich durch den Vorgang des
+ Compilierens und Konfigurierens von MPlayer 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.
+
-
-Du brauchst ein ziemlich aktuelles System. Unter Linux werden die Kernel der
-Version 2.4.x empfohlen.
-
+
+ Du brauchst ein ziemlich aktuelles System. Unter Linux werden die Kernel der
+ Version 2.4.x empfohlen.
+
-
-Softwareanforderungen
+
+ Softwareanforderungen
-
-
- binutils - empfohlene Version ist 2.11.x.
- Dieses Programm ist verantwortlich für die Generierung von Instruktionen für
- MMX/3DNow!/usw. und daher sehr wichtig.
-
-
- gcc - empfohlene Versionen sind:
- 2.95.3 (vielleicht 2.95.4) und 3.2+.
- Benutze niemals 2.96 oder 3.0.x! Diese
- generieren im Falle von MPlayer 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 libstdc++,
- 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.
-
-
- XFree86 - empfohlene Version ist
- immer die neueste (4.3). Normalerweise
- möchte das jeder. Mit XFree86 4.0.2 beginnend enthält es die
- XVideo-Erweiterung (irgendwo als
- Xv bezeichnet), die bei Karten, die dies unterstützen,
- für die YUV-Hardwarebeschleunigung (schnelle Bilddarstellung) benötigt wird.
- Stelle auch sicher, dass das Entwicklerpaket
- installiert ist, sonst wird es nicht funktionieren.
- Bei manchen Grafikkarten benötigst du kein XFree86. Siehe Liste unten.
-
-
- make - empfohlene Version ist
- immer die neueste (mindestens 3.79.x). Dies
- ist normalerweise nicht so wichtig.
-
-
- FreeType in der Version 2.0.9 oder neuer wird
- benötigt, um Schriften für OSD und Untertitel zu erhalten.
-
-
- SDL - 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).
-
-
- libjpeg - optionaler JPEG-Decoder, der
- von der Option und für mache QT MOV-Dateien verwendet
- wird. Nützlich sowohl für MPlayer als auch
- MEncoder, wenn du vorhast, mit JPEG-Dateien zu
- arbeiten.
-
-
- libpng - empfohlen und
- Standard-(M)PNG-Decoder. Wird für die GUI benötigt.
- Nützlich sowohl für MPlayer als auch
- MEncoder.
-
-
- lame - empfohlen, erforderlich für
- Audioencodierung in das MP3-Format mit MEncoder,
- empfohlene Version ist immer die neueste (mindestens
- 3.90).
-
-
- zlib - empfohlen, benötigt für die
- Unterstützung komprimierter MOV-Headern und PNG.
-
-
- libogg - optional, erforderlich für die
- Wiedergabe von Dateien im OGG-Format.
-
-
- libvorbis - optional, benötigt für die
- Audiowiedergabe von OGG Vorbis.
-
-
- LIVE555 Streaming Media
- - optional, benötigt für die Wiedergabe von RTSP/RTP-Streams.
-
-
- directfb - optional, von
- . Version 0.9.13 ist mindestens
- erforderlich.
-
-
- cdparanoia - optional, für CDDA-Unterstützung
-
-
- libxmms - optional, für Unterstützung des
- XMMS-Input-Plugins. Version 1.2.7 ist mindestens erforderlich.
-
-
- libsmb - optional, für Samba-Unterstützung
-
-
- ALSA - optional, für Unterstützung der
- Audioausgabe mit ALSA. Version 0.9.0rc4 ist mindestens erforderlich.
-
-
- bio2jack - optional, für
- Unterstützung der Audioausgabe mit JACK, wird nur zur Compilezeit benötigt.
- Du kannst es von
- http://bio2jack.sf.net beziehen.
- Da es keine Installationsoptionen hat, musst du die Datei
- libbio2jack.a manuell in deinen Bibliothekspfad
- kopieren, oder benutze die Option , damit
- ./configure weiß, wo sich die Datei befindet.
-
-
-
+
+
+
+ binutils - empfohlene Version ist 2.11.x.
+ Dieses Programm ist verantwortlich für die Generierung von Instruktionen für
+ MMX/3DNow!/usw. und daher sehr wichtig.
+
+
+
+
+ gcc - empfohlene Versionen sind:
+ 2.95.3 (vielleicht
+ 2.95.4) und 3.2+.
+ Benutze niemals 2.96 oder 3.0.x! Diese
+ generieren im Falle von MPlayer 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 libstdc++,
+ 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.
+
+
+
+
+ XFree86 - empfohlene Version ist
+ immer die neueste (4.3). Normalerweise
+ möchte das jeder. Mit XFree86 4.0.2 beginnend enthält es die
+ XVideo-Erweiterung (irgendwo als
+ Xv bezeichnet), die bei Karten, die dies unterstützen,
+ für die YUV-Hardwarebeschleunigung (schnelle Bilddarstellung) benötigt wird.
+ Stelle auch sicher, dass das Entwicklerpaket
+ installiert ist, sonst wird es nicht funktionieren.
+ Bei manchen Grafikkarten benötigst du kein XFree86. Siehe Liste unten.
+
+
+
+
+ make - empfohlene Version ist
+ immer die neueste (mindestens 3.79.x). Dies
+ ist normalerweise nicht so wichtig.
+
+
+
+
+ FreeType in der Version 2.0.9 oder neuer wird
+ benötigt, um Schriften für OSD und Untertitel zu erhalten.
+
+
+
+
+ SDL - 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).
+
+
+
+
+ libjpeg - optionaler JPEG-Decoder, der
+ von der Option und für mache QT MOV-Dateien verwendet
+ wird. Nützlich sowohl für MPlayer als auch
+ MEncoder, wenn du vorhast, mit JPEG-Dateien zu
+ arbeiten.
+
+
+
+
+ libpng - empfohlen und
+ Standard-(M)PNG-Decoder. Wird für die GUI benötigt.
+ Nützlich sowohl für MPlayer als auch
+ MEncoder.
+
+
+
+
+ lame - empfohlen, erforderlich für
+ Audioencodierung in das MP3-Format mit MEncoder,
+ empfohlene Version ist immer die neueste (mindestens
+ 3.90).
+
+
+
+
+ zlib - empfohlen, benötigt für die
+ Unterstützung komprimierter MOV-Headern und PNG.
+
+
+
+
+ libogg - optional, erforderlich für die
+ Wiedergabe von Dateien im OGG-Format.
+
+
+
+
+ libvorbis - optional, benötigt für die
+ Audiowiedergabe von OGG Vorbis.
+
+
+
+
+ LIVE555 Streaming Media
+ - optional, benötigt für die Wiedergabe von RTSP/RTP-Streams.
+
+
+
+
+ directfb - optional, von
+ . Version 0.9.13 ist mindestens
+ erforderlich.
+
+
+
+
+ cdparanoia - optional, für CDDA-Unterstützung
+
+
+
+
+ libxmms - optional, für Unterstützung des
+ XMMS-Input-Plugins. Version 1.2.7 ist mindestens erforderlich.
+
+
+
+
+ libsmb - optional, für Samba-Unterstützung
+
+
+
+
+ ALSA - optional, für Unterstützung der
+ Audioausgabe mit ALSA. Version 0.9.0rc4 ist mindestens erforderlich.
+
+
+
+
+ bio2jack - optional, für
+ Unterstützung der Audioausgabe mit JACK, wird nur zur Compilezeit benötigt.
+ Du kannst es von
+ http://bio2jack.sf.net beziehen.
+ Da es keine Installationsoptionen hat, musst du die Datei
+ libbio2jack.a manuell in deinen Bibliothekspfad
+ kopieren, oder benutze die Option , damit
+ ./configure weiß, wo sich die Datei befindet.
+
+
+
+
-
-Grafikkarten
+
+ Grafikkarten
-
-Es gibt allgemein zwei Arten Grafikkarten. Die eine (die neueren Karten)
-unterstützen Hardware-Skalierung und YUV-Beschleunigung,
-die anderen nicht.
-
+
+ Es gibt allgemein zwei Arten Grafikkarten. Die eine (die neueren Karten)
+ unterstützen Hardware-Skalierung und YUV-Beschleunigung,
+ die anderen nicht.
+
-
-YUV-Karten
+
+ YUV-Karten
-
-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
-geringer CPU-Last (sogar beim Zoom), daher ist
-die Vollbildwiedergabe nett und sehr schnell.
+
+ 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
+ geringer CPU-Last (sogar beim Zoom), daher ist
+ die Vollbildwiedergabe nett und sehr schnell.
-
-
- Matrox G200/G400/G450/G550-Karten: Obwohl ein
- Vidix-Treiber zur Verfügung steht, wird empfohlen,
- statt dessen das mga_vid-Modul zu verwenden, da es wesentlich besser funktioniert.
- Siehe bitte den Abschnitt mga_vid für dessen Installation
- und den Umgang damit. Es ist wichtig, diese Schritte vor der Compilierung
- von MPlayer durchzuführen, da sonst keine Unterstützung
- für mga_vid eingebaut wird. Schaue dir auch den Abschnitt
- Matrox TV-out an.
- Wenn du nicht Linux benutzt, ist deine einzige
- Möglichkeit der VIDIX-Treiber: Lies den Abschnitt VIDIX.
-
-
- 3Dfx Voodoo3/Banshee-Karten: Bitte siehe den Abschnitt
- tdfxfb, um große Geschwindigkeitsvorteile zu nutzen.
- Es ist wichtig, diese Schritte vor der Compilierung
- von MPlayer durchzuführen, da sonst keine Unterstützung
- für 3Dfx eingebaut wird.
- Wenn du X benutzt, verwende
- mindestens 4.2.0, da der 3dfx Xv-Treiber in der
- Version 4.1.0 und davor nicht funktioniert.
-
-
- ATI-Karten: Der VIDIX-Treiber
- wird für folgende Karten bereitgestellt:
- Radeon, Rage128, Mach64 (Rage XL/Mobility, Xpert98).
- Siehe auch die Dokumentation des TV-out im Abschnitt ATI-Karten,
- damit du weißt, ob das TV-out deiner Karte unter Linux mit
- MPlayer unterstützt wird.
-
-
- S3-Karten: 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 S3 Xv für Details. Ältere Trio-Karten haben keine
- oder nur langsame Hardwareunterstützung.
-
-
- nVidia-Karten: 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.
- Der in XFree86 eingebaute nVidia-Treiber unterstützt nicht auf
- allen Karten YUV-Hardwarebeschleunigung. Du musst die Closed-Source-Treiber von
- nVidia.com herunterladen. Siehe Abschnitt
- nVidia Xv-Treiber für Details. Bitte siehe auch Abschnitt
- nVidia TV-out, wenn du einen Fernseher verwenden möchtest.
-
-
- 3DLabs GLINT R3 und Permedia3: Ein VIDIX-Treiber wird
- bereitgestellt (pm3_vid). Bitte siehe Abschnitt VIDIX für Details.
-
-
- Andere Karten: keine der oben genannten?
-
-
- Probiere, ob der XFree86-Treiber (und deine Karte) Hardwarebeschleunigung unterstützen.
- Siehe Abschnitt Xv für Details.
-
-
- 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 .
-
-
-
-
-
-
-
-
-
-Nicht-YUV-Karten
-
-
-Vollbildwiedergabe kann erreicht werden, indem entweder
-Softwareskalierung aktiviert wird
-(benutz die Option oder , 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 aktiviert werden
-und funktioniert mit folgenden Treibern:
-
-
- Benutzung von XFree86: Siehe Details in den Abschnitten
- DGA-Treiber und X11-Treiber.
- DGA wird empfohlen! Probiere auch DGA via SDL, das funktioniert manchmal besser.
-
-
- Nicht-Benutzung von XFree86: Probiere die Treiber
- in folgender Reihenfolge:
- vesa,
- fbdev,
- svgalib,
- aalib.
-
-
-
-
-
-
-
-Cirrus-Logic-Karten
-
-
- GD 7548: verfügbar on-board und getestet in der Compaq Armada 41xx Notebook-Serie.
-
-
- XFree86 3: Funktioniert in 8/16bpp-Modi. Trotzdem, der Treiber ist übel langsam in
- 800x600@16bpp. Empfohlen: 640x480@16bpp
-
-
- 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.
-
-
- FBdev: Framebuffer kann mit dem clgenfb-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.
-
-
- VESA: Die Karte ist nur VBE 1.2-fähig, daher kann VESA-Ausgabe nicht benutzt
- werden. Kann mit UniVBE nicht umgangen werden.
-
-
- SVGAlib: erkennt einen älteren Cirrus-Chip. Langsam, aber nutzbar mit der Option
- .
-
-
-
-
-
-
+
+
+
+ Matrox G200/G400/G450/G550-Karten: Obwohl ein
+ Vidix-Treiber zur Verfügung steht, wird empfohlen,
+ statt dessen das mga_vid-Modul zu verwenden, da es wesentlich besser funktioniert.
+ Siehe bitte den Abschnitt mga_vid für dessen Installation
+ und den Umgang damit. Es ist wichtig, diese Schritte vor der Compilierung
+ von MPlayer durchzuführen, da sonst keine Unterstützung
+ für mga_vid eingebaut wird. Schaue dir auch den Abschnitt
+ Matrox TV-out an.
+ Wenn du nicht Linux benutzt, ist deine einzige
+ Möglichkeit der VIDIX-Treiber: Lies den Abschnitt VIDIX.
+
+
+
+
+ 3Dfx Voodoo3/Banshee-Karten: Bitte siehe den Abschnitt
+ tdfxfb, um große Geschwindigkeitsvorteile zu nutzen.
+ Es ist wichtig, diese Schritte vor der Compilierung
+ von MPlayer durchzuführen, da sonst keine Unterstützung
+ für 3Dfx eingebaut wird.
+ Wenn du X benutzt, verwende mindestens 4.2.0, da der
+ 3dfx Xv-Treiber in der Version 4.1.0 und davor nicht funktioniert.
+
+
+
+
+ ATI-Karten: Der VIDIX-Treiber
+ wird für folgende Karten bereitgestellt:
+ Radeon, Rage128, Mach64 (Rage XL/Mobility, Xpert98).
+ Siehe auch die Dokumentation des TV-out im Abschnitt ATI-Karten,
+ damit du weißt, ob das TV-out deiner Karte unter Linux mit
+ MPlayer unterstützt wird.
+
+
+
+
+ S3-Karten: 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 S3 Xv für Details. Ältere Trio-Karten haben keine
+ oder nur langsame Hardwareunterstützung.
+
+
+
+
+ nVidia-Karten: 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.
+ Der in XFree86 eingebaute nVidia-Treiber unterstützt nicht auf
+ allen Karten YUV-Hardwarebeschleunigung. Du musst die Closed-Source-Treiber von
+ nVidia.com herunterladen. Siehe Abschnitt
+ nVidia Xv-Treiber für Details. Bitte siehe auch Abschnitt
+ nVidia TV-out, wenn du einen Fernseher verwenden möchtest.
+
+
+
+
+ 3DLabs GLINT R3 und Permedia3: Ein VIDIX-Treiber wird
+ bereitgestellt (pm3_vid). Bitte siehe Abschnitt VIDIX für Details.
+
+
+
+
+ Andere Karten: keine der oben genannten?
+
+
+
+ Probiere, ob der XFree86-Treiber (und deine Karte) Hardwarebeschleunigung unterstützen.
+ Siehe Abschnitt Xv für Details.
+
+
+
+
+ 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 .
+
+
+
+
+
+
+
+
-
-Soundkarten
+
+ Nicht-YUV-Karten
+
+
+ Vollbildwiedergabe kann erreicht werden, indem entweder
+ Softwareskalierung aktiviert wird
+ (benutz die Option oder , 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 aktiviert werden
+ und funktioniert mit folgenden Treibern:
+
+
+
+ Benutzung von XFree86: Siehe Details in den Abschnitten
+ DGA-Treiber und X11-Treiber.
+ DGA wird empfohlen! Probiere auch DGA via SDL, das funktioniert manchmal besser.
+
+
+
+
+ Nicht-Benutzung von XFree86: Probiere die Treiber
+ in folgender Reihenfolge:
+ vesa,
+ fbdev,
+ svgalib,
+ aalib.
+
+
+
+
+
-
-
- Soundblaster Live!: Mit dieser Karte kannst du
- AC3-Decodierung mit 4 oder 6 (5.1) anstatt 2 Kanälen
- verwenden. Lies den Abschnitt Software-AC3-Decodierung.
- Für Hardware-AC3-Passthrough musst du ALSA 0.9 mit
- OSS-Emulation verwenden!
-
-
- C-Media mit S/PDIF out: Hardware-AC3-Passthrough
- ist mit diesen Karten möglich, siehe Abschnitt
- Hardware-AC3-Decodierung.
-
-
- Features anderer Karten werden von
- MPlayer nicht unterstützt.
- Es wird dringend empfohlen, die Sektion
- Soundkarte zu lesen!
-
-
-
+
+
+ Cirrus-Logic-Karten
+
+
+
+ GD 7548: verfügbar on-board und getestet in der Compaq Armada 41xx Notebook-Serie.
+
+
+
+ XFree86 3: Funktioniert in 8/16bpp-Modi. Trotzdem, der Treiber ist übel langsam in
+ 800x600@16bpp. Empfohlen: 640x480@16bpp
+
+
+
+
+ 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.
+
+
+
+
+ FBdev: Framebuffer kann mit dem clgenfb-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.
+
+
+
+
+ VESA: Die Karte ist nur VBE 1.2-fähig, daher kann VESA-Ausgabe nicht benutzt
+ werden. Kann mit UniVBE nicht umgangen werden.
+
+
+
+
+ SVGAlib: erkennt einen älteren Cirrus-Chip. Langsam, aber nutzbar mit der Option
+ .
+
+
+
+
+
+
+
+
-
-Features
-
-
-
- Entscheide, ob du eine GUI benötigst. Ist dies der Fall, schau in Abschnitt
- GUI, bevor du compilierst.
-
-
- Wenn Du MEncoder (unseren super Allzweck-Encoder)
- installieren möchtest, siehe Abschnitt
- MEncoder.
-
-
- Wenn du eine V4L-kompatible TV-Tuner-Karte hast
- und Filme mit MPlayer anschauen/grabben und encodieren
- möchtest, lies den Abschnitt TV-Input.
-
-
- Wenn du eine V4L-kompatible Radioempfängerkarte hast
- und mit MPlayer Radio hören oder aufnehmen möchtest,
- lies den Abschnitt radio.
-
-
- Es gibt Unterstützung für ein schickes OSD-Menü,
- das benutzt werden kann. Siehe Abschnitt OSD-Menü.
-
-
+
+ Soundkarten
-
-Baue dann MPlayer:
-
-./configure
-make
-make install
-
-
-
-Zu diesem Zeitpunkt ist MPlayer benutzbar. Das Verzeichnis
-$PREFIX/share/mplayer enthält die Datei
-codecs.conf, 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 codecs.conf einer
-älteren MPlayer-Version in deinem
-Home-Verzeichnis (~/.mplayer/codecs.conf) hast, und entferne diese.
-
-
-
-Beachte, dass die eingebaute und vom System bereitgestellte codecs.conf
-ignoriert wird, wenn du eine codecs.conf im Verzeichnis
-~/.mplayer/, hast.
-Benutze diese nicht, wenn du nicht an den Interna von MPlayer
-herumbasteln möchtest, da dies viele Probleme hervorrufen kann. Wenn du die Reihenfolge
-der Suche nach Codecs ändern möchtest, benutze die Optionen ,
-, , oder auf der
-Kommandozeile oder in deiner Konfigurationsdatei (siehe Manpage).
-
+
+
+
+ Soundblaster Live!: Mit dieser Karte kannst du
+ AC3-Decodierung mit 4 oder 6 (5.1) anstatt 2 Kanälen
+ verwenden. Lies den Abschnitt Software-AC3-Decodierung.
+ Für Hardware-AC3-Passthrough musst du ALSA 0.9 mit
+ OSS-Emulation verwenden!
+
+
+
+
+ C-Media mit S/PDIF out: Hardware-AC3-Passthrough
+ ist mit diesen Karten möglich, siehe Abschnitt
+ Hardware-AC3-Decodierung.
+
+
+
+
+ Features anderer Karten werden von
+ MPlayer nicht unterstützt.
+ Es wird dringend empfohlen, die Sektion Soundkarte zu lesen!
+
+
+
+
-
-Debian-Nutzer können ihr eigenes .deb-Paket bauen, das ist sehr leicht.
-Führe nur fakeroot debian/rules binary
-in MPlayers Wurzelverzeichnis aus. Siehe
-Debian-Packaging für detaillierte Informationen.
-
-
-
-Überprüfe immer die Ausgabe von
-./configure und die Datei configure.log,
-sie enthalten Informationen darüber, was eingebaut wird und was nicht.
-Du möchtest dir vielleicht auch die Dateien
-config.h und config.mak anschauen.
-Wenn du manche Bibliotheken installiert hast, die von
-./configure aber nicht erkannt werden, überprüfe auch
-die entsprechenden Header-Dateien (normalerweise die -dev-Pakete) und ob deren
-Versionen passen. Die Datei configure.log gibt
-normalerweise Auskunft darüber, was fehlt.
-
+
+ Features
-
-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
-MPlayer anzuweisen, diese zu benutzen.
-Siehe Abschnitt Untertitel und OSD für Details.
-
-
-
-
-
-
-
-Was ist mit der GUI?
+
+
+
+ Entscheide, ob du eine GUI benötigst. Ist dies der Fall, schau in Abschnitt
+ GUI, bevor du compilierst.
+
+
+
+
+ Wenn Du MEncoder (unseren super Allzweck-Encoder)
+ installieren möchtest, siehe Abschnitt
+ MEncoder.
+
+
+
+
+ Wenn du eine V4L-kompatible TV-Tuner-Karte hast
+ und Filme mit MPlayer anschauen/grabben und encodieren
+ möchtest, lies den Abschnitt TV-Input.
+
+
+
+
+ Wenn du eine V4L-kompatible Radioempfängerkarte hast
+ und mit MPlayer Radio hören oder aufnehmen möchtest,
+ lies den Abschnitt radio.
+
+
+
+
+ Es gibt Unterstützung für ein schickes OSD-Menü,
+ das benutzt werden kann. Siehe Abschnitt OSD-Menü.
+
+
+
-
-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,
-libpng (und deren Entwicklungskram,
-normalerweise gtk-dev genannt),
-installiert sein. Du kannst die GUI durch Angabe von
-während ./configure aktivieren. Dann musst du, um den
-GUI-Modus zu aktivieren, die Binärdatei gmplayer starten.
-
+
+ Baue dann MPlayer:
+./configure
+make
+make install
+
-
-Aus technischen Gründen kannst du die Option nicht auf
-der Kommandozeile verwenden.
-
+
+ Zu diesem Zeitpunkt ist MPlayer benutzbar. Das Verzeichnis
+ $PREFIX/share/mplayer enthält die Datei
+ codecs.conf, 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 codecs.conf einer
+ älteren MPlayer-Version in deinem
+ Home-Verzeichnis (~/.mplayer/codecs.conf) hast, und entferne diese.
+
+
+
+ Beachte, dass die eingebaute und vom System bereitgestellte codecs.conf
+ ignoriert wird, wenn du eine codecs.conf im Verzeichnis
+ ~/.mplayer/, hast.
+ Benutze diese nicht, wenn du nicht an den Interna von MPlayer
+ herumbasteln möchtest, da dies viele Probleme hervorrufen kann. Wenn du die Reihenfolge
+ der Suche nach Codecs ändern möchtest, benutze die Optionen ,
+ , , oder auf der
+ Kommandozeile oder in deiner Konfigurationsdatei (siehe Manpage).
+
-
-Da MPlayer kein Skin enthält, musst du eins
-herunterladen, um die GUI benutzen zu können. Siehe
-Download-Seite.
-Sie sollten in das normale systemweite Verzeichnis
-($PREFIX/share/mplayer/skins) oder nach
- $HOME/.mplayer/skins installiert werden.
-MPlayer schaut nach Voreinstellung in diesen Verzeichnissen
-nach einem Verzeichnis mit dem Namen default,
- du kannst aber die Option
- oder die Konfigurationsdateianweisung
- skin=newskin nutzen, um ein Skin im Verzeichnis
- */skins/newskin zu benutzen.
-
-
+
+ Debian-Nutzer können ihr eigenes .deb-Paket bauen, das ist sehr leicht.
+ Führe nur fakeroot debian/rules binary
+ in MPlayers Wurzelverzeichnis aus. Siehe
+ Debian-Packaging für detaillierte Informationen.
+
-
-
-
-Schriften und OSD
+
+ Überprüfe immer die Ausgabe von
+ ./configure und die Datei configure.log,
+ sie enthalten Informationen darüber, was eingebaut wird und was nicht.
+ Du möchtest dir vielleicht auch die Dateien
+ config.h und config.mak anschauen.
+ Wenn du manche Bibliotheken installiert hast, die von
+ ./configure aber nicht erkannt werden, überprüfe auch
+ die entsprechenden Header-Dateien (normalerweise die -dev-Pakete) und ob deren
+ Versionen passen. Die Datei configure.log gibt
+ normalerweise Auskunft darüber, was fehlt.
+
-
-Du musst MPlayer 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.
-
+
+ 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
+ MPlayer anzuweisen, diese zu benutzen.
+ Siehe Abschnitt Untertitel und OSD für Details.
+
+
+
+
+
+
+
+ Was ist mit der GUI?
+
+ 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,
+ libpng (und deren Entwicklungskram,
+ normalerweise gtk-dev genannt),
+ installiert sein. Du kannst die GUI durch Angabe von
+ während ./configure aktivieren. Dann musst du, um den
+ GUI-Modus zu aktivieren, die Binärdatei gmplayer starten.
+
-
-TrueType-Schriften
+
+ Aus technischen Gründen kannst du die Option nicht auf
+ der Kommandozeile verwenden.
+
-
- Es gibt zwei Möglichkeiten, TrueType-Schriften ans Laufen zu bekommen.
- Die erste besteht darin, die 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 subfont.ttf genannten Symlink
- zu der Schriftart deiner Wahl zu erstellen. Führe entweder
- ln -s /Pfad/zur/Schrift.ttf ~/.mplayer/subfont.ttf
- für jeden User durch, oder erstelle einen systemweiten Symlink:
- ln -s /Pfad/zur/Schrift.ttf $PREFIX/share/mplayer/subfont.ttf
-
+
+ Da MPlayer kein Skin enthält, musst du eins
+ herunterladen, um die GUI benutzen zu können. Siehe
+ Download-Seite.
+ Sie sollten in das normale systemweite Verzeichnis
+ ($PREFIX/share/mplayer/skins) oder nach
+ $HOME/.mplayer/skins installiert werden.
+ MPlayer schaut nach Voreinstellung in diesen Verzeichnissen
+ nach einem Verzeichnis mit dem Namen default,
+ du kannst aber die Option
+ oder die Konfigurationsdateianweisung
+ skin=newskin nutzen, um ein Skin im Verzeichnis
+ */skins/newskin zu benutzen.
+
+
-
- Wenn MPlayer mit
- fontconfig-Unterstützung compiliert wurde,
- werden die oben genannten Methoden nicht funktionieren; statt dessen erwartet
- einen fontconfig-Schriftnamen,
- und der Standard ist die Schriftart Sans-serif. Um eine Liste der
- fontconfig bekannten Dateien zu erhalten,
- benutze fc-list. Beispiel:
+
+
+
+ Schriften und OSD
-mplayer -font 'Bitstream Vera Sans'anime.mkv
-
-
-
+
+ Du musst MPlayer 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.
+
-
-Bitmap-Schriften
+
+ TrueType-Schriften
-
-Wenn du aus einem bestimmten Grund Bitmap-Schriftwarten verwenden möchtest, lade dir einen Satz
-von unserer Homepage herunter. Du kannst zwischen verschiedenen
-ISO-Schriftarten
-und ein paar Sätzen von Schriftarten, die
-von Benutzern beigetragen wurden,
-in verschiedenen Zeichensätzen wählen.
-
+
+ Es gibt zwei Möglichkeiten, TrueType-Schriften ans Laufen zu bekommen.
+ Die erste besteht darin, die 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 subfont.ttf genannten Symlink
+ zu der Schriftart deiner Wahl zu erstellen. Führe entweder
+ ln -s /Pfad/zur/Schrift.ttf ~/.mplayer/subfont.ttf
+ für jeden User durch, oder erstelle einen systemweiten Symlink:
+ ln -s /Pfad/zur/Schrift.ttf $PREFIX/share/mplayer/subfont.ttf
+
+
+
+ Wenn MPlayer mit
+ fontconfig-Unterstützung compiliert wurde,
+ werden die oben genannten Methoden nicht funktionieren; statt dessen erwartet
+ einen fontconfig-Schriftnamen,
+ und der Standard ist die Schriftart Sans-serif. Um eine Liste der
+ fontconfig bekannten Dateien zu erhalten,
+ benutze fc-list. Beispiel:
+ mplayer -font 'Bitstream Vera Sans'anime.mkv
+
+
+
+
-
-Entpacke die Datei, die du heruntergeladen hast nach
-~/.mplayer oder
-$PREFIX/share/mplayer.
-Benenne dann eins der extrahierten Verzeichnisse um zu
-font, oder erstelle einen Symlink dorthin, zum Beispiel:
-ln -s ~/.mplayer/arial-24 ~/.mplayer/font
-ln -s $PREFIX/share/mplayer/arial-24 $PREFIX/share/mplayer/font
-
+
+ Bitmap-Schriften
+
+
+ Wenn du aus einem bestimmten Grund Bitmap-Schriftwarten verwenden möchtest, lade dir einen Satz
+ von unserer Homepage herunter. Du kannst zwischen verschiedenen
+ ISO-Schriftarten
+ und ein paar Sätzen von Schriftarten, die
+ von Benutzern beigetragen wurden,
+ in verschiedenen Zeichensätzen wählen.
+
-
-Schriftarten sollten eine entsprechende font.desc-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
- zu verwenden. Noch eine Möglichkeit besteht darin, die Untertiteldatei
-umzubenennen zu <video_name>.utf und sie im selben Verzeichnis wie
-die Videodatei abzulegen.
-
+
+ Entpacke die Datei, die du heruntergeladen hast nach
+ ~/.mplayer oder
+ $PREFIX/share/mplayer.
+ Benenne dann eins der extrahierten Verzeichnisse um zu
+ font, oder erstelle einen Symlink dorthin, zum Beispiel:
+ ln -s ~/.mplayer/arial-24 ~/.mplayer/font
+ ln -s $PREFIX/share/mplayer/arial-24 $PREFIX/share/mplayer/font
+
-
+
+ Schriftarten sollten eine entsprechende font.desc-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
+ zu verwenden. Noch eine Möglichkeit besteht darin, die Untertiteldatei
+ umzubenennen zu <video_name>.utf und sie im selben Verzeichnis wie
+ die Videodatei abzulegen.
+
+
+
-
-OSD-Menü
-
-
-MPlayer hat eine komplett benutzerdefinierbare OSD-Menü-Schnittstelle.
-
-
-
-Das Menü Einstellungen ist momentan NICHT IMPLEMENTIERT!
-
+
+ OSD-Menü
-
-Installation
-
- compiliere MPlayer mit Übergabe von
- an ./configure
-
-
- stelle sicher, dass du ein OSD-Font installiert hast
-
-
- kopiere etc/menu.conf in dein
- .mplayer-Verzeichnis
-
-
- kopiere etc/input.conf in dein
- .mplayer-Verzeichnis oder in das systemweite
- MPlayer-Konfigurationsverzeichnis (Standard:
- /usr/local/etc/mplayer)
-
-
- überprüfe und editiere input.conf, um Menüsteuerungstasten
- zu aktivieren (das ist dort beschrieben).
-
-
- starte MPlayer mit folgendem Beispiel:
- $ mplayer -menu datei.avi
-
-
- drücke irgendeine von dir definierte Menütaste
-
-
+
+ MPlayer hat eine komplett benutzerdefinierbare OSD-Menü-Schnittstelle.
+
+
+
+
+ Das Menü Einstellungen ist momentan NICHT IMPLEMENTIERT!
+
+
-
-
-
-
-
-
-RTC
-
-Es gibt drei Zeitgebermethoden in MPlayer.
+
+ Installation
+
+
+ compiliere MPlayer mit Übergabe von
+ an ./configure
+
+
+
+
+ stelle sicher, dass du ein OSD-Font installiert hast
+
+
+
+
+ kopiere etc/menu.conf in dein
+ .mplayer-Verzeichnis
+
+
+
+
+ kopiere etc/input.conf in dein
+ .mplayer-Verzeichnis oder in das systemweite
+ MPlayer-Konfigurationsverzeichnis (Standard:
+ /usr/local/etc/mplayer)
+
+
+
+
+ überprüfe und editiere input.conf, um Menüsteuerungstasten
+ zu aktivieren (das ist dort beschrieben).
+
+
+
+
+ starte MPlayer mit folgendem Beispiel:
+ $ mplayer -menu datei.avi
+
+
+
+
+ drücke irgendeine von dir definierte Menütaste
+
+
+
-
-
-Um die alte Methode zu verwenden, musst du
- gar nichts machen. Diese benutzt usleep(), um
- A/V-Synchronisation abzustimmen, mit +/- 10ms Genauigkeit. Trotzdem muss manchmal
- die Synchronisation noch feiner abgestimmt werden.
-
-
-Der neue Zeitgeber-Code benutzt RTC (RealTime Clock, Echtzeituhr)
- für diese Aufgabe, da dieser präzise 1ms-Timer besitzt.
- Die 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 /proc-Dateisystem
- festlegen. Benutze folgenden Befehl, um RTC für normale Benutzer zu aktivieren
- echo 1024 > /proc/sys/dev/rtc/max-user-freq
- 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.
-
-
- Der Code des dritten Zeitgebers wird mit der Option
- aktiviert. Der hat die Effizienz von RTC, benutzt RTC aber nicht.
- Auf der anderen Seite benötigt er mehr CPU.
-
-
-
-
+
+
+
+
+
+
+ RTC
+
+ Es gibt drei Zeitgebermethoden in MPlayer.
+
+
+
+
+ Um die alte Methode zu verwenden, musst du
+ gar nichts machen. Diese benutzt usleep(), um
+ A/V-Synchronisation abzustimmen, mit +/- 10ms Genauigkeit. Trotzdem muss manchmal
+ die Synchronisation noch feiner abgestimmt werden.
+
+
+
+
+ Der neue Zeitgeber-Code benutzt RTC (RealTime Clock, Echtzeituhr)
+ für diese Aufgabe, da dieser präzise 1ms-Timer besitzt.
+ Die 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 /proc-Dateisystem
+ festlegen. Benutze folgenden Befehl, um RTC für normale Benutzer zu aktivieren
+ echo 1024 > /proc/sys/dev/rtc/max-user-freq
+ 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.
+
+
+
+
+ Der Code des dritten Zeitgebers wird mit der Option
+ aktiviert. Der hat die Effizienz von RTC, benutzt RTC aber nicht.
+ Auf der anderen Seite benötigt er mehr CPU.
+
+
+
+
+
diff -r 8785e5d4f760 -r 66bf507e05f0 DOCS/xml/de/ports.xml
--- a/DOCS/xml/de/ports.xml Wed Sep 27 08:40:37 2006 +0000
+++ b/DOCS/xml/de/ports.xml Wed Sep 27 08:59:17 2006 +0000
@@ -1,272 +1,265 @@
+
-Portierungen
-
-
-Linux
-
- Die Hauptentwicklungsplattform ist Linux auf x86, obwohl
- MPlayer auf vielen anderen Linux-Portierungen
- funktioniert.
- Binary Packages von MPlayer stehen auf mehreren Quellen
- zur Verfügung. Jedoch wird keines dieser Packages unterstützt.
- Melde den Autoren die Probleme, nicht uns.
-
-
-
-Debian-Packaging
-
- Um ein Debian-Package zu bauen, führe folgenden Befehl im source-Verzeichnis von
- MPlayer aus:
-
-fakeroot debian/rules binary
-
- Wenn du eigene Optionen an configure übergeben willst, kannst du die Umgebungsvariable
- DEB_BUILD_OPTIONS einrichten. Zum Beispiel, wenn du die
- GUI- und OSD-Menü-Unterstützung willst, die du gerne nutzen würdest:
-
-DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary
-
- 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:
-
-CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary
-
- Um den Sourcetree aufzuräumen, führe folgenden Befehl aus:
-
-fakeroot debian/rules clean
-
- Als root kannst du dann das .deb-Package wie immer installieren:
-
-dpkg -i ../mplayer_version.deb
-
-
-
- Christian Marillat hatte eine Weile lang inoffizielle Debian-Packages von
- MPlayer, MEncoder und
- unseren Binärcodecpaketen erstellt, du kannst sie von
- seiner Homepage
- mit apt-get herunterladen.
-
-
-
-
-RPM-Packaging
-
- Dominik Mierzejewski entwarf und wartet die inoffiziellen RPM-Packages von
- MPlayer für Red Hat und Fedora Core. Sie sind von
- seinem Repository
- verfügbar.
-
-
-
- Mandrake/Mandriva RPM-Packages stehen auf P.L.F.
- zur Verfügung.
- SuSE verwendet eine verkrüppelte Version von MPlayer
- in seiner Distribution. Diese haben sie aus ihren neuesten Releases entfernt. Du
- bekommst funktionierende RPMs auf
-links2linux.de.
-
-
-
-
-ARM
-
- MPlayer läuft auf Linux PDAs mit ARM CPU, z.B. Sharp Zaurus,
- Compaq Ipaq. Der einfachste Weg, sich MPlayer zu besorgen ist,
- sich ihn von einer der
- OpenZaurus Package Feeds zu holen. Falls
- du ihn dir selbst compilieren willst, solltest du im
- mplayer-
- und im
- libavcodec-Verzeichnis
- der OpenZaurus Distribution Buildroot nachsehen. Diese haben stets die neueste
- Makefile und Patches, die zum Erstellen eines CVS-MPlayer mit
- libavcodec verwendet werden.
- Brauchst du ein GUI-Frontend, kannst du xmms-embedded nutzen.
-
-
-
-
-
-*BSD
-
- MPlayer läuft auf allen bekannten BSD-Derivaten.
- Es stehen ports/pkgsrc/fink/etc-Versionen des MPlayer
- bereit, die möglicherweise leichter anzuwenden sind als unsere Originalquellen.
-
-
-
- Um MPlayer zu erstellen, brauchst du GNU make
- (gmake - natives BSD make wird nicht funktionieren) und eine aktuelle Version
- der binutils.
-
-
-
- Beschwert sich MPlayer, er könne /dev/cdrom
- oder /dev/dvd nicht finden, erstelle einen geeigneten symbolischen Link:
-ln -s /dev/dein_cdrom_geraet /dev/cdrom
-
-
-
- Um Win32-DLLs mit MPlayer zu nutzen, musst du
- den Kernel mit "option USER_LDT" recompilieren
- (es sei denn du lässt FreeBSD-CURRENT laufen, wobei dies die
- Standard-Einstellung ist).
-
-
-
-
-FreeBSD
-
- Besitzt deine CPU SSE, recompiliere deinen Kernel mit
- "options CPU_ENABLE_SSE" (FreeBSD-STABLE oder
- Kernel-Patches erforderlich).
-
-
-
-
-OpenBSD
-
- 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 $PATH liegt und
- führe ein gmake -k aus. Sorge dann dafür, dass die native Version
- benutzt wird, und führe gmake aus.
-
-
- Ab OpenBSD 3.4 ist der oben beschriebene Hack nicht länger nötig.
-
-
-
-
-Darwin
-
- Siehe Abschnitt Mac OS.
-
-
-
-
-
-Kommerzielles Unix
-
-
- MPlayer 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.
-
-
-
-Solaris
-
- MPlayer sollte auf Solaris 2.6 oder neuer funktionieren.
- Verwende den Audio-Treiber von SUN mit der Option für
- den Sound.
-
-
-
- Auf UltraSPARCs, profitiert
- MPlayer von deren
- VIS-Erweiterungen (äquivalent zu MMX), zur Zeit
- nur in
- libmpeg2,
- libvo
- und libavcodec, jedoch nicht in
- mp3lib. Du kannst dir eine VOB-Datei
- auf einer 400MHz CPU ansehen. Dazu muss
- mLib
- installiert sein.
-
-
-Vorbehalt:
-
- mediaLib wird in
- MPlayer momentan aufgrund Fehlerhaftigkeit
- per Voreinstellung deaktiviert. 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:
-
- $ ./configure --enable-mlib
-
- Du tust dies auf eigenes Risiko. x86-Benutzer sollten mediaLib
- niemals benutzen, da dies zu sehr schlechter
- Performance von MPlayer führt.
-
-
-
-
- Um das Package zu erstellen, brauchst du GNU make
- (gmake, /opt/sfw/gmake), 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:
-
- % /usr/ccs/bin/make
- make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
-
-
-
-
- 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.
-
-
-
- Auf Solaris x86 brauchst du den GNU Assembler und den GNU C/C++ Compiler
- so konfiguriert, dass er den GNU Assembler verwendet! Der
- MPlayer-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 /usr/ccs/bin/as
- verwendet.
-
-
-
- Das configure-Script versucht herauszufinden, welches
- Assembler-Programm von deinem "gcc"-Befehl genutzt wird (falls die
- automatische Erkennung fehlschlägt, nimm die Option
- ,
- um dem configure-Script zu zeigen, wo es GNU "as" auf
- deinem System finden kann).
-
-
-Lösung für gebräuchliche Probleme:
-
-
- Fehlermeldung von configure auf einem Solaris x86 System,
- wenn man GCC ohne GNU Assembler anwendet:
-
- % configure
- ...
- Checking assembler (/usr/ccs/bin/as) ... , failed
- Please upgrade(downgrade) binutils to 2.10.1...
-
- (Lösung: Installiere und verwende einen gcc, konfiguriert mit
- )
-
-
-
- Ein typischer Fehler, den du bekommst, wenn du mit einem GNU C Compiler arbeitest, der
- GNU "as" nicht verwendet:
-
- % 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 ...
-
-
-
-
-
- MPlayer kann eine Schutzverletzung auslösen, wenn
- mit win32codecs decodiert und encodiert wird:
-
+ Portierungen
+
+
+ Linux
+
+ Die Hauptentwicklungsplattform ist Linux auf x86, obwohl
+ MPlayer auf vielen anderen Linux-Portierungen
+ funktioniert.
+ Binary Packages von MPlayer stehen auf mehreren Quellen
+ zur Verfügung. Jedoch wird keines dieser Packages unterstützt.
+ Melde den Autoren die Probleme, nicht uns.
+
+
+
+ Debian-Packaging
+
+ Um ein Debian-Package zu bauen, führe folgenden Befehl im Source-Verzeichnis von
+ MPlayer aus:
+
+ fakeroot debian/rules binary
+
+ Wenn du eigene Optionen an configure übergeben willst, kannst du die Umgebungsvariable
+ DEB_BUILD_OPTIONS einrichten. Zum Beispiel, wenn du die
+ GUI- und OSD-Menü-Unterstützung willst, die du gerne nutzen würdest:
+
+ DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary
+
+ 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:
+
+ CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary
+
+ Um den Sourcetree aufzuräumen, führe folgenden Befehl aus:
+
+ fakeroot debian/rules clean
+
+ Als root kannst du dann das .deb-Package wie immer installieren:
+
+ dpkg -i ../mplayer_version.deb
+
+
+
+ Christian Marillat hatte eine Weile lang inoffizielle Debian-Packages von
+ MPlayer, MEncoder und
+ unseren Binärcodecpaketen erstellt, du kannst sie von
+ seiner Homepage
+ mit apt-get herunterladen.
+
+
+
+
+ RPM-Packaging
+
+ Dominik Mierzejewski entwarf und wartet die inoffiziellen RPM-Packages von
+ MPlayer für Red Hat und Fedora Core. Sie sind von
+ seinem Repository
+ verfügbar.
+
+
+
+ Mandrake/Mandriva RPM-Packages stehen auf P.L.F.
+ zur Verfügung.
+ SuSE verwendet eine verkrüppelte Version von MPlayer
+ in seiner Distribution. Diese haben sie aus ihren neuesten Releases entfernt. Du
+ bekommst funktionierende RPMs auf
+ links2linux.de.
+
+
+
+
+ ARM
+
+ MPlayer läuft auf Linux PDAs mit ARM CPU, z.B. Sharp Zaurus,
+ Compaq Ipaq. Der einfachste Weg, sich MPlayer zu besorgen ist,
+ sich ihn von einer der
+ OpenZaurus Package Feeds zu holen. Falls
+ du ihn dir selbst compilieren willst, solltest du im
+ mplayer-
+ und im
+ libavcodec-Verzeichnis
+ der OpenZaurus Distribution Buildroot nachsehen. Diese haben stets die neueste
+ Makefile und Patches, die zum Erstellen eines CVS-MPlayer mit
+ libavcodec verwendet werden.
+ Brauchst du ein GUI-Frontend, kannst du xmms-embedded nutzen.
+
+
+
+
+
+ *BSD
+
+ MPlayer läuft auf allen bekannten BSD-Derivaten.
+ Es stehen ports/pkgsrc/fink/etc-Versionen des MPlayer
+ bereit, die möglicherweise leichter anzuwenden sind als unsere Originalquellen.
+
+
+
+ Um MPlayer zu erstellen, brauchst du GNU make
+ (gmake - natives BSD make wird nicht funktionieren) und eine aktuelle Version
+ der binutils.
+
+
+
+ Beschwert sich MPlayer, er könne /dev/cdrom
+ oder /dev/dvd nicht finden, erstelle einen geeigneten symbolischen Link:
+ ln -s /dev/dein_cdrom_geraet /dev/cdrom
+
+
+
+ Um Win32-DLLs mit MPlayer zu nutzen, musst du
+ den Kernel mit "option USER_LDT" recompilieren
+ (es sei denn du lässt FreeBSD-CURRENT laufen, wobei dies die
+ Standard-Einstellung ist).
+
+
+
+
+ FreeBSD
+
+ Besitzt deine CPU SSE, recompiliere deinen Kernel mit
+ "options CPU_ENABLE_SSE" (FreeBSD-STABLE oder
+ Kernel-Patches erforderlich).
+
+
+
+
+ OpenBSD
+
+ 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 $PATH liegt und
+ führe ein gmake -k aus. Sorge dann dafür, dass die native Version
+ benutzt wird, und führe gmake aus.
+
+
+ Ab OpenBSD 3.4 ist der oben beschriebene Hack nicht länger nötig.
+
+
+
+
+ Darwin
+
+ Siehe Abschnitt Mac OS.
+
+
+
+
+
+ Kommerzielles Unix
+
+
+ MPlayer 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.
+
+
+
+ Solaris
+
+ MPlayer sollte auf Solaris 2.6 oder neuer funktionieren.
+ Verwende den Audio-Treiber von SUN mit der Option für
+ den Sound.
+
+
+
+ Auf UltraSPARCs, profitiert
+ MPlayer von deren
+ VIS-Erweiterungen (äquivalent zu MMX), zur Zeit
+ nur in
+ libmpeg2,
+ libvo
+ und libavcodec, jedoch nicht in
+ mp3lib. Du kannst dir eine VOB-Datei
+ auf einer 400MHz CPU ansehen. Dazu muss
+ mLib
+ installiert sein.
+
+
+ Vorbehalt:
+
+ mediaLib wird in
+ MPlayer momentan aufgrund Fehlerhaftigkeit
+ per Voreinstellung deaktiviert. 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:
+ $ ./configure --enable-mlib
+ Du tust dies auf eigenes Risiko. x86-Benutzer sollten mediaLib
+ niemals benutzen, da dies zu sehr schlechter
+ Performance von MPlayer führt.
+
+
+
+
+ Um das Package zu erstellen, brauchst du GNU make
+ (gmake, /opt/sfw/gmake), 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:
+% /usr/ccs/bin/make
+make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
+
+
+
+ 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.
+
+
+
+ Auf Solaris x86 brauchst du den GNU Assembler und den GNU C/C++ Compiler
+ so konfiguriert, dass er den GNU Assembler verwendet! Der
+ MPlayer-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 /usr/ccs/bin/as
+ verwendet.
+
+
+
+ Das configure-Script versucht herauszufinden, welches
+ Assembler-Programm von deinem "gcc"-Befehl genutzt wird (falls die
+ automatische Erkennung fehlschlägt, nimm die Option
+ ,
+ um dem configure-Script zu zeigen, wo es GNU "as" auf
+ deinem System finden kann).
+
+
+ Lösung für gebräuchliche Probleme:
+
+
+ Fehlermeldung von configure auf einem Solaris x86 System,
+ wenn man GCC ohne GNU Assembler anwendet:
+% configure
...
+Checking assembler (/usr/ccs/bin/as) ... , failed
+Please upgrade(downgrade) binutils to 2.10.1...
+ (Lösung: Installiere und verwende einen gcc, konfiguriert mit
+ )
+
+
+
+ Ein typischer Fehler, den du bekommst, wenn du mit einem GNU C Compiler arbeitest, der
+ GNU "as" nicht verwendet:
+% 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 ...
+
+
+
+
+
+ MPlayer kann eine Schutzverletzung auslösen, wenn
+ mit win32codecs decodiert und encodiert wird:
+...
Trying to force audio codec driver family acm...
Opening audio decoder: [acm] Win32/ACM decoders
sysi86(SI86DSCR): Invalid argument
@@ -274,686 +267,668 @@
MPlayer interrupted by signal 11 in module: init_audio_codec
-...
-
-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:
- .
-
-
-
-
- Aufgrund von Bugs in Solaris 8 kann es dazu kommen, dass du keine DVD-Disks
- größer 4 GB abspielen kannst:
-
-
-
-
- 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
- ().
- Dieses Problem existiert nicht in der SPARC-Version von Solaris 8.
-
-
-
- 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
- ().
- Dieses hsfs-Problem kann durch die Installation von Patch 109764-04 (sparc) / 109765-04 (x86)
- gefixt werden.
-
-
-
-
-
-
-
-IRIX
-
- 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:
-./configure --with-install=/path/and/name/of/install
-
-
-
- Oder du kannst die mit IRIX 6.5 gelieferte Standard-Installation verwenden, falls
- du das Makefile ein bisschen von Hand editieren willst.
- Ändere folgende beiden Zeilen von:
-
- $(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
-
- $(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf
-
- nach:
-
- $(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
-
- $(INSTALL) -m 644 codecs.conf $(CONFDIR)/
-
- Mache dann (vom MPlayer-Quellverzeichnis aus)
-cp DOCS/mplayer.1 . ; cp etc/codecs.conf .
- und fahre dann fort mit Compilierung und Installation.
-
-
-
-
-
-HP-UX
-
- Joe Page unterhält ein detailliertes HP-UX
- MPlayer-HOWTO
- von Martin Gansser auf seiner Homepage. Mit diesen Instruktionen sollte das bauen
- hervorragend funktionieren. Die folgende Information wurde aus diesem HOWTO übernommen.
-
-
-
- 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.
-
-
-
- Erzeuge das DVD-Gerät,
- scanne den SCSI-Bus mit:
-
-
-
-# ioscan -fn
+...
+ 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:
+ .
+
+
+
+
+
+ Aufgrund von Bugs in Solaris 8 kann es dazu kommen, dass du keine DVD-Disks
+ größer 4 GB abspielen kannst:
+
+
+
+
+
+ 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
+ ().
+ Dieses Problem existiert nicht in der SPARC-Version von Solaris 8.
+
+
+
+
+
+ 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
+ ().
+ Dieses hsfs-Problem kann durch die Installation von Patch 109764-04 (sparc) / 109765-04 (x86)
+ gefixt werden.
+
+
+
+
+
+
+
+
+
+ IRIX
+
+ 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:
+ ./configure --with-install=/path/and/name/of/install
+
+
+
+ Oder du kannst die mit IRIX 6.5 gelieferte Standard-Installation verwenden, falls
+ du das Makefile ein bisschen von Hand editieren willst.
+ Ändere folgende beiden Zeilen von:
+$(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
+$(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf
+ nach:
+$(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
+$(INSTALL) -m 644 codecs.conf $(CONFDIR)/
+ Mache dann (vom MPlayer-Quellverzeichnis aus)
+ cp DOCS/mplayer.1 . ; cp etc/codecs.conf .
+ und fahre dann fort mit Compilierung und Installation.
+
+
+
+
+
+ HP-UX
+
+ Joe Page unterhält ein detailliertes HP-UX
+ MPlayer-HOWTO
+ von Martin Gansser auf seiner Homepage. Mit diesen Instruktionen sollte das bauen
+ hervorragend funktionieren. Die folgende Information wurde aus diesem HOWTO übernommen.
+
+
+
+ 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.
+
+
+
+ Erzeuge das DVD-Gerät,
+ scanne den SCSI-Bus mit:
+
+
+# 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.2.0 sdisk CLAIMED DEVICE PIONEER DVD-ROM DVD-305
- /dev/dsk/c1t2d0 /dev/rdsk/c1t2d0
+/dev/dsk/c1t2d0 /dev/rdsk/c1t2d0
target 4 8/16/5.7 tgt CLAIMED DEVICE
ctl 1 8/16/5.7.0 sctl CLAIMED DEVICE Initiator
- /dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0
-...
-
-
-
- Die Bildschirmausgabe zeigt ein Pioneer DVD-ROM an SCSI-Adresse 2.
- Die Karteninstanz für den Hardwarepfad 8/16 ist 1.
-
-
-
- Erstelle einen Link von deinem Originalgerät zum DVD-Gerät.
-
-
-
-# ln -s /dev/rdsk/c<SCSI-Bus-Instanz>t<SCSI Ziel-ID>d<LUN> /dev/<geraet>
-
-
-
- Beispiel:
-
-
-
-# ln -s /dev/rdsk/c1t2d0 /dev/dvd
-
-
-
- Unten stehen lösungen für einige verbreitete Probleme:
-
-
-
-
-
- Absturz beim Start mit folgender Fehlermeldung:
-
-/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl
-
-
-
-
- Dies bedeutet, dass die Funktion .finite(). nicht
- in der Standard-Bibliothek HP-UX math zur Verfügung steht.
- Statt dessen gibt es .isfinite()..
- Lösung: Benutze die neueste Mesa-Depotdatei.
-
-
-
-
-
- Absturz beim Playback mit folgender Fehlermeldung:
-
-/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0
-
-
-
-
- Lösung: Benutze die Option extralibdir von configure
-
-
-
-
-
-
- MPlayer produziert eine Schutzverletzung (segfault) mit einer Meldung wie dieser:
-
-Pid 10166 received a SIGSEGV for stack growth failure.
+/dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0
+...
+
+
+ Die Bildschirmausgabe zeigt ein Pioneer DVD-ROM an SCSI-Adresse 2.
+ Die Karteninstanz für den Hardwarepfad 8/16 ist 1.
+
+
+
+ Erstelle einen Link von deinem Originalgerät zum DVD-Gerät.
+
+
+ # ln -s /dev/rdsk/c<SCSI-Bus-Instanz>t<SCSI Ziel-ID>d<LUN> /dev/<geraet>
+
+
+ Beispiel:
+
+
+ # ln -s /dev/rdsk/c1t2d0 /dev/dvd
+
+
+ Unten stehen lösungen für einige verbreitete Probleme:
+
+
+
+
+
+ Absturz beim Start mit folgender Fehlermeldung:
+ /usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl
+
+
+
+ Dies bedeutet, dass die Funktion .finite(). nicht
+ in der Standard-Bibliothek HP-UX math zur Verfügung steht.
+ Statt dessen gibt es .isfinite()..
+ Lösung: Benutze die neueste Mesa-Depotdatei.
+
+
+
+
+
+ Absturz beim Playback mit folgender Fehlermeldung:
+ /usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0
+
+
+
+ Lösung: Benutze die Option extralibdir von configure
+
+
+
+
+
+
+ MPlayer produziert eine Schutzverletzung (segfault) mit einer Meldung wie dieser:
+Pid 10166 received a SIGSEGV for stack growth failure.
Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz.
-Segmentation fault
-
-
-
-
- Lösung:
- Der HP-UX-Kernel hat eine Standard-Stackgröße von 8MB(?) pro Prozess. (11.0- und
- neuere 10.20-Patches lassen dich maxssiz bis auf
- 350MB für 32bit-Programme erhöhen). Du musst maxssiz
- erweitern und den Kernel recompilieren (und neu starten). Dazu kannst du SAM
- verwenden. (Überprüfe während des Neustarts den
- maxdsiz-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.)
-
-
-
-
-
-
-
-AIX
-
- MPlayer wird erfolgreich auf AIX 5.1,
- 5.2 und 5.3 erzeugt, verwendet man GCC 3.3 oder höher. Das Erzeugen von
- MPlayer auf AIX 4.3.3 und darunter wurde nicht
- getestet. Es wird dringend empfohlen, MPlayer
- mit GCC 3.4 oder höher zu erzeugen, oder es wird, falls du auf POWER5
- arbeitest, GCC 4.0 benötigt.
-
-
-
- Stelle sicher, dass du GNU make
- (/opt/freeware/bin/gmake) zum bauen von
- MPlayer nutzt, da du auf Probleme stossen wirst,
- wenn du /usr/ccs/bin/make anwendest.
-
-
-
- Die CPU-Erkennung ist noch in Arbeit.
- Die folgenden Architekturen wurden getestet:
-
-
-
-604e
-POWER3
-POWER4
-
-
-
- Folgende Architekturen wurden nicht getestet, sollten jedoch trotzdem funktionieren:
-
-
-POWER
-POWER2
-POWER5
-
-
-
- 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
- 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
- AIX 5.2 und 5.3 momentan keine MPlayer-Tonausgabe beherrschen.
-
-
-Lösung für gebräuchliche Probleme:
+Segmentation fault
+
+
+
+ Lösung:
+ Der HP-UX-Kernel hat eine Standard-Stackgröße von 8MB(?) pro Prozess. (11.0- und
+ neuere 10.20-Patches lassen dich maxssiz bis auf
+ 350MB für 32bit-Programme erhöhen). Du musst maxssiz
+ erweitern und den Kernel recompilieren (und neu starten). Dazu kannst du SAM
+ verwenden. (Überprüfe während des Neustarts den
+ maxdsiz-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.)
+
+
+
+
+
+
+
+ AIX
+
+ MPlayer wird erfolgreich auf AIX 5.1,
+ 5.2 und 5.3 erzeugt, verwendet man GCC 3.3 oder höher. Das Erzeugen von
+ MPlayer auf AIX 4.3.3 und darunter wurde nicht
+ getestet. Es wird dringend empfohlen, MPlayer
+ mit GCC 3.4 oder höher zu erzeugen, oder es wird, falls du auf POWER5
+ arbeitest, GCC 4.0 benötigt.
+
+
+
+ Stelle sicher, dass du GNU make
+ (/opt/freeware/bin/gmake) zum bauen von
+ MPlayer nutzt, da du auf Probleme stossen wirst,
+ wenn du /usr/ccs/bin/make anwendest.
+
+
+
+ Die CPU-Erkennung ist noch in Arbeit.
+ Die folgenden Architekturen wurden getestet:
+
+
+
+ 604e
+ POWER3
+ POWER4
+
+
+
+ Folgende Architekturen wurden nicht getestet, sollten jedoch trotzdem funktionieren:
+
+
+ POWER
+ POWER2
+ POWER5
+
+
+
+ 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
+ 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
+ AIX 5.2 und 5.3 momentan keine MPlayer-Tonausgabe beherrschen.
+
+
+ Lösung für gebräuchliche Probleme:
+
+
+
+
+ Wenn du folgende Fehlermeldung von configure erhältst:
+$ ./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.
-
-
-
- Wenn du folgende Fehlermeldung von configure erhältst:
-
-$ ./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.
-
- 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:
-
-$ ./configure --charset=noconv
-
-
-
-
-
-
-
-
-
-Windows
-
-
- Ja, MPlayer läuft auf Windows unter
- Cygwin und
- MinGW.
- Es besitzt noch kein offizielles GUI, aber die Befehlszeilen-Version
- ist voll funktionstüchtig. Du solltest die
- MPlayer-cygwin
- Mailing-Liste für Hilfe und für neueste Informationen hernehmen.
- Offizielle Windows-Binaries können auf der
- Download-Seite
- gefunden werden.
- Installationspakete und einfache GUI-Frontends stehen auf externen Quellen bereit,
- wir haben sie in der Windows-Sektion unserer
- Projektseite
- zusammengestellt.
-
-
-
- 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:
- c:\pfad\zur\mplayer.exe %1
- Dies lässt MPlayer jeden Film abspielen, der
- über der Verknüpfung fallen gelassen wird.
- Füge für den Vollbildmodus hinzu.
-
-
-
- Die besten Ergebnisse werden mit dem nativen DirectX-Video-Ausgabetreiber
- () 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
- abzuschalten. Lade dir die
- DirectX7-Headerdateien
- herunter, um den DirectX-Video-Ausgabetreiber zu compilieren. Desweiteren musst du
- DirectX 7 oder höher installiert haben, damit der DirectX-Video-Ausgabetreiber
- funktioniert.
-
-
-
- VIDIX läuft jetzt unter Windows als
- , obwohl es nach wie vor experimentell ist
- und ein wenig manuelles Setup benötigt. Lade dir die
- dhahelper.sys oder
- dhahelper.sys
- (mit MTRR-Unterstützubg) herunter und kopiere sie ins Verzeichnis
- libdha/dhahelperwin deines
- MPlayer-Source-Baums.
- Öffne die Console und wechsle in dieses Verzeichnis. Gib dann
-
- gcc -o dhasetup.exe dhasetup.c
-
- ein und führe
-
- dhasetup.exe install
-
- als Administrator aus. Danach wirst du neu starten müssen. Bist du damit fertig,
- kopiere die .so-Dateien von
- vidix/drivers ins Verzeichnis
- mplayer/vidix
- relativ zu deiner mplayer.exe.
-
-
-
- Für die besten Resultate sollte MPlayer 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
-
- mplayer -benchmark -nosound -frames 100 -vf format=Farbraumvilm
-
- wobei Farbraum jeder von der Option
- ausgegebene Farbraum sein kann.
- Findest du den von deiner Karte verarbeiteten Farbraum besonders schlecht,
- wird
- sie daran hindern, diesen anzuwenden. Füge dies in deine
- config-Datei ein, um die Verwendung permanent zu unterbinden.
-
-
-
- Es stehen spezielle Codec-Packs für Windows auf unserer
- Codec-Seite
- 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
-
- (alternativ nur auf Cygwin
- )
- an configure.
- Wir bekamen einige Berichte, dass Real-DLLs beschreibbar sein müssen, um MPlayer
- starten zu können, aber nur auf manchen Systemen (NT4).
- Versuche, sie beschreibbar zu machen, falls du Probleme hast.
-
-
-
- Du kannst VCDs über die .DAT- oder
- .MPG-Dateien, die Windows auf VCDs anzeigt, abspielen.
- Das funktioniert wie folgt (an den Laufwerksbuchstaben deines CD-ROMs anpassen:
-
-
-mplayer d:/mpegav/avseq01.dat
-
-
- DVDs gehen ebenfalls, passe an den
- Laufwerksbuchstaben deines DVD-ROMs an:
-
-
-mplayer dvd://<Titel> -dvd-device d:
-
-
- Die Cygwin-/MinGW-Konsole
- ist sehr langsam. Die Umleitung der Ausgabe oder das Anwenden der Option
- soll laut Berichten die Performance auf einigen Systemen
- verbessern. Direktes Rendern () kann auch helfen.
- Ist das Playback ruckelig, versuche .
- Helfen dir einige dieser Optionen, kannst du sie ja in deine config-Datei
- eintragen.
-
+ 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:
+ $ ./configure --charset=noconv
+
+
+
+
+
+
-
-
- 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.
-
-
-
- Hast du einen Pentium 4 und erlebst einen Absturz bei Verwendung von
- RealPlayer-Codecs, musst du den Support für Hyperthreading deaktivieren.
-
-
-
-
-
-
-Cygwin
-
-
- Du musst Cygwin 1.5.0 oder später laufen
- lassen, um MPlayer zu compilieren.
-
-
-
- DirectX-Headerdateien werden gewöhnlich nach
- /usr/include/ oder
- /usr/local/include/
- extrahiert.
-
-
-
- Instruktionen und Dateien, um SDL unter
- Cygwin laufen zu lassen, können auf der
- libsdl-Seite
- gefunden werden.
-
-
-
-
-
-
-MinGW
-
-
- Das Installieren einer Version von MinGW, das
- MPlayer compilieren könnte zwar für gewöhnlich ziemlich
- trickreich sein, funktioniert jetzt aber hervorragend.
- Installiere einfach MinGW 3.1.0 oder neuer und
- MSYS 1.0.9 oder neuer und erzähle der nachträglichen Installation von MSYS,
- dass MinGW installiert ist.
-
-
-
- Extrahiere die DirectX-Headerdateien nach
- /mingw/include/.
-
-
-
- Die Unterstützung für MOV-komprimierte Header erfordert
- zlib, was
- MinGW standardmäßig nicht bereithält.
- Konfiguriere es mit und installiere
- es vor dem Compilieren des MPlayer.
-
-
-
- Komplette Anweisungen zum Erzeugen des MPlayer
- und der notwendigen Bibliotheken findest du in den
- MPlayer MinGW HOWTOs.
-
-
-
-
-
-
-
-Mac OS
-
-
- MPlayer 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
- Xcode
- von Apple installierst.
- Besitzt du Mac OS X 10.3.9 oder später und QuickTime 7
- kannst du den Videoausgabetreiber verwenden.
-
-
-
- Leider ermöglicht es dir diese grundlegende Umgebung nicht, von allen netten Features
- von MPlayer Gebrauch zu machen.
- Beispielsweise müssen die Bibliotheken fontconfig
- und freetype 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.
-
-
-
- Es stehen mindestens zwei zur Wahl:
- Fink und
- DarwinPorts.
- 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.
-
-
-
- Um zum Beispiel MPlayer mit OSD-Unterstützung zu compilieren:
- sudo port install pkgconfig
- Dies wird pkg-config installieren, was ein System für die
- Handhabung von Compiler-/Link-Flags für Bibliotheken ist.
- Das configure-Skript von MPlayer
- benutzt dies, um Bibliotheken angemessen zu erkennen.
- Dann kannst du fontconfig auf ähnliche Weise installieren:
- sudo port install fontconfig
- Dann kannst du fortfahren mit der Ausführung von MPlayers
- configure-Skript (beachte die Umgebungsvariablen
- PKG_CONFIG_PATH und PATH,
- so dass configure die mit DarwinPorts installierten
- Bibliotheken findet):
- PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure
-
-
-
-MPlayer OS X GUI
-
- Du bekommst ein natives GUI für MPlayer zusammen
- mit für Mac OS X vorcompilierten MPlayer-Binaries
- vom MPlayerOSX-Projekt, sei aber
- gewarnt: Dieses Projekt ist nicht mehr aktiv.
-
-
-
- Zum Glück wurde MPlayerOSX von einem Mitglied des
- MPlayer-Teams übernommen.
- Preview-Releases findet man auf unserer
- Download-Seite,
- und ein offizielles Release sollte bald herauskommen.
-
-
-
- Um MPlayerOSX selbst von den Quellen
- zu bauen, brauchst du mplayerosx, das
- main und eine Kopie des
- main CVS-Moduls genannt
- main_noaltivec.
- mplayerosx ist das GUI-Frontend,
- main ist MPlayer und
- main_noaltivec ist MPlayer ohne AltiVec-Unterstützung.
-
-
-
- Um ein Checkout der SVN-Module durchzuführen, benutze:
-
-
-svn checkout svn://svn.mplayerhq.hu/mplayerosx/trunk/ mplayerosx
-svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ main
-
-
-
-
- Um MPlayerOSX zu bilden, musst du
- so etwas ähnliches einrichten:
-
-
-MPlayer_source_verzeichnis
- |
- |--->main (MPlayer SVN-Quelldateien)
- |
- |--->main_noaltivec (MPlayer SVN-Quelldateien konfiguriert mit --disable-altivec)
- |
- |--->mplayerosx (MPlayer OS X SVN-Quelldateien)
-
-
- Du musst zuerst main und main_noaltivec erzeugen.
-
-
-
- Setze als nächstes eine globale Variable:
-
-export MACOSX_DEPLOYMENT_TARGET=10.3
-
-
-
- Dann konfiguriere:
-
-
-
- Wenn du für eine G4 oder eine neuere CPU mit AltiVec-Support konfigurierst,
- mache folgendes:
-
-./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11
-
- Wenn du für einen G3-getriebenen Rechner mit AltiVec konfigurierst,
- mache dies:
-
-./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11
---disable-altivec
-
- Du musst config.mak editieren und
- -mcpu und -mtune
- von 74XX auf G3 ändern.
-
-
-
- Fahre fort mit
-
-make
-
- und gehe dann ins Verzeichnis mplayerosx, gib dort folgendes ein:
-
-
-make dist
-
- Dies wird ein komprimiertes .dmg-Archiv
- mit der gebrauchsfertigen Binary erzeugen.
-
-
-
- Du kannst auch das Xcode 2.1 Projekt verwenden;
- das alte Projekt für Xcode 1.x läuft
- nicht mehr.
-
-
-
-
-
-Exotische Plattformen
-
-
- MPlayer 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.
-
-
-
-QNX
-
- Du musst SDL für QNX herunterladen und installieren. Dann starte
- MPlayer mit den Optionen
- und ,
- es sollte schnell laufen.
-
-
-
- Der Output mit wird etwas langsamer sein als unter Linux,
- da QNX nur X-Emulation besitzt, was sehr langsam ist.
-
-
-
-
-Amiga/MorphOS (GeekGadgets)
-
- Die Leute drüben auf
- machen aktuelle MPlayer- und
- MEncoder-Packages.
-
-
-
- Nicholas Det bei Genesi hat eine große und starke Portierung des
- MPlayer für MorphOS gemacht. Traurig,
- dass sie auf der 0.90-Serie basiert.
-
-
-
- Hol sie dir von MorphZone:
-
-
-
-MPlayer 0.91 Binary
-
-
-
-MPlayer 0.91 Source
-
-
-
-MEncoder 1.0pre3 Binary
-
-
-
-
-
-
+
+
+ Windows
+
+
+ Ja, MPlayer läuft auf Windows unter
+ Cygwin und
+ MinGW.
+ Es besitzt noch kein offizielles GUI, aber die Befehlszeilen-Version
+ ist voll funktionstüchtig. Du solltest die
+ MPlayer-cygwin
+ Mailing-Liste für Hilfe und für neueste Informationen hernehmen.
+ Offizielle Windows-Binaries können auf der
+ Download-Seite
+ gefunden werden.
+ Installationspakete und einfache GUI-Frontends stehen auf externen Quellen bereit,
+ wir haben sie in der Windows-Sektion unserer
+ Projektseite
+ zusammengestellt.
+
+
+
+ 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:
+ c:\pfad\zur\mplayer.exe %1
+ Dies lässt MPlayer jeden Film abspielen, der
+ über der Verknüpfung fallen gelassen wird.
+ Füge für den Vollbildmodus hinzu.
+
+
+
+ Die besten Ergebnisse werden mit dem nativen DirectX-Video-Ausgabetreiber
+ () 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
+ abzuschalten. Lade dir die
+ DirectX7-Headerdateien
+ herunter, um den DirectX-Video-Ausgabetreiber zu compilieren. Desweiteren musst du
+ DirectX 7 oder höher installiert haben, damit der DirectX-Video-Ausgabetreiber
+ funktioniert.
+
+
+
+ VIDIX läuft jetzt unter Windows als
+ , obwohl es nach wie vor experimentell ist
+ und ein wenig manuelles Setup benötigt. Lade dir die
+ dhahelper.sys oder
+ dhahelper.sys (mit MTRR-Unterstützung)
+ herunter und kopiere sie ins Verzeichnis
+ libdha/dhahelperwin deines
+ MPlayer-Source-Baums.
+ Öffne die Console und wechsle in dieses Verzeichnis. Gib dann
+
+ gcc -o dhasetup.exe dhasetup.c
+
+ ein und führe
+ dhasetup.exe install
+
+ als Administrator aus. Danach wirst du neu starten müssen. Bist du damit fertig,
+ kopiere die .so-Dateien von
+ vidix/drivers ins Verzeichnis
+ mplayer/vidix
+ relativ zu deiner mplayer.exe.
+
+
+
+ Für die besten Resultate sollte MPlayer 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
+
+ mplayer -benchmark -nosound -frames 100 -vf format=Farbraumvilm
+
+ wobei Farbraum jeder von der Option
+ ausgegebene Farbraum sein kann.
+ Findest du den von deiner Karte verarbeiteten Farbraum besonders schlecht,
+ wird
+ sie daran hindern, diesen anzuwenden. Füge dies in deine
+ config-Datei ein, um die Verwendung permanent zu unterbinden.
+
+
+
+ Es stehen spezielle Codec-Packs für Windows auf unserer
+ Codec-Seite
+ 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
+
+ (alternativ nur auf Cygwin
+ )
+ an configure.
+ Wir bekamen einige Berichte, dass Real-DLLs beschreibbar sein müssen, um MPlayer
+ starten zu können, aber nur auf manchen Systemen (NT4).
+ Versuche, sie beschreibbar zu machen, falls du Probleme hast.
+
+
+
+ Du kannst VCDs über die .DAT- oder
+ .MPG-Dateien, die Windows auf VCDs anzeigt, abspielen.
+ Das funktioniert wie folgt (an den Laufwerksbuchstaben deines CD-ROMs anpassen:
+
+
+ mplayer d:/mpegav/avseq01.dat
+
+
+ DVDs gehen ebenfalls, passe an den
+ Laufwerksbuchstaben deines DVD-ROMs an:
+
+
+ mplayer dvd://<Titel> -dvd-device d:
+
+
+ Die Cygwin-/MinGW-Konsole
+ ist sehr langsam. Die Umleitung der Ausgabe oder das Anwenden der Option
+ soll laut Berichten die Performance auf einigen Systemen
+ verbessern. Direktes Rendern () kann auch helfen.
+ Ist das Playback ruckelig, versuche .
+ Helfen dir einige dieser Optionen, kannst du sie ja in deine config-Datei
+ eintragen.
+
+
+
+
+ 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.
+
+
+
+ Hast du einen Pentium 4 und erlebst einen Absturz bei Verwendung von
+ RealPlayer-Codecs, musst du den Support für Hyperthreading deaktivieren.
+
+
+
+
+
+
+ Cygwin
+
+
+ Du musst Cygwin 1.5.0 oder später laufen
+ lassen, um MPlayer zu compilieren.
+
+
+
+ DirectX-Headerdateien werden gewöhnlich nach
+ /usr/include/ oder
+ /usr/local/include/
+ extrahiert.
+
+
+
+ Instruktionen und Dateien, um SDL unter
+ Cygwin laufen zu lassen, können auf der
+ libsdl-Seite
+ gefunden werden.
+
+
+
+
+
+
+ MinGW
+
+
+ Das Installieren einer Version von MinGW, das
+ MPlayer compilieren könnte zwar für gewöhnlich ziemlich
+ trickreich sein, funktioniert jetzt aber hervorragend.
+ Installiere einfach MinGW 3.1.0 oder neuer und
+ MSYS 1.0.9 oder neuer und erzähle der nachträglichen Installation von MSYS,
+ dass MinGW installiert ist.
+
+
+
+ Extrahiere die DirectX-Headerdateien nach
+ /mingw/include/.
+
+
+
+ Die Unterstützung für MOV-komprimierte Header erfordert
+ zlib, was
+ MinGW standardmäßig nicht bereithält.
+ Konfiguriere es mit und installiere
+ es vor dem Compilieren des MPlayer.
+
+
+
+ Komplette Anweisungen zum Erzeugen des MPlayer
+ und der notwendigen Bibliotheken findest du in den
+ MPlayer MinGW HOWTOs.
+
+
+
+
+
+
+
+ Mac OS
+
+
+ MPlayer 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
+ Xcode
+ von Apple installierst.
+ Besitzt du Mac OS X 10.3.9 oder später und QuickTime 7
+ kannst du den Videoausgabetreiber verwenden.
+
+
+
+ Leider ermöglicht es dir diese grundlegende Umgebung nicht, von allen netten Features
+ von MPlayer Gebrauch zu machen.
+ Beispielsweise müssen die Bibliotheken fontconfig
+ und freetype 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.
+
+
+
+ Es stehen mindestens zwei zur Wahl:
+ Fink und
+ DarwinPorts.
+ 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.
+
+
+
+ Um zum Beispiel MPlayer mit OSD-Unterstützung zu compilieren:
+ sudo port install pkgconfig
+ Dies wird pkg-config installieren, was ein System für die
+ Handhabung von Compiler-/Link-Flags für Bibliotheken ist.
+ Das configure-Skript von MPlayer
+ benutzt dies, um Bibliotheken angemessen zu erkennen.
+ Dann kannst du fontconfig auf ähnliche Weise installieren:
+ sudo port install fontconfig
+ Dann kannst du fortfahren mit der Ausführung von MPlayers
+ configure-Skript (beachte die Umgebungsvariablen
+ PKG_CONFIG_PATH und PATH,
+ so dass configure die mit DarwinPorts installierten
+ Bibliotheken findet):
+ PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure
+
+
+
+ MPlayer OS X GUI
+
+ Du bekommst ein natives GUI für MPlayer zusammen
+ mit für Mac OS X vorcompilierten MPlayer-Binaries
+ vom MPlayerOSX-Projekt, sei aber
+ gewarnt: Dieses Projekt ist nicht mehr aktiv.
+
+
+
+ Zum Glück wurde MPlayerOSX von einem Mitglied des
+ MPlayer-Teams übernommen.
+ Preview-Releases findet man auf unserer
+ Download-Seite,
+ und ein offizielles Release sollte bald herauskommen.
+
+
+
+ Um MPlayerOSX selbst von den Quellen
+ zu bauen, brauchst du mplayerosx, das
+ main und eine Kopie des
+ main CVS-Moduls genannt
+ main_noaltivec.
+ mplayerosx ist das GUI-Frontend,
+ main ist MPlayer und
+ main_noaltivec ist MPlayer ohne AltiVec-Unterstützung.
+
+
+
+ Um ein Checkout der SVN-Module durchzuführen, benutze:
+
+svn checkout svn://svn.mplayerhq.hu/mplayerosx/trunk/ mplayerosx
+svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ main
+
+
+
+ Um MPlayerOSX zu bilden, musst du
+ so etwas ähnliches einrichten:
+
+MPlayer_source_verzeichnis
+|
+|--->main (MPlayer SVN-Quelldateien)
+|
+|--->main_noaltivec (MPlayer SVN-Quelldateien konfiguriert mit --disable-altivec)
+|
+|--->mplayerosx (MPlayer OS X SVN-Quelldateien)
+
+ Du musst zuerst main und main_noaltivec erzeugen.
+
+
+
+ Setze als nächstes eine globale Variable:
+
+ export MACOSX_DEPLOYMENT_TARGET=10.3
+
+
+
+ Dann konfiguriere:
+
+
+
+ Wenn du für eine G4 oder eine neuere CPU mit AltiVec-Support konfigurierst,
+ mache folgendes:
+
+ ./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11
+
+ Wenn du für einen G3-getriebenen Rechner mit AltiVec konfigurierst,
+ mache dies:
+
+ ./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11 --disable-altivec
+
+ Du musst config.mak editieren und
+ -mcpu und -mtune
+ von 74XX auf G3 ändern.
+
+
+
+ Fahre fort mit
+ make
+ und gehe dann ins Verzeichnis mplayerosx, gib dort folgendes ein:
+
+ make dist
+
+ Dies wird ein komprimiertes .dmg-Archiv
+ mit der gebrauchsfertigen Binary erzeugen.
+
+
+
+ Du kannst auch das Xcode 2.1 Projekt verwenden;
+ das alte Projekt für Xcode 1.x läuft
+ nicht mehr.
+
+
+
+
+
+ Exotische Plattformen
+
+
+ MPlayer 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.
+
+
+
+ QNX
+
+ Du musst SDL für QNX herunterladen und installieren. Dann starte
+ MPlayer mit den Optionen
+ und ,
+ es sollte schnell laufen.
+
+
+
+ Der Output mit wird etwas langsamer sein als unter Linux,
+ da QNX nur X-Emulation besitzt, was sehr langsam ist.
+
+
+
+
+ Amiga/MorphOS (GeekGadgets)
+
+ Die Leute drüben auf
+ machen aktuelle MPlayer- und
+ MEncoder-Packages.
+
+
+
+ Nicholas Det bei Genesi hat eine große und starke Portierung des
+ MPlayer für MorphOS gemacht. Traurig,
+ dass sie auf der 0.90-Serie basiert.
+
+
+
+ Hol sie dir von MorphZone:
+
+
+
+
+ MPlayer 0.91 Binary
+
+
+
+
+
+ MPlayer 0.91 Source
+
+
+
+
+
+ MEncoder 1.0pre3 Binary
+
+
+
+
+
+
+