Mercurial > mplayer.hg
view DOCS/xml/hu/codecs.xml @ 18198:ee2857fbe54a
synced with 1.76
author | gabrov |
---|---|
date | Sat, 22 Apr 2006 18:01:56 +0000 |
parents | 961c646af6a0 |
children | f4494b63c00c |
line wrap: on
line source
<?xml version="1.0" encoding="iso-8859-2"?> <!-- synced with 1.76 --> <chapter id="codecs"> <title>Codec-ek</title> <sect1 id="video-codecs"> <title>Videó codec-ek</title> <para> Nézd meg a <ulink url="../../codecs-status.html">codec státusz táblázatot</ulink> a teljes, naponta generált listáért. Elég sok codec elérhető letöltésként a weboldalunkon. Szedd le őket a <ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/">codec oldalról</ulink>. </para> <para> A legfontosabb dolgok: </para> <itemizedlist> <listitem><simpara> <emphasis role="bold">MPEG-1</emphasis> (<emphasis role="bold">VCD</emphasis>) és <emphasis role="bold">MPEG-2</emphasis> (<emphasis role="bold">DVD</emphasis>) videó </simpara></listitem> <listitem><simpara> natív dekódolók <emphasis role="bold">DivX ;-), OpenDivX (DivX4), DivX 5 (Pro), 3ivX, M$ MPEG-4</emphasis> v1, v2 és más MPEG4 variánsokhoz </simpara></listitem> <listitem><simpara> natív dekódoló <emphasis role="bold">Windows Media Video 7/8</emphasis> (<emphasis role="bold">WMV1/WMV2</emphasis>), és Win32 DLL dekódoló a <emphasis role="bold">Windows Media Video 9</emphasis> formátumhoz (<emphasis role="bold">WMV3</emphasis>), mindkettőt a <filename>.wmv</filename> fájloknál használjuk </simpara></listitem> <listitem><simpara> natív <emphasis role="bold">Sorenson 1 (SVQ1)</emphasis> dekódoló </simpara></listitem> <listitem><simpara> natív <emphasis role="bold">Sorenson 3 (SVQ3)</emphasis> dekódoló </simpara></listitem> <listitem><simpara> <emphasis role="bold">3ivx</emphasis> v1, v2 dekódoló </simpara></listitem> <listitem><simpara> Cinepak és <emphasis role="bold">Intel Indeo</emphasis> codec (3.1,3.2,4.1,5.0) </simpara></listitem> <listitem><simpara> <emphasis role="bold">MJPEG</emphasis>, AVID, VCR2, ASV2 és más hardveres formátumok </simpara></listitem> <listitem><simpara> VIVO 1.0, 2.0, I263 és egyéb <emphasis role="bold">H.263(+)</emphasis> variánsok </simpara></listitem> <listitem><simpara> FLI/FLC </simpara></listitem> <listitem><simpara> <emphasis role="bold">RealVideo 1.0 & 2.0</emphasis> a <systemitem class="library">libavcodec</systemitem>-ből és <emphasis role="bold">RealVideo 3.0 & 4.0</emphasis> codec a RealPlayer könyvtárak felhasználásával </simpara></listitem> <listitem><simpara> natív dekódoló HuffYUV-hoz </simpara></listitem> <listitem><simpara> különböző régi, egyszerű, RLE-szerű formátum </simpara></listitem> </itemizedlist> <para> Ha van olyan Win32 codec-ed, ami nincs a listában és még nem támogatott, olvasd el a <link linkend="codec-importing">codec importálás HOGYAN</link>-t és segítsd a munkánkat. </para> <sect2 id="divx4-5"> <title>DivX4/DivX5</title> <para> Ez a rész a <ulink url="http://www.projectmayo.com">Project Mayo</ulink> DivX4 és DivX5 codec-jeiről tartalmaz információkat. AZ első elérhető alpha verziójuk az OpenDivX 4.0 alpha 47 és 48 volt. Ezek támogatása be volt építve az <application>MPlayer</application>be régen, és alapértelmezésként be is lett forgatva. Használtuk az utófeldolgozó kódjukat is az MPEG-1/2 filmek képminőségének opcionális javításához. Most már a sajátunkat használjuk, minden típushoz. </para> <para> Ennek a codec-nek az új generációját DivX4-nek hívják és még a hírhedt DivX codec-kel készített filmek dekódolására is képes! Ráadásként sokkal gyorsabb, mint a natív Win32 DivX DLL, de lassabb, mint a <systemitem class="library">libavcodec</systemitem>. Ezért <emphasis role="bold">ellenezzük</emphasis> a dekóderként történő használatát. Kódoláshoz viszont hasznos. Az egyetlen hátránya ennek a codec-nek, hogy nem elérhető Nyílt Forráskódú licensszel. </para> <para> A DivX4 két módban működik: <variablelist> <varlistentry><term><option>-vc odivx</option></term> <listitem><simpara> A codec-et OpenDivX formában használja. Ebben az esetben YV12 képeket készít a saját bufferében, és az <application>MPlayer</application> színtér konverziót végez a libvo-n keresztül. (<emphasis role="bold">Gyors, javasolt!</emphasis>) </simpara></listitem> </varlistentry> <varlistentry><term><option>-vc divx4</option></term> <listitem><simpara> A codec színtér konverzióját használja. Ebben a módban használhatod a YUY2/UYVY-t is. (<emphasis role="bold">LASSÚ</emphasis>) </simpara></listitem> </varlistentry> </variablelist> </para> <para> A <option>-vc odivx</option> módszer általában gyorsabb, amiatt, hogy a kép adatait YU12 (planar YUV 4:2:0) formátumban viszi át, így sokkal kisebb sávszélesség kell neki az adatbuszon. A csomagolt YUV módok (YUY2, UYVY) a <option>-vc divx4</option> módszert használják. Az RGB módoknál a sebesség ugyan akkora, csak az aktuális színmélységedhez történő alkalmazkodásukban különböznek. <note> <para> Ha a <option>-vo</option> vezérlőd támogatja a direkt renderelést, akkor a <option>-vc divx4</option> gyorsabb lehet vagy akár a leggyorsabb is. </para> <para> A DivX4/5 bináris codec könyvtár letölthető az <ulink url="http://avifile.sf.net">avifile</ulink>-ról vagy a <ulink url="http://www.divx.com">divx.com</ulink> címről. Csomagold ki, futtasd az <filename>./install.sh</filename> fájlt root-ként és ne felejtsd el beírni a <filename class="directory">/usr/local/lib</filename> könyvtárat az <filename>/etc/ld.so.conf</filename> fájlba, majd futtatni az <command>ldconfig</command> parancsot. </para> <para> A RÉGI OpenDivX függvénykönyvtárnak a CVS verziója is letölthető: </para> <procedure> <step><para> <screen>cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot login</screen> </para></step> <step><para> <screen>cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co divxcore</screen> </para></step> <step><para> Ez a fő függvénykönyvtár decore és encore könyvtárakra van osztva, amiket külön kell fordítani. A decore könyvtárhoz egyszerűen írd be: <screen> cd divxcore/decore/build/linux make cp libdivxdecore.so /usr/local/lib ln -s libdivxdecore.so /usr/local/lib/libdivxdecore.so.0 cp ../../src/decore.h /usr/local/include </screen> </para></step> <step><para> Sajnos az encore könyvtárhoz nincs Linuxos Makefile és az MMX optimalizáció csak Windowson működik. De így is le tudod fordítani, ezen <ulink url="ftp://ftp.mplayerhq.hu/MPlayer/contrib/divx-mf/Makefile">Makefile</ulink> használatával. <screen> cd ../../../encore/build mkdir linux cd linux cp path/Makefile . make cp libdivxencore.so /usr/local/lib ln -s libdivxencore.so /usr/local/lib/libdivxencore.so.0 cp ../../src/encore.h /usr/local/include </screen> </para></step> </procedure> <para> Az <application>MPlayer</application> automatikusan megtalálja a DivX4/DivX5-öt ha az megfelelően van telepítve, csak fordítsd le úgy, mint máskor. Ha nem találja meg, nem telepítetted vagy nem állítottad be megfelelően. </para> </note> </para> </sect2> <sect2 id="ffmpeg" xreflabel="FFmpeg/libavcodec"> <title>FFmpeg/libavcodec</title> <para> Az <ulink url="http://ffmpeg.org">FFmpeg</ulink> egy <emphasis role="bold">nyílt forráskódú</emphasis> codec csomagot tartamaz, ami képes számos audió és videó codec-et tartalmazó folyam dekódolására. Lenyűgöző kódolási képességei is vannak, és gyorsabb mint a Win32 codec-ek a DivX.com DivX4/5 könyvtáraiban! </para> <para> Rengeteg szép codec-et tartalmaz, különösen fontosak az MPEG-4 variánsok: DivX3, DivX4, DivX5, Windows Media Video 7/8 (WMV1/WMV2). Nagyon érdekes még a WMA dekódoló. </para> <para> A legújabb említésre méltó codec a <emphasis role="bold">Sorenson 3</emphasis> (SVQ3) codec. Ez az első, teljesen nyílt forráskódú implementáció. És még gyorsabb is, mint az eredeti. Győződj meg róla, hogy ezt használod a bináris codec helyett! </para> <para> Az összes támogatott codec listájáért látogasd meg az FFmpeg weboldalát. Támogatott <ulink url="http://ffmpeg.org/ffmpeg-doc.html#SEC19">videó</ulink> és <ulink url="http://ffmpeg.org/ffmpeg-doc.html#SEC20">audió</ulink> codec-ek. </para> <para> Ha egy <application>MPlayer</application> kiadást használsz, a <systemitem class="library">libavcodec</systemitem> benne van a csomagban, csak fordítsd le a szokásos módon. Ha az <application>MPlayer</application>t CVS-ből szedted, ki kell csomagolnod a <systemitem class="library">libavcodec</systemitem>-et az FFmpeg CVS fájából, mivel az FFmpeg kiadások elég ritkán jönnek. A CVS legtöbbször stabil és több funkciót nyújt. Mindez így hajtható végre: </para> <procedure> <step><para> <screen>cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg login</screen> </para></step> <step><para> <screen>cvs -z3 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co -P ffmpeg/libavcodec ffmpeg/libavutil</screen> </para></step> <step><para> Mozgasd át a <filename>libavcodec</filename> és <filename>libavutil</filename> könyvtárakat az FFmpeg forrásából az <application>MPlayer</application> CVS fájának gyökérkönyvtárába. Valahogy így kell kinéznie: <filename class="directory">main/libavcodec</filename> <filename class="directory">main/libavutil</filename> </para><para> A szimbólikus link készítése <emphasis role="bold">nem</emphasis> elég, át kell másolnod/mozgatnod! </para></step> <step><para> Ha azt szeretnéd, hogy a <systemitem class="library">libavcodec</systemitem> mindig frissüljön, amikor frissíted az <application>MPlayer</application> CVS-t, írd be a következő sort a <filename>main/CVS/Entries</filename> fájlba: <screen>D/libavcodec////</screen> <screen>D/libavutil////</screen> </para></step> <step><para> Fordíts. Ha baj van, a <filename>configure</filename> megtalálja még a fordítás előtt. </para></step> </procedure> <note> <para> Az CVS-ből származó <application>MPlayer</application> tartalmaz egy <filename>libavcodec</filename> alkönyvtárat, de ebben <emphasis role="bold">nincs</emphasis> bent a <systemitem class="library">libavcodec</systemitem> forrása! Kövesd a fenti lépéseket a függvénykönyvtár forrásának beszerzéséhez. </para> </note> <para> Az FFmpeg-gel és a Matrox G400-as kártyámmal még a legnagyobb felbontású DivX filmeket is képkockák eldobása nélkül tudom nézni a K6-2 500 gépemen. </para> </sect2> <sect2 id="xanim"> <title>XAnim codec-ek</title> <note> <para> Hadd figyelmeztessünk, hogy az XAnim bináris codec-jeit egy kis szöveggel együtt csomagolják, amely egy legális szoftver licensz, és amely más megszorítások mellett megtiltja a a felhasználónak, hogy a codec-eket az <application>XAnim</application>-on kívül más programmal használja. Ennek ellenére az XAnim szerzői még senki ellen sem tettek jogi lépéseket codec-használat ügyben. </para> </note> <formalpara> <title>TELEPÍTÉS ÉS HASZNÁLAT</title> <para> Az <application>MPlayer</application> képes az XAnim codec-ek dekódoláshoz történő felhasználására. Kövesd az utasításokat a bekapcsolásukhoz: </para> </formalpara> <procedure> <step><para> Töltsd le a kívánt codec-eket az <ulink url="http://xanim.va.pubnix.com">XAnim oldaláról</ulink>. A <emphasis role="bold">3ivx</emphasis> codec nincs ott, az a <ulink url="http://www.3ivx.com">3ivx oldalon</ulink> van. </para></step> <step><para> <emphasis role="bold">VAGY</emphasis> töltsd le a codec csomagot a <ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/">codec oldalunkról</ulink> </para></step> <step><para> Használd a <option>--with-xanimlibdir</option> kapcsolót, amivel megmondhatod a <filename>configure</filename>-nak, hogy hol találhatóak az XAnim codec-ek. Alapértelmezésben a <filename class="directory">/usr/local/lib/codecs</filename>, <filename class="directory">/usr/local/lib/xanim/mods</filename>, <filename class="directory">/usr/lib/xanim/mods</filename> és <filename class="directory">/usr/lib/xanim</filename> könyvtárakban keresi. Alternatívaként az <envar>XANIM_MOD_DIR</envar> környezeti változó beállításával is megadhatod az XAnim codec-ek könyvtárát. </para></step> <step><para> Nevezd át/szimlinkelt a fájlokat, szedd ki az architektúra részeket, így ilyen fájlneveket kapsz, mint ezek: <filename>vid_cvid.xa</filename>, <filename>vid_h263.xa</filename>, <filename>vid_iv50.xa</filename> </para></step> </procedure> <para> Az XAnim egy videó codec család, amelynek a használatát, ha az lehetséges, a <option>-vfm xanim</option> kapcsolóval írhatod elő az <application>MPlayer</application>nek. </para> <para> Letesztelt codec-ek: <emphasis role="bold">Indeo 3.2, 4.1, 5.0, CVID, 3ivX, H.263.</emphasis> </para> </sect2> <sect2 id="vivo-video"> <title>VIVO videó</title> <para> Az <application>MPlayer</application> le tudja játszani a Vivo (1.0 és 2.0) videókat. Az 1.0-ás fájlokhoz leginkább az FFmpeg H.263 dekódere illik, ezt a <option>-vc ffh263</option> kapcsolóval tudod használni. A 2.0-ás fájlokhoz használd a Win32 DLL-t a <option>-vc vivo</option> kapcsoló segítségével. Ha nem adsz meg kapcsolót a parancsorban, az <application>MPlayer</application> automatikusan kiválasztja a legjobb codec-et. </para> </sect2> <sect2 id="mpeg12"> <title>MPEG-1/2 videó</title> <para> Az MPEG-1 és MPEG-2 a <systemitem class="library">libmpeg2</systemitem> többplatformos, natív függvénykönyvtár segítségével kerülnek dekódolásra, aminek a forrása benne van az <application>MPlayer</application>ben. Le tudjuk kezelni a hibás MPEG-1/2 videó fájlokat is a <systemitem>Signal 11</systemitem> elkapásával (<systemitem>szegmentálási hiba</systemitem>), és a codec gyors újrainicializálásával, pontosan onnan folytatva, ahol a hiba keletkezett. Ennek a javító technikának nincs mérhető sebességvesztesége. </para> </sect2> <sect2 id="avicodecs"> <title>MS Video1, Cinepak CVID, és egyéb régi codec-ek</title> <para> Az <application>MPlayer</application> a legtöbb régi codec-kel készült AVI és MOV fájlt le tudja játszani. Régen bináris Win32 codec-ekkel voltak dekódolva, de most már <emphasis role="bold">natív codec-jeink</emphasis> vannak a legtöbbhöz a <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>-nek hála. </para> </sect2> <sect2 id="realvideo"> <title>RealVideo</title> <para> Az <application>MPlayer</application> támogatja a RealVideo összes verziójának dekódolását: <itemizedlist> <listitem><simpara> RealVideo 1.0, 2.0 (fourcc RV10, RV20) - kódolás/dekódolás támogatása <systemitem class="library">libavcodec</systemitem>-kel </simpara></listitem> <listitem><simpara> RealVideo 3.0, 4.0 (fourcc RV30, RV40) - dekódolás támogatása <emphasis role="bold">RealPlayer könyvtárakkal</emphasis> </simpara></listitem> </itemizedlist> </para> <para> Töltsd le a Real codec-eket a <ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/">http://www.mplayerhq.hu/MPlayer/releases/codecs/</ulink> könyvtárból és csomagold ki a <filename class="directory">/usr/local/lib/codecs</filename> könyvtárba. Ha máshol akarod tárolni őket, add meg a <option>--with-reallibdir</option> kapcsolót a <command>configure</command>-nak. </para> <note><para> A <application>RealPlayer</application> könyvtárak jelenleg <emphasis role="bold">csak Linux, FreeBSD, NetBSD és Cygwin alatt működnek x86-on, Alpha-n és PowerPC-n (a Linux/Alpha és Linux/PowerPC tesztelve lett) és Mac OS X-szel</emphasis>. </para></note> </sect2> <sect2 id="xvid"> <title>XviD</title> <para> Az <ulink url="http://www.xvid.org">XviD</ulink> egy szabad szoftveres MPEG-4 ASP kompatibilis videó codec, ami tud két lépésben kódolni és teljes MPEG-4 ASP támogatás van benne, ezáltal sokkal hatékonyabb, mint a jólismert DivX codec. Nagyon jó videó minőséget kínál és a CPU optimalizációknak hála a legtöbb modern processzoron a teljesítménye is jó. </para> <para> Az OpenDivX codec forkolt fejlesztésként indult annak idején. A fork akkor történt, amikor a ProjectMayo az OpenDivX-et zárt forráskódúvá tette DivX4 (most DivX5) néven, felbosszantva így a nem-ProjectMayo-s fejlesztőket, akik az OpenDivX-en dolgoztak, s akik így elindították az XviD-et. Így mindkét projektnek azonosak a gyökereik. </para> <procedure> <title>Az <systemitem class="library">XviD</systemitem> telepítése</title> <para> Mint a legtöbb nyílt forráskódú program, ez is két formában érhető el: <ulink url="http://www.xvid.org/downloads.html">hivatalos kiadás</ulink> és a CVS verzió. A CVS verzió általában elég stabil a használathoz, mivel legtöbbször csak a kiadásokban benne lévő hibák javításait tartalmazza. Itt van lépésről lépésre, hogy mit kell tenned, ha az <systemitem class="library">XviD</systemitem> CVS-t használni akarod a <application>MEncoder</application>rel (szükséged lesz az <application>autoconf</application> 2.50-re, az <application>automake</application>-re és a <application>libtool</application>-ra): </para> <step><para> <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</screen> </para></step> <step><para> <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</screen> </para></step> <step><para> <screen>cd xvidcore/build/generic</screen> </para></step> <step><para> <screen>./bootstrap.sh</screen> </para></step> <step><para> <screen>./configure</screen> Meg kell adnod pár kapcsolót (tanulmányozd a <command>./configure --help</command> kimenetét). </para></step> <step><para> <screen>make && make install</screen> </para></step> <step><para> Ha megadtad a <option>--enable-divxcompat</option> kapcsolót, másold át a <filename>../../src/divx4.h</filename> fájlt a <filename class="directory">/usr/local/include/</filename>könyvtárba. </para></step> <step><para> Fordítsd újra az <application>MPlayer</application>t a <option>--with-xvidlibdir=<replaceable>/eleresi/ut/</replaceable>libxvidcore.a</option> <option>--with-xvidincdir=<replaceable>/eleresi/ut/</replaceable>xvid.h</option> kapcsolókkal. </para></step> </procedure> </sect2> <sect2 id="sorenson"> <title>Sorenson</title> <para> A Sorenson egy Sorenson Media által kifejlesztett videó codec, amit az Apple-nek licenszelnek, aki a <application>QuickTime Player</application>-ével terjeszti. Képesek vagyunk a Sorenson videó fájlok összes verziójának dekódolására a következő dekódolókkal: </para> <itemizedlist> <listitem><simpara> Sorenson Video v1 (fourcc <emphasis>SVQ1</emphasis>) - a dekódolást <emphasis role="bold">natív codec</emphasis> biztosítja (<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>) </simpara></listitem> <listitem><simpara> Sorenson Video v3 (fourcc <emphasis>SVQ3</emphasis>) - a dekódolást <emphasis role="bold">natív codec</emphasis> biztosítja (<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>) </simpara></listitem> </itemizedlist> <procedure> <title>MPLAYER FORDÍTÁSA QUICKTIME KÖNYVTÁRAK TÁMOGATÁSÁVAL</title> <note><para>Jelenleg csak a 32-bit-es Intel platformok támogatottak.</para></note> <step><para>Töltsd le az <application>MPlayer</application> CVS-t</para></step> <step><para>Töltsd le a QuickTime DLL csomagot: <ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/"/> </para></step> <step><para>Csomagold ki a QuickTime DLL-eket a Win32 codec könyvtáradba (alapértelmezett: <filename class="directory">/usr/local/lib/codecs/</filename>) </para></step> <step><para>fordítsd le az <application>MPlayer</application>t</para></step> </procedure> </sect2> <sect2 id="codec-x264"> <title>x264</title> <sect3 id="codec-x264-whatis"> <title>Mi az az x264?</title> <para> Az <systemitem class="library">x264</systemitem> egy függvénykönyvtár a H.264 videó folyamok létrehozásához. Még nincs kész 100%-ig, de valamilyen szinten már támogatja a H.264 legtöbb minőségjavító tulajdonságát. Van számos fejlett tulajdonság a H.264 specifikációjában, aminek semmi köze a videó minőségéhez; ezek többsége még nincs implementálva az <systemitem class="library">x264</systemitem>-ben. </para> <itemizedlist> <title>Kódoló tulajdonságai</title> <listitem><para>CAVLC/CABAC</para></listitem> <listitem><para>Többszörös hivatkozás</para></listitem> <listitem><para>Intra: az összes makroblokk típus (16x16, 8x8 és 4x4 az összes előrejelzéssel)</para></listitem> <listitem><para>Inter P: az összes elosztás (16x16-tól le 4x4-ig)</para></listitem> <listitem><para>Inter B: elosztás 16x16-tól le 8x8-ig (beleértve a SKIP/DIRECT-et)</para></listitem> <listitem><para>Rátavezérlés: konstans kvantáló, konstans bitráta, egy vagy többlépéses ABR, opcionális VBV</para></listitem> <listitem><para>Jelenet vágás detektálása</para></listitem> <listitem><para>Adaptív B-kocka elhelyezés</para></listitem> <listitem><para>B-kocka mint referencia / önkényes képkocka sorrend</para></listitem> <listitem><para>8x8 és 4x4 adaptív térbeli transzformáció</para></listitem> <listitem><para>Veszteségmentes mód</para></listitem> <listitem><para>Egyedi kvantálási matricák</para></listitem> <listitem><para>Több szelet párhuzamos kódolása</para></listitem> </itemizedlist> </sect3> <sect3 id="codec-h264-whatis"> <title>Mi az a H.264?</title> <para> A H.264 az ITU és az MPEG által közösen fejlesztett új digitális videó codec egyik neve. Hivatkoznak rá még olyan kellemetlen neveken is, mint "ISO/IEC 14496-10" vagy "MPEG-4 Part 10". Legtöbbször "MPEG-4 AVC" vagy csak "AVC" néven szerepel. </para> <para> Bárhogy is nevezed, a H.264 megéri, hogy kipróbáld, mert általában eléri az MPEG-4 ASP minőségét 5%-30%-kal kisebb bitrátával. A valódi eredmények mind a forrás anyagtól, mind a kódolótól függnek. A H.264 előnyei nem jönnek ingyen: a H.264 folyamok dekódolásának elég meredek a CPU és memória igénye. Például egy 1733 Mhz-es Athlon-on egy DVD felbontású 1500kbps-es H.264 videó kb. 35% CPU-t használ a dekódoláshoz. Összehasonlításként egy DVD felbontású 1500kbps-es MPEG-4 ASP folyamnak 10% körüli CPU kell. Ez azt jelenti, hogy a nagy-felbontású folyamok dekódolása szinte szóba se jön a legtöbb felhasználónál. Azt is jelenti, hogy egy tisztességes DVD rip néha akadhat a 2.0 Ghz-nél lassabb processzorokon, és így tovább. </para> <para> Az <systemitem class="library">x264</systemitem>-mal a kódolási szükségletek nem sokkal rosszabbak, mint amit az MPEG-4 ASP-nél megszoktál. Például egy 1733 Mhz-es Athlon-on egy tipikus DVD kódolás 5-15 fps-sel fut. </para> <para> Ennek a dokumentumnak nem célja a H.264 részletes leírása, ha érdekel egy rövid áttekintés, akkor olvasd el a <ulink url="http://www.cdt.luth.se/~peppar/kurs/smd151/spie04-h264OverviewPaper.pdf">The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions</ulink> című írást. </para> </sect3> <sect3 id="codec-x264-playback"> <title>Hogyan tudok lejátszani H.264 videókat az <application>MPlayer</application>rel?</title> <para> Az <application>MPlayer</application> a <systemitem class="library">libavcodec</systemitem> H.264 dekódolóját használja. A <systemitem class="library">libavcodec</systemitem> már 2004. júliusa óta tartalmaz egy minimálisan használható H.264 dekódolást, de azóta több fontos változás és fejlesztés történt, mind a támogatott funkcionalitások, mind a CPU felhasználás szempontjából. Csak a biztonság kedvéért érdemes mindig a legfrissebb CVS kódot használni. </para> <para> Ha gyors és könnyen emészthető formában szeretnél információkat arról, hogy milyen új változások történtek a <systemitem class="library">libavcodec</systemitem> H.264 dekódolójában, tartsd figyelemmel az <ulink url="http://mplayerhq.hu/cgi-bin/cvsweb.cgi/ffmpeg/libavcodec/h264.c?cvsroot=FFMpeg">FFmpeg CVS fájának web-es felületét</ulink>. </para> </sect3> <sect3 id="codec-x264-encode"> <title>Hogyan tudok a <application>MEncoder</application>rel és az <systemitem class="library">x264</systemitem>-gyel videót kódolni?</title> <para> Ha van feltelepítve subversion kliensed, a legújabb x264 forrást letöltheted ezzel a paranccsal: <screen> svn co svn://svn.videolan.org/x264/trunk x264<!-- --></screen> Az <application>MPlayer</application> forrás mindig frissül, ha egy <systemitem class="library">x264</systemitem> API változás jelenik meg, így javasolt az <application>MPlayer</application> CVS verziójának használata. Talán ez a szituáció változni fog ha egy <systemitem class="library">x264</systemitem> "kiadás" megjelenik. Addig az <systemitem class="library">x264</systemitem> nagyon instabilként kezelendő, figyelembe véve, hogy a programozási felülete is változik. </para> <para> Az <systemitem class="library">x264</systemitem> a szabványos módon fordítható le és telepíthető: <screen> ./configure && make && sudo make install<!-- --></screen> Ez telepíti a libx264.a-t a /usr/local/lib könyvtárba és az x264.h-t beleteszi a /usr/local/include-ba. Miután az <systemitem class="library">x264</systemitem> függvénykönyvtár és a fejléc fájl a megfelelő helyre került, az <application>MPlayer</application> fordítása <systemitem class="library">x264</systemitem> támogatással már egyszerű. csak futtasd a szabványos parancsokat: <screen>./configure && make && sudo make install</screen> A configure script automatikusan detektálja, hogy elget teszel az <systemitem class="library">x264</systemitem> követelményeinek. </para> </sect3> </sect2> </sect1> <!-- ********** --> <sect1 id="audio-codecs"> <title>Audió codec-ek</title> <itemizedlist> <title>A legfontosabb audió codec-ek:</title> <listitem><simpara> MPEG layer 1/2/3 (MP1/2/3) audió (<emphasis role="bold">natív</emphasis> kód, MMX/SSE/3DNow! optimalizációval) </simpara></listitem> <listitem><simpara> Windows Media Audio 7 és 8 (ismert mint WMAv1 és WMAv2) (<emphasis role="bold">natív</emphasis> kód, <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>-kel) </simpara></listitem> <listitem><simpara> Windows Media Audio 9 (WMAv3) (DMO DLL-lel) </simpara></listitem> <listitem><simpara> AC3 Dolby audió (<emphasis role="bold">natív</emphasis> kód, MMX/SSE/3DNow! optimalizációval) </simpara></listitem> <listitem><simpara> hangkártyán áteresztő AC3 </simpara></listitem> <listitem><simpara> AAC </simpara></listitem> <listitem><simpara> Ogg Vorbis audió codec (<emphasis role="bold">natív</emphasis> függvénykönyvtár) </simpara></listitem> <listitem><simpara> RealAudio: DNET (alacsony bitrátájú AC3), Cook, Sipro és ATRAC3 </simpara></listitem> <listitem><simpara> QuickTime: Qualcomm és QDesign audió codec-ek </simpara></listitem> <listitem><simpara> VIVO audió (g723, Vivo Siren) </simpara></listitem> <listitem><simpara> Voxware audió (DirectShow DLL használatával) </simpara></listitem> <listitem><simpara> alaw és ulaw, számos gsm, adpcm és pcm formátum és más, egyszerű, régi audió codec </simpara></listitem> <listitem><simpara> Adaptive Multi-Rate (AMR) beszéd codec </simpara></listitem> </itemizedlist> <sect2 id="swac3"> <title>Szoftveres AC3 dekódolás</title> <para> Ez az alapértelmezésben használt dekódoló az AC3 audiójú fájlokhoz. </para> <para> Az AC3 dekódoló 2, 4 vagy 6 csatornás hangkimenet keverést tud csinálni. Ha 6 hangszóróra van beállítva, ez a dekódoló külön kimenetet biztosít hang vezérlő összes AC3 csatornájának, létrehozva így a teljes "surround sound" hatást, a hwac3 codec-hez szükséges külső AC3 dekódoló nélkül. </para> <para> Használd a <option>-channels</option> kapcsolót a kimeneti csatornák számának megadásához. A <option>-channels 2</option> sztereo downmix-et produkál. Egy 4 csatornás downmixhez (bal elülső, jobb elülső, bal Surround és jobb Surround kimenet) használd a <option>-channels 4</option> kapcsolót. Ebben az esetben, bármelyik középső csatorna egyenlően lesz elkeverve az elülső csatornákhoz. A <option>-channels 6</option> kapcsoló minden AC3 csatornát úgy ad ki, ahogy azok kódolva lettek - bal, jobb, bal Surround, jobb Surround, Center és LFE sorrendben. </para> <para> A csatornák alapértelmezett száma 2. </para> <para> 2-nél több kimeneti csatorna használatához OSS-t kell használnod, és egy olyan hangkártyával kell rendelkezned, ami támogatja a megfelelő számú kimeneti csatornát az SNDCTL_DSP_CHANNELS ioctl-en keresztül. Például az emu10k1 2001. augusztus vagy későbbi verziói megfelelő vezérlők (a Soundblaster Live! kártyák használják, de az ALSA CVS is valószínűleg működik). </para> </sect2> <sect2 id="hwac3"> <title>Hardveres AC3 dekódolás</title> <para> AC3-at támogató hangkártyára lesz szükséges, digitális kimenettel (S/PDIF). A kártya vezérlőjének megfelelően támogatnia kell az AFMT_AC3 formátumot (a C-Media támogatja). Csatlakoztasd az AC3 dekódolódat az S/PDIF kimenethez és használd a <option>-ac hwac3</option> kapcsolót. Még kisérleti kód, de működik C-Media kártyákon és Soundblaster Live! + ALSA (de OSS-en nem) vezérlővel, valamint DXR3/Hollywood+ MPEG dekódoló kártyákon. </para> </sect2> <sect2 id="libmad"> <title>libmad támogatás</title> <para> A <ulink url="http://www.underbit.com/products/mad/">libmad</ulink> egy többplatformos, csak egész (belső 24bit-es PCM) alapú MPEG audió dekódoló függvénykönyvtár. Nem kezeli jól a sérült fájlokat, és néha problémái vannak a kereséssel, de jobb a teljesítménye FPU nélküli rendszereken (mint pl. az <link linkend="arm">ARM</link>), mint az mp3lib-é. </para> <para> A támogatás bekapcsolásához add meg a <option>--enable-mad</option> configure kapcsolót. </para> </sect2> <sect2 id="hwmpa"> <title>Hardveres MPEG audió codec</title> <para> Ez a codec (a -ac hwmpa kapcsolóval választhatod ki) az MPEG audió csomagokat átadja a hardveres dekódolóknak, mint amilyenek például a jól felszerelt DVB kártyákon és DXR2 adaptereken vannak. Ne használd másik audió kimeneti eszközzel együtt (mint az OSS vagy ALSA), ami nem képes dekódolni (csak zajt fogsz hallanis). </para> </sect2> <sect2 id="vivo-audio"> <title>VIVO audió</title> <para> A VIVO fájlokban használt audió codec attól függ, hogy VIVO/1.0 vagy VIVO/2.0 fájlról van-e szó. A VIVO/1.0 fájlok <emphasis role="bold">g.723</emphasis> audiót tartalmaznak, a VIVO/2.0 fájlok pedig <emphasis role="bold">Vivo Siren</emphasis> audiót. Mindkettő támogatott. </para> </sect2> <sect2 id="realaudio"> <title>RealAudio</title> <para> Az <application>MPlayer</application> majdnem minden RealAudio verziót támogat: </para> <itemizedlist> <listitem><simpara> RealAudio DNET - a dekódolást a <systemitem class="library">liba52</systemitem> biztosítja </simpara></listitem> <listitem><simpara> RealAudio Cook/Sipro/ATRAC3 - a dekódolást a <emphasis role="bold">RealPlayer könyvtárak</emphasis> biztosítják </simpara></listitem> </itemizedlist> <para> A RealPlayer könyvtárak telepítési útmutatóját a <link linkend="realvideo">RealVideo</link> részben találod. </para> </sect2> <sect2 id="qdesign"> <title>QDesign codec-ek</title> <para> QDesign audió folyamok (fourcc:<emphasis>QDMC, QDM2</emphasis>) MOV/QT fájlokban találhatóak. Ezen codec mindkét verziója dekódolható a QuickTime könyvtárakkal. A telepítési útmutatóhoz olvasd el a <link linkend="sorenson">Sorenson videó codec</link> részt. </para> </sect2> <sect2 id="qualcomm"> <title>Qualcomm codec-ek</title> <para> Qualcomm audio streams (fourcc:<emphasis>Qclp</emphasis>) MOV/QT fájlokban találhatóak. Dekódolhatóak a QuickTime könyvtárakkal. A telepítési útmutatóhoz olvasd el a <link linkend="sorenson">Sorenson videó codec</link> részt. </para> </sect2> <sect2 id="aac"> <title>AAC codec</title> <para> Az AAC (Advanced Audio Coding) egy audió codec, amit néha MOV és MP4 fájlokban található. Egy FAAD nevű, nyílt forráskódú dekódoló elérhető a <ulink url="http://www.audiocoding.com"/> címen. Az <application>MPlayer</application> tartalmazza a libfaad 2.1 béta CVS kódját, nem szükséges külön beszerezni. </para> <para> Ha gcc 3.2-t használsz, ami nem tudja lefordítani a belső FAAD forrásunkat vagy valami más okból a külső függvénykönyvtárat szeretnéd használni, töltsd le a <ulink url="http://www.audiocoding.com/modules/mydownloads/">letöltési oldalról</ulink> és add meg a <option>--enable-external-faad</option> kapcsolót a <filename>configure</filename>-nak. Nem kell a teljes faad2 az AAC fájlok dekódolásához, a libfaad elég. Így készítsd el: <screen> cd faad2/ sh bootstrap ./configure cd libfaad make make install </screen> Binárisok nem tölthetőek le az audiocoding.com-ról, de (apt-)get-tel feltelepítheted Debian csomagokból <ulink url="http://hpisi.nerim.net">Christian Marillat weboldaláról</ulink>, vagy Mandrake/Mandriva RPM-ből a <ulink url="http://plf.zarb.org">P.L.F</ulink>-ről, RedHat RPM-ből pedig a <ulink url="http://greysector.rangers.eu.org/">Grey Sector</ulink>-tól. </para> </sect2> <sect2 id="amr"> <title>AMR codec-ek</title> <para> Az Adaptive Multi-Rate beszéd codec-et harmadik generációs (3G) mobiltelefonokban használják. A referencia implementáció elérhető <ulink url="http://www.3gpp.org">A 3. Generációs Együttműködés Projekt</ulink> oldalán (személyes felhasználásra ingyenes). </para> <para> A támogatás engedélyezéséhez töltsd le az <ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26104-610.zip">AMR-NB</ulink> és <ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26204-600.zip">AMR-WB</ulink> codec-ek forrását, tedd be abba a könyvtárba, ahol az <application>MPlayer</application> forrása van és futtasd az alábbi parancsokat: <screen> unzip 26104-610.zip unzip 26104-610_ANSI_C_source_code.zip mv c-code libavcodec/amr_float unzip 26204-600.zip unzip 26204-600_ANSI-C_source_code.zip mv c-code libavcodec/amrwb_float </screen> Ezután kövesd a szokásos <application>MPlayer</application> <link linkend="features">fordítási lépéseket</link>. </para> </sect2> </sect1> <!-- ********** --> <sect1 id="codec-importing"> <title>Win32 codec importálási HOGYAN</title> <!-- TODO: a short paragraph of text would be nice here... --> <sect2 id="vfw-codecs"> <title>VFW codec-ek</title> <para> A VFW (Video for Windows) egy régi Videó API Windowshoz. A codecjei <filename>.DLL</filename> vagy (ritkán) <filename>.DRV</filename> kiterjesztésűek voltak. Ha az <application>MPlayer</application>nek nem sikerül lejátszani az AVI fájlodat egy ilyesmi üzenettel: <screen>UNKNOWN video codec: HFYU (0x55594648)</screen> </para> <para> Ez azt jelenti, hogy az AVI fájlod egy olyan codec-kel lett elkódolva, aminek HFYU a fourcc-je (HFYU = HuffYUV codec, DIV3 = DivX Low Motion, stb.). Most, hogy már tudod ezt, meg kell keresned, melyik DLL-t tölti be a Windows ennek a fájlnak a lejátszásához. A mi esetünkben, a <filename>system.ini</filename> tartalmazza ezt az információt ebben a sorban: <programlisting>VIDC.HFYU=huffyuv.dll</programlisting> </para> <para> Szükséged lesz a <filename>huffyuv.dll</filename> fájlra. Figyelj rá, hogy az audio codec-ek MSACM prefix-szel vannak megadva: <programlisting>msacm.l3acm=L3codeca.acm</programlisting> </para> <para> Ez az MP3 codec. Most már minden szükséges információval rendelkezel (fourcc, codec fájl, példa AVI), küldd be a codec támogatási kérésedet egy levélben és töltsd fel ezket a fájlokat az FTP-re: <systemitem role="url"> ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecneve]/ </systemitem> </para> <note><para>Windows NT/2000/XP alatt a regisztrációs adatbázisban keresd ezeket az információkat, pl. keress rá a "VIDC.HFYU"-ra. Hogy ezt hogy tudod megcsinálni, nézd meg a régi DirectShow módszert lejebb. </para></note> </sect2> <sect2 id="dshow-codecs"> <title>DirectShow codec-ek</title> <para> A DirectShow egy újabb Videó API, ami még rosszabb, mint az elődje. A dolgok nehezebben mennek a DirectShow-val, mivel <itemizedlist> <listitem><simpara> a <filename>system.ini</filename> nem tartalmazza a megfelelő információkat, azok a regisztrációs adatbázisban vannak és </simpara></listitem> <listitem><simpara> szükségünk van a codec GUID-jére. </simpara></listitem> </itemizedlist> </para> <procedure> <title>Új módszer:</title> <para> A <application>Microsoft GraphEdit</application> használatával (gyors) </para> <step><para> Szedd le a <application>GraphEdit</application>-et a DirectX SDK-ból vagy a <ulink url="http://doom9.net">doom9</ulink>-ről. </para></step> <step><para> Indítsd el a <command>graphedit.exe</command>-t. </para></step> <step><para> A menüben válaszd ki a Graph -> Insert Filters menüpontot. </para></step> <step><para> Nyisd ki a <systemitem>DirectShow Filters</systemitem> elemeit. </para></step> <step><para> Válaszd ki a megfelelő codec nevet és nyisd ki. </para></step> <step><para> A <systemitem>DisplayName</systemitem> bejegyzésben nézd meg a francia zárójelek között lévő karakterláncot és írd le (öt vonallal elválasztott blokk, a GUID). </para></step> <step><para> A codec bináris a <systemitem>Filename</systemitem> bejegyzésben megadott fájl. </para></step> </procedure> <note> <para> Ha nincs <systemitem>Filename</systemitem> és a <systemitem>DisplayName</systemitem> olyasmit tartalmaz, hogy <systemitem>device:dmo</systemitem>, akkor ez egy DMO-Codec. </para> </note> <procedure> <title>Régi módszer:</title> <para> Végy egy nagy levegőt és kezdj keresni a regisztrációs adatbázisban... </para> <step><para> indítsd el a <command>regedit</command>-et. </para></step> <step><para> Nyomd meg a <keycap>Ctrl</keycap>+<keycap>F</keycap>, kapcsold ki az első két kijelölő dobozd és engedélyezd a harmadikat. Írd be a codec fourcc-jét (pl. <userinput>TM20</userinput>). </para></step> <step><para> Egy mezőt kell látnod, ami az elérési utat és a fájl nevét tartalmazza (pl. <filename>C:\WINDOWS\SYSTEM\TM20DEC.AX</filename>). </para></step> <step><para> Most, hogy megvan a fájl, a GUID-t kell megkeresni. Próbáld újra a keresést, de most a codec nevére keress, ne a fourcc-re. A nevét a Media Player kiírja a fájl lejátszása közben, ha megnézed a <guimenu>File</guimenu> -> <guisubmenu>Properties</guisubmenu> -> <guimenuitem>Advanced</guimenuitem> fület. Ha mégsem, akkor így jártál. Próbáld meg kitalálni (pl. keress rá a TrueMotion-ra). </para></step> <step><para> Ha megvan a GUID, látnod kell egy <guilabel>FriendlyName</guilabel> és egy <guilabel>CLSID</guilabel> mezőt. Írd le a 16 bájtos CLSID-t, ez a GUID, ami kell. </para></step> </procedure> <note> <para> Ha nem sikerült a keresés, próbáld meg bekapcsolni az összes kijelölő dobozt. Ekkor kaphatsz hamis találatokat, de talán szerencséd lesz... </para> </note> <para> Most, hogy már megvan minden szükséges információ (fourcc, GUID, codec fájl, példa AVI), küldd el a codec támogatási kérelmedet levélben és töltsd fel a fájlokat az FTP-re: <systemitem role="url">ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecneve]/ </systemitem> </para> <para> Ha saját magad szeretnél beépíteni egy codec-et, olvasd el a <ulink url="http://www.mplayerhq.hu/MPlayer/DOCS/tech/codecs.conf.txt">DOCS/tech/codecs.conf.txt</ulink> fájlt. </para> </sect2> </sect1> </chapter>