2.1. Video formátumok, audio és video codecek

2.1.1. Támogatott formátumok

MPlayer közvetlenül tudja olvasni/lejátszani a következőket:

Megj.: realmediával kapcsolatban lásd a FAQ-t !

2.1.2. Támogatott audio és video codec-ek

Lásd http://www.mplayerhq.hu/DOCS/codecs-status.html a teljes, naponta generált listához!!!

A legfontosabb video codecek:

A legfontosabb audio codecek:

Ha van olyan codeced, ami nincs felsorolva vagy támogatva, olvasd el a 2.1.3-es fejezetet amiben le van írva, mit kell tenned, hogy támogassuk a codeced!

2.1.2.1. DivX4

Ez a fejezet a ProjectMayo DivX4 codec-éről tartalmaz információkat. Az első hozzáférhető alfa verzió az OpenDivX alpha 47 és 48 volt. A támogatás ezekhez benne volt/van az MPlayer-ben, és alapállapotban bele is fordul. Régebben a postprocessing kódját használjuk, hogy javítsunk az MPEG1/2 filmek képminőségén. Most már saját minőségjavító kódunk van.

Ezen codec új generációja le tudja játszani a hírhedt DivX codec-kel készült filmeket is! És ez még nem minden, SOKKAL gyorsabb mint a Win32-es DivX DLL. A beállítást lásd lent. A codec egyetlen hátránya, hogy jelenleg zárt forráskódú. :(

A következő URL-ről lehet letölteni:

    http://download2.projectmayo.com/dnload/divx4linux/divx4linux-20010718.zip

Jelenleg nem tartalmaz automatikus installáló programot, ígyhát kézzel kell feltenni, PONTOSAN úgy ahogy itt áll. Először ki kell tömöríteni, majd be kell másolni:

cp libdivxdecore.so.0.0.0 /usr/local/lib/
ln -s /usr/local/lib/libdivxdecore.so.0.0.0 /usr/local/lib/libdivxdecore.so.0
ln -s /usr/local/lib/libdivxdecore.so.0 /usr/local/lib/libdivxdecore.so
ldconfig
cp decore.h /usr/local/include/

Megj: NE felejtsd el hozzáadni az /usr/local/lib-et az /etc/ld.so.conf file végére!

Az MPlayer automatikusan detektálja, ha a DivX4 (helyesen) van installálva, fordítsd le a szokott módon. Ha nem veszi észre, akkor nem követted pontosan a fent leírtakat és/vagy elcseszett konfigod van (lásd az 5.1-es fejezet utolsó kérdését).

A használata kicsit trükkös. Mivel ütközik a régi OpenDivX-szel (az API-ja nagyon hasonlít az OpenDivX-éhez), az OpenDivX kód kikapcsolásra kerül, és annak drivere is ezt használja.

Ez az egész tulajdonképpen annyit takar, hogy két lehetőséget van a használatára:

  -vc odivx   a DivX4 codec használata, mint az OpenDivX új verziója. Ebben az esetben YV12 képeket produkál a saját bufferében, és az MPlayer (libvo) konverziót végez.
-vc divx4 a DivX4 codec csinál konverziót. Ebben az esetben használhatsz YUY2/UYVY módokat is.

Az 'odivx' módszer általában gyorsabb, amiatt hogy a képadatokat YV12 (planar YUV 4:2:0) formátumban kezeli, így sokkal kevesebb sávszélességet igényel a buszon. Packed YUV módokhoz (YUY2, UYVY) használd a 'divx4' módszert. RGB módoknál szabadonválasztott, a sebességük megegyezik, talán a használt bpp-tol függően változhat.

Megj: támogat postprocessinget is, de az értékei furcsák: (TODO UPDATE)

  0   nincs
10 .. 20 postprocessing, normal (mint a 2-es szint a DirectShow-os DivX codeccel)
30 .. 60 hard prostprocessing, sok CPU-t eszik (mint a 4-es)

2.1.2.2. ffmpeg DivX/libavcodec

A 0.4.2-es verzióval kezdve az ffmpeg tartalmaz egy nyitott forráskódú DivX codec-et, amely kompatibilis a hagyományossal. Az MPlayer támogatja ezt a codec-et, lehetővé téve hogy DivX/DivX4 filmeket nézzünk nem-x86 platformokon, méghozzá sokkal gyorsabb dekódolással mint amit a Win32 codec-ek, és az eredeti DivX4 lehetővé tesz!
Az MPlayer fa nem tartalmazza, le kell töltened az FFmpeg fát:

cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login
cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg

Megj: legközelebb elég ha belépsz a könyvtárába és 'cvs update'-t írsz.

Most mozgasd át az újonnan letöltött forrás libavcodec könyvtárát az MPlayer fába, hogy így nézzen ki :

    main/libavcodec

Link létrehozása NEM elég, másolni vagy mozgatni kell.

./configure detektálja, ha minden rendben. Támogat postprocess-t!

A használatához frissítsd a codecs.conf file-odat, és tégy úgy ahogy a manpage vagy az example.conf mondja (a -vfm opció).

A legnagyobb sebesség eléréséhez ajánlott kivenni az ffmpeg12 részt a codecs.conf file-ból (a libmpeg2 kétszer gyorsabb ennél a codecnél), és betenni a konfigurációs file-ba a vfm=5 opciót. Ekkor az MPlayer az ffdivx/ffodivx codec-eket használja a DivX/DivX4 file-ok, és a libmpeg2-t az MPEG1/2 file-ok dekódolásához. Ezzel és egy Matrox G400-zal még a legnagyobb felbontású DivX/DivX4 filmeket is meg lehet nézni képkockavesztés nélkül, egy régi K6/2 500-ason.

2.1.2.3. Hardveres AC3 dekódolás

Kell egy AC3 képes hangkártya, digitális kimenettel (SP/DIF). A kártya meghajtójának támogatnia kell az AFMT_AC3 formátumot (ilyen például az SB Live!). Kapcsold rá a hardveres AC3 dekódered az SP/DIF kimenetre, és használd az -ac hwac3 opciót. Akár működhet is. De nem fog. Tényleg. :)

