mpv/DOCS/German/codecs.html

331 lines
16 KiB
HTML
Raw Normal View History

<HTML>
<BODY BGCOLOR=WHITE>
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
<P><B><A NAME=2.2>2.2. Unterst<73>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<EFBFBD>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>
<LI>FLI</LI>
</UL></P>
<P>Wenn du einen Codec hast, der nicht gelistet ist, und noch nicht unterst<73>tzt
ist, lese <A HREF="#2.2.3">Sektion 2.2.3</A> um Infos <20>ber den Status zu bekommen
und wie du uns helfen kannst, die Unterst<73>tzung hinzuzuf<75>gen!</P>
<P><B><A NAME=2.2.1.1>2.2.1.1. DivX4</A></B></P>
<P>Diese Sektion enth<74>lt Informationen <20>ber den DivX4 Codec von
<A HREF="http://www.projectmayo.com">ProjectMayo</A>. Ihre ersten verf<72>gbaren alpha-Versionen
waren OpenDivX 4.0 alpha 47 und 48. Unterst<73>tzung daf<61>r wurde standardgem<65><6D> in
<B>MPlayer</B> eingebaut. Wir verwenden seinen Postprocessing-Code um optional
die Bildqualit<69>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://avifile.sourceforge.net">http://avifile.sourceforge.net</A></P>
<P>Wenn es nicht funktioniert versuche:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="http://divx.com">http://divx.com</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<75>gen!</P>
<P><B>MPlayer</B> erkennt automatisch, wenn DivX4 installiert ist, und kompiliert
es wie gew<65>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 <20>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<73>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 <20>bermittelt, was weniger Bandbreite f<>r den Bus bedeutet.
F<EFBFBD>r gepackte YUV Formate (YUY2, UYVY) verwende die 'divx4'-Methode.
F<EFBFBD>r RGB-Modus kannst du frei w<>hlen, denn die Geschwindigkeit ist die selbe,
m<EFBFBD>glicherweise ist sie jedoch unterschiedlich bei deiner Farbtiefe.</P>
<P>Hinweis: Es unterst<73>tzt auch Postprocessing und die Reichweite der Einstellungen
ist gro<72>:</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<65>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<74>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<EFBFBD>tzt diesen Codec und er erm<72>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<65>gt es das n<>chste Mal 'cvs update' auszuf<75>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<EFBFBD>tzt auch Postprocessing</B>!</P>
<P>Um es zu verwenden aktualisiere deine codecs.conf-Datei und verwende es wie in der Manpage beschrieben
oder die example.conf-Datei sagt (die -vfm Option).</P>
<P>Um die <B>gr<EFBFBD><EFBFBD>tm<EFBFBD>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<65>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<EFBFBD>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>verwende die <CODE>--with-xanimlibdir</CODE> Option um configure zu sagen, wo
es die XAnim-Codecs finden kann. Standardgem<65><6D> pr<70>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 (standard) (du wirdst die neuesten libavcodecs ben<65>tigen!). F<>r 2.0-Dateien verwende
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<73>tzt weder YV12 noch YUY2, nur BGR-Modie, was normalerweise
nur mit X11 oder OpenGL Ausgabe funktioniert. ffh263 wird hoffentlich bald VIVO 2.0 unterst<73>tzen.</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<61>rlich multiplatformf<6D>hig.
Wir spielen fehlerhafte MPEG1/2 Videos durch das Checken der Signaturen die libmpeg2
zur<EFBFBD>ckgibt und wenn es mit sig11 (segmentation fault) abst<73>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><B>MPlayer</B> hat nun auch einen eigenen, Open-Source, multiplatformf<6D>higen Dekoder f<>r Cinepak.
Er unterst<73>tzt YUV Ausgabe, dies erm<72>glicht Hardwarescaling (wenn es der Videoausgabetreiber unterst<73>tzt).
Er wird standardgem<65><6D> verwendet.</P>
<P><B><A NAME=2.2.2>2.2.2. Audiocodecs</A></B></P>
<P>Die wichtigsten Audiocodecs als erstes:<BR>
<UL>
<LI>MPEG layer 2 und layer 3 (MP3) Audio (<B>eingebauter</B> Code, mit MMX/SSE/3DNow! Optimierungen)</LI>
<LI>MPEG layer 1 Audio (<B>eingebauter</B> Code, mit libavcodec)</LI>
<LI>AC3 Dolby Audio (<B>eingebauter</B> Code, mit SSE/3DNow! Optimierungen)</LI>
<LI>Ogg Vorbis Audiocodec (<B>eingebaute</B> lib)</LI>
<LI>Voxware Audio (Verwendung der DirectShow DLL)</LI>
<LI>alaw, MSGSM, PCM und andere einfache, alte Audioformate</LI>
<LI>VIVO Audio (G723, Vivo Siren)</LI>
</UL></P>
<P><B><A NAME=2.2.2.1>2.2.2.1. Softwarem<65><6D>ige AC3 Dekodierung</A></B></P>
<P>Dieser ist der standardgem<65><6D>e Dekoder f<>r Dateien mit AC3-Audio.</P>
<P>Der AC3 Dekoder kann die Ausgabe f<>r 2, 4 oder 6 Lautsprecher erzeugen.
Wenn es f<>r 6 Lautsprecher konfigieriert ist unterst<73>tzt dieser Dekoder
unterschiedliche Ausgabe f<>r alle AC3-Kan<61>l an den Soundkartentreiber. Dabei
erlaubt es die vollst<73>ndige "surround Sound" Erfahrung ohne einen externen
AC3 Dekoder und ohne Verwendung des hwac3-Codes.</P>
<P>Verwende die <CODE>-channels</CODE> Option um die Anzahl der Aufgabekan<61>le zu w<>hlen.
Verwende <CODE>-channels 2</CODE> f<>r Downmix auf Stereo. F<>r Downmix auf 4 Kan<61>le (links vorne,
rechts vorne, links Surround und rechts Surround) verwende <CODE>-channels 4</CODE>.
In diesem Fall werden alle Center-K<>nale gleich den Front-Kan<61>len sein. "-channels 6" gibt alle
AC3-Kan<61>le wie Aufgezeichnet aus - in der Reihenfolge links, rechts, links Surround, rechts Surround,
Centre und LFE.</P>
<P>Die Standardanzahl der Ausgabekan<61>le ist 2.</P>
<P>Um mehr als 2 Kan<61>le zu verwenden musst du OSS verwenden und du musst eine Soundkarte
besitzen, die die Anzahl der Ausgabekan<61>le via SNDCTL_DSP_CHANNELS ioctl unterst<73>tzt. Eine Treiberversion
von August 2001 oder neuer vom emu10k1 Treiber (verwendet bei SB Live Karten) sollte das unterst<73>tzen.</P>
<P>Ausgabe mit mehr als 2 Kan<61>len sollte als expermentel betrachtet werden.</P>
<P><B><A NAME=2.2.2.2>2.2.2.2. Hardwarem<65><6D>ige AC3 Dekodierung</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<73>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.2.2.3>2.2.2.3. libmad Unterst<73>tzung</A></B></P>
<P><A HREF="http://mad.sourceforge.net">libmad</A> ist eine multiplatform Bibliothek f<>r
die Dekodierung von MPEG-Audio. Wenn du nicht wei<65>t warum es so gut ist wirdst du es m<>glicherweise
auch nicht brauchen.</P>
<P>Um die Unterst<73>tzung zu aktivieren, verwende configure mit der Option <CODE>--enable-mad</CODE>.</P>
<P><B><A NAME=2.2.2.4>2.2.2.4. VIVO Audio</A></B></P>
<P>Der verwendete Audiocodec in VIVO-Dateien h<>ngt davon ab, ob es eine VIVO/1.0 oder VIVO/2.0 Datei ist.
VIVO/1.0 Dateien verwenden <B>g.723</B> Audio und VIVO/2.0 Dateien <B>Vivo Siren</B>. Beide werden
<U>unterst<EFBFBD>tzt</U>. Du kannst dir den g.723 Codec von
<A HREF="http://www.mplayerhq.hu/MPlayer/samples/drivers32/vivog723.acm">hier</A>
downloaden und in in das <CODE>/usr/lib/win32</CODE> Verzeichnis (oder wo deine Win32-Codecs sich befinden)
kopieren.</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<68>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<74>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<65>tigen (fourcc, Codec Datei, Beispiel AVI).
Sende deine Anfrage auf Unterst<73>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<72>nger ist. Es ist schwieriger mit DirectShow, denn
<UL>
<LI>die system.ini enth<74>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<EFBFBD>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<74>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<47>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<65>tigte GUID.</UL></P>
<P>HINWEIS : Wenn die Suche fehlschl<68>gt, versuche alle Auswahlfelder zu aktivieren...
du hast m<>glicherweise falsche Ergebnisse, aber vielleicht auch die
richtigen...</P>
<P>HINWEIS : Vergiss diesen M$ Schei<65>.</P>
<P>So, nun haben wir alle Informationen die wir ben<65>tigen (fourcc, GUID, Codec
Datei, Beispiel AVI). Sende deine Anfrage auf Unterst<73>tzung als Mail und lade
die Dateien auf den FTP:<BR>
ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/</P>
</BODY>
</HTML>