Lásd http://www.mplayerhq.hu/DOCS/codecs-status.html a teljes, naponta generált listához!!!
A legfontosabb video codecek:
Ha van olyan codeced, ami nincs felsorolva vagy támogatva, olvasd el a codec importálás fejezetet, amiben le van írva mit kell tenned, hogy támogassuk a codeced!
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 (viszont a libavcodec még ENNÉL IS gyorsabb:). 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://avifile.sourceforge.net
Ha ez nem működne valami oknál fogva, próbáld itt:
Tömörítsd ki, és futtasd a ./install.sh
scriptet.
Megj: NE felejtsd el hozzáadni az /usr/local/lib
-et az
/etc/ld.so.conf
file végére, és futtatni az
ldconfig
-ot !
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 (ez a módszer az -oldpp
opcióval kapcsolható be), de az értékei furcsák :
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.2.1.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!
Ezekenkívül még tartalmaz jónéhány más érdekes codec-et, pl: RealVideo 1.0, MJPEG, h263, h263+, stb.
Milyen MPlayer-ed van?
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.
Ezután fordítsd le az MPlayer-t. A 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.
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:
--with-xanimlibdir
opcióval mondd meg a configure-nak hogy
hol vannak az xanim codec-ek. Alapállapotban a /
könyvtárban keresi őket (...) . Egy másik megoldás ha a XANIM_MOD_DIR
környezeti változót beállítod arra a könyvtárra ahol az XAnime codec-ek
találhatók.vid_cvid.xa, vid_h263.xa,
vid_iv50.xa
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.
Az MPlayer képes lejátszani Vivo (1.0 és 2.0) file-okat. Az 1.0-ás
fileokra a legmegfelelőbb az FFmpeg-beli H263 codec, amit a -vc ffh263
opcióval lehet használni (alapértelmezett) (új libavcodec szükséges !). A 2.0-ás fileokhoz
szedd le az ivvideo.dll
Win32 DLL file-t innen),
és installáld a /usr/lib/win32
könyvtárba, vagy ahol tárolod
a Win32-es codeceket. Ezutóbbi codec nem támogat se YV12 se YUY2 kimenetet,
csak BGR-t, ezért kizárólag X11 és OpenGL kimenetekkel működik. Remélhetőleg
hamarosan az ffh263 is tud VIVO 2.0-ás file-okat dekódolni.
Olvasd el a VIVO audio codec fejezetet is!
Az MPEG1 és MPEG2 a natív libmpeg2-vel dekódoljuk. A forrása benne van az MPlayer-ben, és természetesen több platformon is használható. A hibás MPEG1/2 fileokat úgy játszuk le hogy figyeljük a libmpeg2 mit ad vissza, és hiba esetén gyorsan ujraindítjuk a codecet pontosan onnan ahol a hiba volt. Nincs sebességvesztés.
Ez egy nagyon régi és nagyon rossz codec a Microsoft-tól. Régebben
ennek dekódolásához az msvidc32.dll
nevű Win32-es codecet
használtuk, de mostmár van nyitott forrású implementációnk,
Mike
Melanson-tól.
Az MPlayer a saját nyílt forrású, többplatformos Cinepak dekóderét használja Cinepak filmekhez. Ez a dekóder támogatja a YUV kimenetet, így a hardveres gyorsítást is ha az adott video kimeneti meghajtó lehetővé teszi azt.
Jelenleg CSAK a RealVideo 1.0 codec (fourcc RV10) támogatott, az ffmpeg-en keresztül. Sajnos az újabb RealMedia file-ok már ehelyett a codec helyett az RV20 és RV30 codec-ekkel jönnek, amelyek zárt forrásúak. Jövőbeli támogatottságuk valószínűtlen. :(
A legfontosabb audio codecek:
2.2.2.1. Szoftveres AC3 dekódolás
Ez az alapértelmezett AC3 audio dekóder.
Az AC3 dekóder 2, 4 vagy 6 hangszórós mixelési képességgel van ellátva. Ha 6 csatornára van állítva, a dekóder külön-külön adja a hangkártyának a csatornákat, ami teljes térhatást eredményez, külső - hwac3 codec-kel használható - AC3 dekóder nélkül.
A -channels
opcióval adható meg a kimeneti csatornák száma.
A -channels 2
stereo mixet eredményez. 4 csatornás mixhez
(bal első, jobb első, bal térhatás és jobb térhatás) a -channels 4
opció használható. Ebben az esetben minden "középső" csatorna egyenlő mértékben
kerül az elülső csatornákra. Végül, a -channels 6
opció
ugyanúgy adja ki a csatornákat, ahogy azokat enkódolták - sorrendben : bal,
jobb, bal térhatás, jobb térhatás, közép és LFE.
Az alapértelmezett kimenet a 2 csatornás.
Több mint két csatorna használatához OSS meghajtó kell, és egy olyan hangkártya (illetve meghajtó), ami támogatja is az adott mennyiségű csatornát a SNDCTL_DSP_CHANNELS ioctl-en keresztül. Például a 2001 augusztusinál újabb emu10k1 meghajtó (SB Live kártyákhoz) megfelelő (úgy hallottam hogy a legújabb ALSA CVS-ben is van hozzá támogatás).
2.2.2.2. 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! és a C-Media kártyák). 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. Jelenleg csak C-Media-val működik (ha működik...)..
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.
A VIVO file-okban használt audio codec milyensége attól függ hogy VIVO/1.0 avagy VIVO/2.0 fileról beszélünk. Az 1.0-ás fileokban g.723 audio van, a 2.0-ásokban pedig Vivo Siren. Mindkettő támogatott. A g.723/Siren codec innen letölthető.
Jelenleg csak a DNET codec támogatott. Ez egyébként a jól ismert AC3 codec-nek egy alacsonyabb bitrátára optimalizált verziója. Előfordul régi és új RealMedia file-okban is.
2.2.3. Hogyan használj ismeretlen Win32 codec-et
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]/
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]/