mpv/DOCS/German/codecs.html

274 lines
13 KiB
HTML

<HTML>
<BODY BGCOLOR=WHITE>
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
<P><B><A NAME=2.2>2.2. Unterstützte Codecs</A></B></P>
<P><B><A NAME=2.2.1>2.2.1. Video Codecs</A></B></P>
<P>Siehe <A HREF="http://www.mplayerhq.hu/DOCS/codecs-status.html">http://www.mplayerhq.hu/DOCS/codecs-status.html</A> für die komplette,
täglich generierte Liste!!!</P>
<P>Die wichtigsten Video-Codecs:<BR>
<UL>
<LI>MPEG1 (VCD) und MPEG2 (DVD) video</LI>
<LI>DivX ;-), OpenDivX (DivX4), 3ivx und andere MPEG4 Varianten</LI>
<LI>Windows Media Video 7 (WMV1) und 8 (WMV2), verwendet in .wmv-Dateien</LI>
<LI>Intel Indeo Codecs (3.1, 3.2, 4.1, 5.0)</LI>
<LI>MJPEG, ASV2 und andere Hardwareformate</LI>
<LI>XAnim Codecs</LI>
<LI>VIVO</LI>
</UL></P>
<P>Wenn du einen Codec hast, der nicht gelistet ist, und noch nicht unterstützt
ist, lese <A HREF="#2.2.3">Sektion 2.2.3</A> um Infos über den Status zu bekommen
und wie du uns helfen kannst, die Unterstützung hinzuzufügen!</P>
<P><B><A NAME=2.2.1.1>2.2.1.1. DivX4</A></B></P>
<P>Diese Sektion enthält Informationen über den DivX4 Codec von
<A HREF="http://www.projectmayo.com">ProjectMayo</A>. Ihre ersten verfügbaren alpha-Versionen
waren OpenDivX 4.0 alpha 47 und 48. Unterstützung dafür wurde standardgemäß in
<B>MPlayer</B> eingebaut. Wir verwenden seinen Postprocessing-Code um optional
die Bildqualität von MPEG1/2 Filmen zu verbessern.</P>
<P>Die neue Version dieses Codecs kann auch Filme dekodieren, die mit diesen relativ
unbekannten DivX-Codecs erzeugt wurden! Und das ist noch nicht alles, ist es auch UM
EINIGES schneller als die traditionelle Win32 DivX DLL. Siehe unten für die
Konfiguration. Der einigze Nachteil diese Codecs ist, dass er zur Zeit Closed-Source
ist. :(</P>
<P>Der Codec kann unter folgender URL heruntergeladen werden:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="http://download2.projectmayo.com/dnload/divx4linux/divx4linux-20010718.zip">http://download2.projectmayo.com/dnload/divx4linux/divx4linux-20010718.zip</A></P>
<P>Entpacke es und starte <CODE>./install.sh</CODE> als Root.</P>
<P>Hinweis: vergiss NICHT /usr/local/lib deiner /etc/ld.so.conf hinzuzufügen!</P>
<P><B>MPlayer</B> erkennt automatisch, wenn DivX4 installiert ist, kompiliere
es wie gewöhnlich. Wenn es nicht erkannt wird, wurde es nicht exakt wir oben
installiert und/oder du hast eine schlechte Konfiguration (siehe letzte Frage
der 5.1 Sektion).</P>
<P>Bei der Verwendung wurde ein wenig getrickst. Das es einen Konflikt mit dem
alten OpenDivX (die API ist sehr ähnlich zu OpenDivXs) verursacht, wird der
OpenDivX-Code deaktiviert und der OpenDivX-Treiber verwendet auch diese Bibilioteken.</P>
<P>Wir können diese Tatsache ausnützen um zwei Optionen für den Codec zu verwenden:</P>
<P><TABLE BORDER=0>
<TD>&nbsp;&nbsp;</TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vc&nbsp;odivx</TD><TD>&nbsp;&nbsp;</TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>verwendet den DivX4 Codec als eine
neue Version von OpenDivX. In diesem Fall produziert es YV12 Bilder in seinem eigenen Buffer, und
<B>MPlayer</B> (libvo) führt die Colorspace-Konversion durch (<B>EMPFOHLEN</B>).</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vc&nbsp;divx4</TD><TD></TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>verwendet die Colorspace-Konversion
des DivX4 Codecs. In diesem Fall kannst du auch YUY2/UYVY verwenden.</TD><TR>
</TABLE></P>
<P>Die 'odivx' Methode ist normalerweise schneller, da es die Daten in einem YV12
(Planar YUV 4:2:0) Format übermittelt, was weniger Bandbreite für den Bus bedeutet.
Für gepackte YUV Formate (YUY2, UYVY) verwende die 'divx4'-Methode.
Für RGB-Modus kannst du frei wählen, denn die Geschwindigkeit ist die selbe,
möglicherweise ist sie jedoch unterschiedlich bei deiner Farbtiefe.</P>
<P>Hinweis: Es unterstützt auch Postprocessing und die Reichweite der Einstellungen
ist groß:</P>
<P><TABLE BORDER=0>
<TD>&nbsp;&nbsp;</TD><TD>0</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>&nbsp;&nbsp;</TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>kein Postprocessing</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>10 .. 20</TD>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Postprocessing, normal (wie Level 2 mit DivX-DS)</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>30 .. 60</TD>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>starkes Postprocessing, benötigt viel CPU Zeit (wie Level 4 bei DivX-DS)</TD><TR>
</TABLE></P>
<P><B><A NAME=2.1.2.2>2.1.2.2. ffmpegs DivX/libavcodec</A></B></P>
<P>Seit Beginn der Version 0.4.2 enthält <A HREF="http://ffmpeg.sourceforge.net">ffmpeg</A> einen <B>Open-Source</B>
DivX-Codec, welcher kompatibel mit dem traditionellen DivX ist. <B>MPlayer</B>
unterstützt diesen Codec und er ermöglicht, <B>DivX/DivX4 Filme auf nicht-x86
Platformen zu sehen!</B> und es besitzt eine schnelle <B>DivX/DivX4</B> Dekodierung
als der Win32 Codec oder die orginal DivX4 Codec. Es wurde von <B>MPlayer</B>s
CVS-Tree entfernt, du musst es manuel direkt von <B>FFmpeg</B>s Tree beziehen:</P>
<P><CODE>
cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login<BR>
cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg
</CODE></P>
<P>Hinweis: <I>Wenn du es mit den CVS Unterordner kopierst, genügt es das nächste Mal 'cvs update' auszuführen.</I></P>
<P>Verschiebe nun das neu geladene <B>libavcodec</B> Verzeichnis (in den
ffmpeg-Quellen) in das <B>MPlayer</B> Verzeichnise, das es so aussieht:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>main/libavcodec</CODE></P>
<P>Symbolische Links sind NICHT genug, du musst es kopieren oder verschieben!!!</P>
<P>Nun kompiliere. configure erkennt, ob es in Ordnung ist und eingebaut werden
kann. Der Codec <B>unterstützt auch Postprocessing</B>!</P>
<P>Um die <B>größtmögliche Geschwindigkeit</B> auf meinem K6 zu erreichen, habe ich
die <CODE>ffmpeg12</CODE> Sektion von codecs.conf entfernt (dieser Codec ist
nicht optimiert und libmpeg2 ist doppelt so schnell) und habe <CODE>vfm=5</CODE>
in meiner config-Datei hinzugefügt. <B>MPlayer</B> hat nun immer <B>ffdivx/ffodivx</B>
zum Dekodieren von <B>DivX/DivX4</B> verwendet und libmpeg2 für MPEG1/2. Mit diesen
Einstellungen und meiner Matrox G400 kann ich auch DivX/DivX4-Filme mit hoher
Auflösung ohne Framedrop sehen.</P>
<P><B><A NAME=2.2.1.3>2.2.1.3. XAnim codecs</A></B></P>
<P>Vorwort: das Verwenden von (einigen) XAnim-Codecs mit anderen Programmen als
XAnim ist <B><I>ILLEGAL</I></B>. Es ist <B>DEINE</B> Verantwortung die Lizenzbestimmungen
zu lesen und danach zu handeln. Die Autoren von <B>MPlayer</B> kann nicht für die
illegalen Handlungen des Anwenders verantwortlich gemacht werden,</P>
<P>Also, <B>MPlayer</B> kann XAnims Codecs für das Dekodieren verwenden. Es
ist sehr einfach dies einzuschalten:</P>
<P>
<UL>
<LI>Lade dir die Codecs dir dir will von der <A HREF="http://xanim.va.pubnix.com">XAnim Seite</A>
herunter. Den <B>3ivx</B> Codec kann man dort nicht finden, also lade ihn von der
<A HREF="http://www.3ivx.com">3ivx Seite</A>.</LI>
<LI>verwend die <CODE>--with-xanimlibdir</CODE> Option um configure zu sagen, wo
es die XAnim-Codecs finden kann. Standardgemäß prüft es in <CODE>/</CODE> (...) .</LI>
<LI>Entferne das Architur-Zeug auf dem Dateinamen, dass die so aussehen:
<CODE>vid_cvid.xa, vid_h263.xa, vid_iv50.xa</CODE>.
</UL>
</P>
<P>Diese Codecs sind die Video Codec Family Nummer 10, also kannst du die <CODE>-vfm 10</CODE>
Option verwenden um <B>MPlayer</B> zu sagen, dass er sie verwenden soll, wenn möglich.</P>
<P>Getestete Codecs sind: <B>Indeo 3.2</B>, <B>4.1</B>, <B>5.0</B>, <B>CVID</B>, <B>3ivX</B>, <B>h263</B>.</P>
<P><B><A NAME=2.2.1.4>2.2.1.4. VIVO Video</A></B></P>
<P><B>MPlayer</B> kann VIVO (1.0 und 2.0) Videos abspielen. Der beste Codec für
1.0-Dateien ist FFmpegs H263 Dekoder, du kannst ihn mit der <CODE>-vc ffh263</CODE>
Option aufrufen (du wirdst die neuesten libavcodecs benötigen !). Für 2.0-Dateien verwende
verwende XAnims H263 Codec (er unterstützt schnelle YV12-Ausgabe). Du kann ihn mit
der <CODE>-vc h263xa</CODE> Option aufrufen. Natürlich musst du dazu die Unterstützung
für XAnim-Codes aktivieren, siehe <A HREF=#2.2.1.3>XAnim Videocodecs</A> für Details. Wenn
es nicht funktioniert, besorge dir die <CODE>ivvideo.dll</CODE> DLL-Datei (von <A
HREF="http://www.mplayerhq.hu/MPlayer/samples/drivers32/ivvideo.dll">hier</A>) und
installiere sie unter <CODE>/usr/lib/win32</CODE> oder wo du deine Win32 Codecs speicherst.
Der letztgenannte Codec unterstützt weder YV12 noch YUY2, nur BGR-Modie, was normalerweise
nur mit X11 oder OpenGL Ausgabe funktioniert. Entmutigend.</P>
<P><B><A NAME=2.2.1.5>2.2.1.5. MPEG 1/2 Video</A></B></P>
<P>MPEG1 und MPEG2 werden von der eingebauten Bibliothek <B>libmpeg2</B> dekodiert.
Der Sourcecode ist bei <B>MPlayer</B> enthalten und ist natürlich multiplatformfähig.
Wir spielen fehlerhafte MPEG1/2 Videos durch das Checken der Signaturen die libmpeg2
zurückgibt und wenn es mit sig11 (segmentation fault) abstützt initialisieren wir den
Codec wieder schnell und setzen die Wiedergabe dort fort, wo der Fehler war. Kein
Geschwindigkeitsverlust ist dabei messbar.</P>
<P><B><A NAME=2.2.1.6>2.2.1.6. MS Video 1</A></B></P>
<P>Dies ist dein sehr alter und sehr schlechter Codec von Microsoft. In der Vergangenheit
wurde es mit dem <CODE>msvidc32.dll</CODE> Win32-Codec dekodiert, aber nun haben wir eine
Open-Source-Codec (von <A HREF="mailto:melanson@pcisys.net">Mike Melanson</A>) eingebaut.</P>
<P><B><A NAME=2.2.1.7>2.2.1.7. Cinepak CVID</A></B></P>
<P>Die beste Möglichkeit zum sehen von Cinepak-Videos mit <B>MPlayer</B> ist
das Verwenden des XAnim-Codecs <CODE>vid_cvid.xa</CODE>. Es unterstützt YV12 und
YUY2 Ausgabe, im Gegenteil zum Win32-Codec, der mit RGB unterstützt.</P>
<P><B><A NAME=2.2.2>2.2.2. Audiocodecs</A></B></P>
<P><B><A NAME=2.1.2.3>2.1.2.3. Hardware AC3 decoding</A></B></P>
<P>Du wird eine AC3-fähige Soundkarte brauchen mit Digital-Out (SP/DIF). Der
Treiber muss das AFMT_AC3 Format unterstützen (wie die SB Live!).
Verbinde deinen AC3 Decoder am SP/DIF Ausgang und verwende die '-ac hwac3'
Option. Es funktioniert möglichweise oder auch nicht (experimentel).</P>
<P><B><A NAME=2.1.4>2.1.4. Codec Einbindungs-Howto</A></B></P>
<P><B><A NAME=2.1.4.1>2.1.4.1. VFW Codecs</A></B></P>
<P>VfW (Video für Windows) ist die alte Video-Schnittstelle von Windows.
Die Codecs haben die .DLL oder (eher selten) die .DRV Erweiterung.
Wenn <B>MPlayer</B> mit deinem AVI fehlschlägt:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>UNKNOWN video codec: HFYU (0x55594648)</CODE></P>
<P>Dies bedeutet, dass dein AVI mit einem Codec kodiert wurde, der den fourcc
HFYU besitzt (HFYU = HuffYUV Codec, DIV3 = DivX Low Motion, usw...). Jetzt, wo wir
das wissen, müssen wir herausfinden, welche DLL Windows lädt, um diese Datei
abzuspielen. In unserem Fall enthält die System.ini (unter anderem):</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>VIDC.HFYU=huffyuv.dll</CODE></P>
<P>Also brauchen wir die Datei huffyuv.dll. Hinweis: die Audio-Codecs werde mit dem
MSACM-Prefix angegeben:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>msacm.l3acm=L3codeca.acm</CODE></P>
<P>Dies ist ein MP3 Codec.
So, nun haben wir alles was wir benötigen (fourcc, Codec Datei, Beispiel AVI).
Sende deine Anfrage auf Unterstützung als Mail und lade die Dateien auf diesen
FTP herauf:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/</CODE></P>
<P><B><A NAME=2.1.4.2>2.1.4.2. DirectShow Codecs</A></B></P>
<P>DirectShow ist die neuere Video-Programmierschnittstelle, welche noch
schlimmer als ihr Vorgänger ist. Es ist schwieriger mit DirectShow, denn
<UL>
<LI>die system.ini enthält nicht die Informationen die man braucht, stattdessen
sind diese in der Registrierungsdatenbank gespeichert :(
<LI>man braucht die GUID des Codecs.
</UL></P>
<P>Also durchsuchen wir die verdammte Registrierung..
<UL>
<LI>Starte 'regedit'
<LI>Drücke STRG-F, deaktiviere die ersten beiden Auswahlfelder und aktiviere das
dritte. Nun gib den fourcc des Codecs ein (z.B.: TM20).
<LI>Du solltest ein Feld sehen, welches den Pfad und Dateinamen enthält
(z.B.: C:\WINDOWS\SYSTEM\TM20DEC.AX)
<LI>Jetzt da wir die Datei haben, brauchen wir die GUID. Versuche erneut zu
suchen, aber nun nach dem Codec-Namen, nicht nach der fourcc. Der Codec-Name
kann bei der Wiedergabe mit dem Windows Media Player herausgefunden werden,
indem man unter Datei/Eigenschaften/Erweitert nachschaut.
Falls du dabei kein Glück hast musst du raten :(
(suche zum Beispiel nach: TrueMotion)
<LI>wenn du es (in der Registrierung) gefunden hast, sollte ein FriendlyName
Feld und ein CLSID Feld auftauchen. Schreibe 16 Byte der CLSID auf, dies ist
die von uns benötigte GUID.</UL></P>
<P>HINWEIS : Wenn die Suche fehlschlägt, versuche alle Auswahlfelder zu aktivieren...
du hast möglicherweise falsche Ergebnisse, aber vielleicht auch die
richtigen...</P>
<P>HINWEIS : Vergiss diesen M$ Scheiß.</P>
<P>So, nun haben wir alle Informationen die wir benötigen (fourcc, GUID, Codec
Datei, Beispiel AVI). Sende deine Anfrage auf Unterstützung als Mail und lade
die Dateien auf den FTP:<BR>
ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/</P>
</BODY>
</HTML>