2.1.2.4. XAnim codec-ek

Előszó: (néhány) XAnim codec nem XAnim-mal történő használata ILLEGÁLIS. A TE felelősséged a licensz elolvasása, és betartása. Az MPlayer szerzői nem tehetők felelőssé a felhasználó hibái miatt.

Nos igen, az MPlayer tudja használni az XAnim codec-eit dekódolásra. Nagyon könnyű bekapcsolni őket:

Ezek a 10-es video codec családba tartoznak, így a -vfm 10 opcióval megadhatod az MPlayer-nek, hogy ezeket használja, ha lehetséges.

Az eddig tesztelt codec-ek a következők: Indeo 3.2, 4.1, 5.0, CVID, 3ivX, h263.

2.1.2.5. libmad támogatás

A libmad egy többplatformos MPEG audio dekóder. Ha nem tudod miért lenne szükséged rá, nincs szükséged rá.

A támogatást az --enable-mad configure opcióval lehet bekapcsolni.

2.1.3. Hogyan használj ismeretlen Win32 codec-et

2.1.3.1. VfW

VfW (Video for Windows) a régi Video API Windowshoz. A codec-jei .DLL vagy (ritkábban) .DRV kiterjesztést kapnak. Ha az MPlayer ezt írja ki az AVI-dra:

    UNKNOWN video codec: HFYU (0x55594648)

Ez azt jelenti, hogy az AVI-d egy olyan codec-kel van tömörítve, aminek a fourcc-je HFYU (HFYU = HuffYUV codec, DIV3 = DivX Low Motion, stb...). Most, hogy ezt már tudod, azt kell kitalálni, hogy a Windows melyik DLL-lel játssza le a file-t. Esetünkben a system.ini ezt tartalmazza (többek között):

    VIDC.HFYU=huffyuv.dll

Azaz a huffyuv.dll file-ra lesz szükség. Észrevehető, hogy az audio codecek az MSACM előtagot használják :

    msacm.l3acm=L3codeca.acm

Ez az MP3 codec. Most, hogy tudod az összes szükséges infót (fourcc, codec file, minta AVI), küldd el kérésed levélben, és töltsd fel eme file-okat FTP-re:

    ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/

2.1.3.2. DirectShow

DirectShow az újabb Video API, ami történetesen sokkal rosszabb, mint az elődje. Nehezebb dolgod lesz a DirectShow-val, mivel

Na kezdjük átnézni azt az istenverte registry-t...

MEGJ. : ha semmiképp nem találod, próbáld meg úgy, hogy bekapcsolod az összes checkboxot... Lesz egy rakás hamis találat, de talán meglesz az igazi is...

MEGJ. : dobd ki azt az M$ szart.

Most, hogy tudod az összes szükséges infót (fourcc, GUID, codec file, minta AVI), küldd el kérésed levélben, és töltsd fel eme file-okat FTP-re: ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/