Siehe Codec-Status-Seite für die komplette, täglich generierte Liste. Eine Vielzahl von Codecs kann von unserer Homepage runtergeladen werden. Du findest sie auf der Codec-Seite.
Die wichtigsten Video-Codecs:
Wenn du einen Win32-Codec hast, der noch nicht aufgelistet und unterstützt ist, dann lies Win32 Codec-Importierungs-HOWTO und hilf uns, die Unterstützung hinzuzufügen.
Diese Sektion enthält Informationen über den DivX4- und Divx5-Codec vom Project Mayo. Ihre ersten verfügbaren alpha-Versionen waren OpenDivX 4.0 alpha 47 und 48. Unterstützung dafür war früher standardgemäß in MPlayer eingebaut. Es wurde auch deren Postprocessing Code verwendet, um optional die Bildqualität von MPEG1/2-Filmen zu verbessern. Nun benutzen wir unseren eigenen für alle Dateitypen.
Die neue Version dieses Codecs heisst DivX4Linux und kann sogar Filme decodieren, die mit dem berüchtigten DivX-Codec (DivX 3 ;-)) erzeugt wurden! Dazu ist sie noch um einiges schneller als die traditionelle Win32-DivX-DLL aber immer noch langsamer als libavcodec. Vom Gebrauch dieses Codecs wird desshalb abgeraten. Er lässt sich jedoch trotzdem zum Encodieren verwenden. Ein Nachteil diese Codecs ist, dass er zurzeit nicht unter einer OpenSource-Lizenz verfügbar ist.
MPlayer erkennt automatisch, ob DivX4/DivX5 korrekt installiert ist, du kannst ihn wie gewöhnlich kompilieren. Wenn es nicht erkannt wird, wurde es nicht korrekt installiert oder konfiguriert.
DivX4Linux arbeitet in zwei verschiedenen Modi:
-vc odivx
-vc divx4
Der -vc odivx
-Modus ist normalerweise schneller, da er die
Daten in einem YV12-Format (planares YUV 4:2:0) übermittelt, was weniger
Bandbreite für den Bus bedeutet. Für gepackte YUV-Formate (YUY2,
UYVY) verwende den -vc divx4
-Modus. Für den RGB-Modus ist die
Geschwindigkeit gleich und hängt am ehesten von deiner momentanen
Farbtiefe ab.
Hinweis: Wenn der -vo-Treiber "direct rendering" unterstützt,
ist -vc divx4
wahrscheinlich die schnellere oder sogar die
schnellste Lösung.
Die binäre DivX4/5-Bilbiothek kann von
avifile oder
divx.com heruntergeladen werden.
heruntergeladen werden. Entpacke ihn, starte ./install.sh
als
root, und vergiss nicht, /usr/local/lib
deiner
/etc/ld.so.conf
hinzuzufügen und ldconfig
aufzurufen.
Besorge dir die CVS-Version der ALTEN OpenDivX-Kernbibliothek wie folgt:
cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot
login
cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co
divxcore
cd divxcore/decore/build/linux make cp libdivxdecore.so /usr/local/lib ln -s /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.so.0 cp ../../src/decore.h /usr/local/include
cd ../../../encore/build mkdir linux cd linux cp path/Makefile . make cp libdivxencore.so /usr/local/lib ln -s /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.so.0 cp ../../src/encore.h /usr/local/include
MPlayer findet DivX4/DivX5 automatisch, sofern es richtig installiert
wurde. Compiliere also einfach wie sonst auch. Wenn configure
die Bibliothek nicht findet, dann hast du DivX4/5 einfach nicht richtig
installiert.
Das FFmpeg-Projekt enthält ein Open-Source-Codec-Paket, das fähig ist, mit H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1/WMV2/HuffYUV codiertes Video und mit WMA (Windows Media Audio) codiertes Audio zu decodieren. Man kann nicht nur einige dieser Codecs zum Encodieren benutzen, sondern die Geschwindigkeit ist sogar um einiges häher als die der Win32-Codecs oder der ProjectMayo DivX4/5-Bibliothek!
FFmpeg beinhaltet auch viele nette Codecs. Die wichtigsten sind die MPEG4-Varianten: DivX3, DivX4, DivX5, Windows Media Video 7 (WMV1). Ein weiterer sehr interessanter Deocder ist der für WMA.
Wenn ein offizielles MPlayer-Release verwendet wird, befindet sich libavcodec (die Codec-Bilbiothek des FFmpeg-Projektes) bereits im Paket, welches normal kompiliert werden kann. Wenn du die MPlayer-Sourcen per CVS runterlädst, musst du die libavcodec vom FFmpeg CVS-Server verwenden, da das offizielle FFmpeg-Release 0.4.5 nicht mit MPlayer zusammen läuft. Um dies zu erreichen gibst du folgendes ein:
cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg
login
cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg
co ffmpeg
libavcodec
-Verzeichnis von den FFmpeg-Sourcen muss in's
Hauptverzeichnis des MPlayer CVS-Baums verschoben/kopiert werden.
Es sollte etwa so aussehen:
main/libavcodec
Hinweis: Die MPlayer-Sourcen im CVS enthalten ein libavcodec-Unterverzeichnis. Es enthält jedoch nicht den Quellcode von libavcodec! Du musst - wie oben beschrieben - dir die CVS-Version von FFmpeg besorgen.
Mit FFmpeg und meiner Matrox G400 kann ich sogar DivX-Filme in hoher Auflösung auf meinem K6/2 500 ohne Framedrops betrachten.
Es ist darauf hinzuweisen, dass die XAnim-Binary-Codecs mit einem Textstück geliefert werden, das eine legal bindende Softwarelizenz sein soll, welche (neben einigen anderen Einschränkungen) dem Benutzer das Verwenden der Codecs mit anderen Programmen als XAnim verbietet. Der XAnim-Autor hat jedoch noch keine rechtliche Schritte gegen irgendjemanden wegen Codec bezogenen Fragen unternommen.
MPlayer kann XAnims Codecs für das Decodieren verwenden. Um diese zu aktivieren, solltest folgenden Anweisungen folgen:
--with-xanimlibdir
-Option, um configure zu
sagen, wo es die XAnim-Codecs finden kann. Normalerweise werden diese in
/usr/local/lib/xanim/mods
, /usr/lib/xanim/mods/
und /usr/lib/xanim
gesucht. Weiterhin kannst du auch die
Umgebungsvariable XANIM_MOD_DIR auf den Verzeichnisnamen
der XAnim-Codecs setzen.vid_cvid.xa
, vid_h263.xa
,
vid_iv50.xa
.XAnim ist die Videocodec-Familie xanim
. Du kannst also die
-vfm xanim
-Option verwenden, um MPlayer zu sagen, dass er
sie, wenn möglich, verwenden soll.
Die getesteten Codecs beinhalten: Indeo 3.2, 4.1, 5.0, CVID, 3ivX, h263.
MPlayer kann VIVO (1.0 und 2.0) Videos abspielen. Der beste geeignete Codec
für 1.0-Dateien ist FFmpegs H263-Decoder. Du kannst ihn mit der -vc
ffh263
-Option aufrufen. Für v2.0-Dateien musst du die Win32-DLLs
mit der Option -vc vivo
benutzen. Wenn du keine expliziten Angaben
zum Codec auf der Kommandozeile machst, so wählt MPlayer automatisch den
besten aus.
MPEG1 und MPEG2 werden von der eingebauten Multiplatform-Bibliothek libmpeg2 decodiert, deren Source in MPlayer enthalten ist. Wir spielen fehlerhafte MPEG1/2-Videos durch das Abfangen des sig11 (segmentation fault) und die anschließend schnelle Neuinitialisierung des Codecs ab. Dadurch kann exakt an der Stelle des Fehlers fortgefahren werden. Es ist dabei kein Geschwindigkeitsverlust messbar.
Dies ist dein sehr alter und sehr schlechter Codec von Microsoft. In der
Vergangenheit wurde es mit dem msvidc32.dll
Win32-Codec decodiert,
aber nun haben wir einen Open-Source-Codec (von Mike Melanson) eingebaut.
MPlayer verwendet normalerweise seinen eigenen, Open-Source multiplatformfähigen Cinepak-Decoder, der von Dr. Tim Ferguson geschrieben wurde. Er unterstützt YUV-Ausgabe, was Hardwarescaling ermöglicht, wenn dies vom Videoausgabetreiber unterstützt wird.
MPlayer unterstützt die Dekodierung aller Versionen von RealVideo:
Es wird empfohlen, RealPlayer8 oder RealONE herunterzuladen und zu
installieren, da MPlayer deren Bibliotheken verwenden kann, um RealVideo
2.0, 3.0 oder 4.0 zu decodieren. Das configure
-Script von
MPlayer sollte die RealPlayer-Bibliotheken an der normalen Stelle der
Vollinstallation finden. Falls nicht, kannst du configure
über die Option --with-reallibdir
mitteilen, wo sie zu
suchen/finden sind.
Hinweis: Momentan funktionieren die RealPlayer-Bibliotheken nur mit Linux, FreeBSD, NetBSD und Cygwin auf der x86 oder der Alpha-Plattform.
XviD ist eine abgespaltene Entwicklung des OpenDivX-Codecs. Es geschah, als ProjectMayo OpenDivX in das ClosedSource-Projekt DivX4 (jetzt DivX5) änderte, woraufhin die Leute, die an OpenDivX aber nicht beim ProjectMayo arbeiteten, sauer wurden und XviD starteten. Beide Projekte haben also den selben Urpsrung.
XviD ist momentan nur als CVS erhältlich. Hier sind die Download- und Installations-Anweisungen:
cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login
cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co
xvidcore
cd xvidcore/build/generic
Makefile.linux
deinen Bedürfnissen
entsprechendmake -f Makefile.linux
encore2.h
und decore.h
vom
Divx4linux-Paket und kopiere diese nach /usr/local/include/
.
--with-xvidcore=/pfad/zu/libcore.a
.Sorenson ist eine von Sorenson Media entwickelte und von Apple lizensierte Videocodecfamilie. Wir sind momentan in der Lage, alle Videos zu decodieren, die mit einer der folgenden Sorenson-Versionen erstellt wurden:
-vc svq1
respektive -vc ffsvq1
benutzen. Manche Dateien funktionieren eventuell nur mit einem der beiden
Decoder. Probier als bei problematischen Dateien beide Decoder aus.
Der Decoder wurde von den
xine-Autoren geschrieben.Anmerkung: Momentan wird nur die 32bit-Intel-Architektur unterstützt.
$ ./configure --enable-qtx-codecs
/usr/lib/win32
ist.Die wichtigsten Audiocodecs als erstes:
Dieser ist der standardmäße Dekoder für Dateien mit AC3-Audio.
Der AC3 Dekoder kann die Audio-Ausgabe für 2, 4 oder 6 Lautsprecher erzeugen. Wenn er für 6 Lautsprecher konfigieriert ist, unterstützt dieser Decoder die Ausgabe aller AC3-Kanäle an den Soundtreiber. Damit ermöglicht er die vollständige "Surround Sound"-Erfahrung ohne einen externen AC3-Decoder, der bei der Verwendung des hwac3-Codecs nötig ist.
Verwende die -channels
-Option um die Anzahl der
Ausgabekanäle zu wählen. Verwende -channels 2
für
Downmix auf Stereo. Für Downmix auf 4 Kanäle (links vorne, rechts
vorne, links Surround und rechts Surround) verwende -channels 4
.
In diesem Fall werden alle Center-Känale gleichmäßig den
Frontkanälen beigemischt. -channels 6
gibt alle
AC3-Kanäle wie Aufgezeichnet in der Reihenfolge links, rechts,
links Surround, rechts Surround, Center und LFE aus.
Die Standardanzahl der Ausgabekanäle ist 2.
Um mehr als 2 Kanäle zu verwenden, musst du OSS verwenden und eine Soundkarte besitzen, die die Anzahl der Ausgabekanäle via SNDCTL_DSP_CHANNELS ioctl unterstützt. Ein Beispiel eines passenden Treibers ist emu10k1 (verwendet bei SB Live! Karten) vom August 2001 oder neuer (ALSA CVS sollte auch funktionieren).
Du brauchst eine AC3-fähige Soundkarte mit einem Digitalausgang
(SP/DIF). Der Treiber muss das AFMT_AC3 Format richtig unterstützen (wie
z.B. der für die C-Media-Karten). Verbinde den AC3-Decoder mit dem
SP/DIF-Ausgang, und benutze die Option -ac hwac3
. Dieser Code
ist not experimentell, laeuft aber bekanntermaßen mit C-Media-Karten,
SoundBlaster Live!-Karten mit dem ALSA-Treiber (aber nicht mit dem OSS-Treiber)
und mit den DXR3/Hollywood+-MPEG-Decoderkarten.
libmad ist eine Multiplattform-Bibliothek für die Decodierung von MPEG-Audio. Sie verarbeitet kaputte Dateien nicht so gut und hat teilweise Probleme mit dem Suchen.
Um die Unterstützung zu aktivieren, verwende configure mit der Option
--enable-mad
.
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 g.723-Audio und VIVO/2.0-Dateien Vivo-Siren-Audio. Beide werden unterstützt.
MPlayer unterstützt die Dekodierung fast aller RealAudio-Versionen:
Wie die RealPlayer Libraries installiert werden können, wird in der RealVideo-Sektion behandelt.
QDesign-Audio (fourcc: QDMC, QDM2) findest du in MOV/QT-Dateien. Beide Versionen dieses Codecs können mit den QuickTime-Bibliotheken decodiert werden. Schau in der Sorenson-Video-Codec-Sektion für Installationsanweisungen nach.
Qualcomm-Audiostreams (FourCC: Qclp) finden sich in MOV/QT-Dateien. Sie können mit den Quicktime-Bibliotheken decidiert werden. Installationsanweisungen findest du in der Sektion über den Sorenson Videocodec.
VfW (Video for Windows) ist die alte Video-Schnittstelle für Windows. Diese Codecs haben die Erweiterung .DLL oder (eher selten) .DRV. Wenn MPlayer mit folgender Meldung fehlschlägt, ein AVI abzuspielen:
UNKNOWN video codec: HFYU (0x55594648)
...bedeutet es, dass das AVI mit einem Codec erstellt wurde, der den fourcc
HFYU besitzt (HFYU = HuffYUV-Codec, DIV3 = DivX Low Motion, usw...). Jetzt
musst du nur noch herausgefunden, welche DLL Windows lädt, um diese Datei
abzuspielen. In diesem Fall enthält die System.ini
diese
Information in solch einer Zeile:
VIDC.HFYU=huffyuv.dll
Also braucht man die Datei huffyuv.dll. Hinweis: die Audio-Codecs werden durch das MSACM-Prefix angegeben:
msacm.l3acm=L3codeca.acm
Dies ist ein MP3 Codec. Da du nun alle nötigen Informationen hast (fourcc, Codec-Datei, AVI-Beispiel), solltest du per Mail um Unterstützung für diesen Codec bitten und die Dateien auf folgenden FTP-Server hochladen:
ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/
Anmerkung: Auf Windows NT/2000/XP-Systemem solltest du in der Registry nach diesen Informationen suchen, also z.B. nach "VIDC.HFYU". Um herauszufinden, wie das geht, lies die Sektion "alte DirectShow-Methode".
DirectShow ist die neuere Video-Programmierschnittstelle, welche noch schlimmer als ihr Vorgänger ist. Den Namen der DLL herauszufinden ist bei DirectShow schwieriger, weil...
system.ini
nicht mehr die benötigten Informationen
enthält (stattdessen stehen diese in der Registry), und weilNeue Methode: mittels Microsoft GraphEdit (schnell)
graphedit.exe
.DirectShow Filters
auf.DisplayName
enthält die gesuchte GUID.
Diese steht nach dem Backslash (\) in geschweiften Klammern und besteht
aus fünf Blöcken mit Ziffern und Buchstaben, die jeweils mit
Punkten voneinander getrennt sind. Schreib diese GUID auf.Filename
.
Anmerkdung: Wenn es keinen Eintrag namens Filename
gibt
und der DisplayName
-Eintrag etwas in der Art
device:dmo
enthält, so handelt es sich um einen DMO-Codec.
Alte Methode: Atme tief durch und beginne mit dem Durchsuchen der Registry...
regedit
Strg-f
, deaktiviere die ersten beiden
Auswahlfelder und aktiviere das Dritte. Nun gib den fourcc des Codecs ein
(z.B.: TM20).C:\WINDOWS\SYSTEM\TM20DEC.AX
).Hinweis: Wenn die Suche fehlschlägt, versuche alle Auswahlfelder zu aktivieren. Du wirst möglicherweise falsche Ergebnisse finden, aber vielleicht hast du auch Glück...
Da du nun alle nötigen Informationen hast (fourcc, GUID, Codec-Datei, AVI-Beispiel), solltest du per Mail um Unterstützung für diesen Codec bitten und die Dateien auf folgenden FTP-Server hochladen:
ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/