# 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 Optionen Dateiname > 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 Optionen Dateiname > 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-mplayer Dateiname -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-mplayer Dateiname + 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 @@ - <application>MPlayer</application> - 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. - - - - - <application>MEncoder</application> 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; - + <application>MPlayer</application> - 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. + + + + + <application>MEncoder</application> 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 <application>MEncoder</application> - - -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.mp2 input_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.mp2 input_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.mkv input_video.avi input_audio1.mp3 input_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 <systemitem class="library">libavcodec</systemitem> - 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 <systemitem class="library">libavcodec</systemitem> - - - - - -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 <systemitem class="library">libavcodec</systemitem> - - - - -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 <application>MEncoder</application> + + + 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.mp2 input_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.mp2 input_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.mkv input_video.avi input_audio1.mp3 input_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 <systemitem class="library">libavcodec</systemitem> + 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 <systemitem class="library">libavcodec</systemitem> + + + + + + 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 <systemitem class="library">libavcodec</systemitem> + + + + + 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 <systemitem class="library">XviD</systemitem>-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 <systemitem class="library">XviD</systemitem> - - - - 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 <systemitem class="library">x264</systemitem>-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 <systemitem class="library">Video for Windows</systemitem> 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.mpg movie.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 <systemitem class="library">XviD</systemitem>-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 <systemitem class="library">XviD</systemitem> + + + + + 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 <systemitem class="library">x264</systemitem>-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 <systemitem class="library">Video for Windows</systemitem> 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.mpg movie.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.mpg movie.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.mpg movie.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.mpg movie.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.mpg movie.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.mpg movie.avi - - - - - -PAL SVCD - - - mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \ + -o movie.mpg movie.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.mpg movie.avi - - - - - -NTSC SVCD - - - mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \ + -o movie.mpg movie.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.mpg movie.avi - - - - - -PAL VCD - - - mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \ + -o movie.mpg movie.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.mpg movie.avi - - - - - -NTSC VCD - - - mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \ + -o movie.mpg movie.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.mpg movie.avi - - - - - - - + -o movie.mpg movie.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=Farbraum vilm - - 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. - - - - - - -<application>Cygwin</application> - - - 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. - - - - - - -<application>MinGW</application> - - - 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=Farbraum vilm + + 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. + + + + + + + <application>Cygwin</application> + + + 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. + + + + + + + <application>MinGW</application> + + + 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 + + + + + + +