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: - VCD (Video CD) közvetlen a CD-ROM-ról, vagy image file-ból - DVD, közvetlen a lemezről, opcionálisan libcss-t használva dekódoláshoz - MPEG 1/2 System Stream (PS/PES/VOB) és Elementary Stream (ES) formátumok - RIFF AVI formátum - ASF 1.0 formátum - file olvasása, stdin-ről is, továbbá hálózatról, HTTP-n keresztül Megj.: quicktime-vel és realmedia-val kapcsolatban lásd a FAQ-t ! 2.1.2. Támogatott audio és video codec-ek Lásd http://mplayer.sourceforge.net/DOCS/codecs.html a teljes, naponta frissített listához!!! A legfontosabb video codecek: - MPEG1 (VCD) és MPEG2 (DVD) video - DivX, FFmpeg, OpenDivX és más MPEG4 variánsok - Windows Media Video 7 (WMV1) és Windows Media Video 8 ami .wmv file-okban van - Intel Indeo codecek (3.1, 3.2, 4.1, 5.0) - MJPEG, ASV2 és más hardware formátumok A legfontosabb audio codecek: - MPEG layer 2, és layer 3 (MP3) audio (nativ kód, 3DNow! optimalizációval) - AC3 dolby audio (nativ kód, 3DNow! optimalizációval) - VoxWare audio - alaw, msgsm, pcm és más régi formátumok Ha van olyan codeced, ami nincs felsorolva vagy támogatva, olvasd el a http://mplayer.sourceforge.net/DOCS/codecs.html és DOCS/CODECS file-okat, amikben 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. A postprocessing kódját használjuk, hogy javítsunk az MPEG1/2 filmek képminőségén. 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/ 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: 0 nincs 10 .. 20 postprocessing, normal (mint a 2-es szint a DirectShow-os DivX codeccel) 30 .. 60 hard postprocessing, 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 filmeket nézzünk nem-x86 platformokon! 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 kell. ./configure detektálja, ha minden rendben. Jelenleg nem támogat postprocessinget, és optimalizálás alatt van (gyorsabb mint a DirectShow-os DivX codec). 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ó). 2.1.4. Hogyan használj ismeretlen Win32 codec-et 2.1.4.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 codeckel 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://mplayerhq.hu/MPlayer/incoming/[codecname]/ 2.1.4.2. DirectShow DirectShow az újabb Video API, ami történetesen sokkal rosszabb, mint az elődje. Nehezebb dolgod lesz a DirectShow-val, mivel - a system.ini nem tartalmazza a szükséges információt, ehelyett az egész a registryben van :( - szükség lesz a codec GUID-jára is. Na kezdjük átnézni azt az istenverte registry-t... - Indítsd el a 'regedit'-et - ctrl-f, kapcsold ki az első két checkbox-ot, és be a harmadikat. Írd be a codec fourcc-jét. (pl.: TM20) - jó esetben előjön a path és filenév (pl. : C:\WINDOWS\SYSTEM\TM20DEC.AX) - most hogy ez megvolt, szükség lesz a GUID-ra. Keress újra, de most a codec nevére, ne a fourcc-re. A név megnézhető pl. a Media Playerrel, a File/Properties/Advanced menüpont alatt. Ha nem, ígyjárás ;) Találd ki. (itt : TrueMotion) - ha megvan, lesz ott egy FriendlyName, és egy CLSID mező. Írd le azt a 16 byte-nyi CLSID-et, ez a GUID. 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://mplayerhq.hu/MPlayer/incoming/[codecname]/