view DOCS/Hungarian/codecs.html @ 5881:3c5ee5419838

open w/O_CREAT requires a third argument, mode!
author rfelker
date Sun, 28 Apr 2002 02:24:05 +0000
parents 1a7fd8f13ac0
children 5bb339c33131
line wrap: on
line source

<HTML>

<HEAD>
<STYLE>
	.text
		{font-family	:	Verdana, Arial, Helvetica, sans-serif;
		font-size	:	14px;}
</STYLE>
</HEAD>

<BODY BGCOLOR=white>

<FONT CLASS="text">

<P><B><A NAME=2.2>2.2.  Támogatott codec-ek</A></B></P>


<P><B><A NAME=2.2.1>2.2.1.  Video codec-ek</A></B></P>

<P>Lásd <A HREF="http://www.mplayerhq.hu/DOCS/codecs-status.html">http://www.mplayerhq.hu/DOCS/codecs-status.html</A> a teljes, naponta
generált listához!!!</P>

<P>A legfontosabb video codecek:<BR>
<UL>
<LI>MPEG1 (VCD) és MPEG2 (DVD) video
<LI>DivX ;-), OpenDivX (DivX4), 3ivx, DivX 5.00 és más MPEG4 variánsok
<LI>Windows Media Video 7 (WMV1) és 8 (WMV2) ami .wmv file-okban van
<LI>Cinepak és Intel Indeo codecek (3.1, 3.2, 4.1, 5.0)
<LI>MJPEG, AVID, VCR2, ASV2 és más hardware formátumok
<LI>VIVO 1.0, 2.0, I263 és más h263+ variánsok</LI>
<LI>FLI/FLC</LI>
<LI>RealVideo</LI>
<LI>egyéb régi RLE-szerű formátumok</LI>
</UL></P>

<P>Ha van olyan codeced, ami nincs felsorolva vagy támogatva, olvasd el a
<A HREF="codecs.html#2.2.3">codec importálás</A> fejezetet, amiben le van írva mit kell
tenned, hogy támogassuk a codeced!</P>


<P><B><A NAME=2.2.1.1>2.2.1.1.  DivX4/DivX5</A></B></P>

<P>Ez a fejezet a <A HREF="http://www.projectmayo.com">ProjectMayo</A> DivX4 és
DivX5 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
<B>MPlayer</B>-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.</P>

<P>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, így eme codec
használata <B>NEM AJÁNLOTT</B> - kivéve enkódoláshoz).
A beállítást lásd lent. A codec egyetlen hátránya, hogy jelenleg zárt
forráskódú. :(</P>

<P>A következő URL-ről lehet letölteni:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="http://avifile.sourceforge.net">http://avifile.sourceforge.net</A></P>

<P>Ha ez nem működne valami oknál fogva, próbáld itt:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="http://divx.com">http://divx.com</A></P>

<P>Tömörítsd ki, és futtasd a <CODE>./install.sh</CODE> scriptet.</P>

<P>Megj: NE felejtsd el hozzáadni az <CODE>/usr/local/lib</CODE>-et az
<CODE>/etc/ld.so.conf</CODE> file végére, és futtatni az
<CODE>ldconfig</CODE>-ot !</P>

<P>Az <B>MPlayer</B> 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).</P>

<P>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.</P>

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

<P><TABLE BORDER=0>
<TD>&nbsp;&nbsp;</TD><TD VALIGN=top><FONT CLASS="text">-vc odivx</TD><TD>&nbsp;&nbsp;</TD>
<TD><FONT CLASS="text">a codec használata, mint az OpenDivX új verziója.
Ebben az esetben YV12 képeket produkál a saját bufferében,
és az <B>MPlayer</B> (libvo) konverziót végez.</TD><TR>
<TD></TD><TD VALIGN=top><FONT CLASS="text">-vc&nbsp;divx4</TD><TD></TD>
<TD><FONT CLASS="text">a codec csinál konverziót.
Ebben az esetben használhatsz YUY2/UYVY módokat is.</TD></TR>
</TABLE></P>

<P>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.</P>

<P>Megj: ha a -vo meghajtód támogat direct renderinget, a <CODE>-vc divx4</CODE>
  gyorsabb lehet !</P>

<P>Megj: a <B>RÉGI</B> OpenDivX támogat postprocessinget is (ez a módszer az
  <CODE>-oldpp</CODE> opcióval kapcsolható be), de az értékei furcsák :</P>

<P><TABLE BORDER=0>
<TD>&nbsp;&nbsp;</TD><TD><FONT CLASS="text">0</TD><TD>&nbsp;&nbsp;</TD>
<TD><FONT CLASS="text">nincs</TD><TR>
<TD></TD><TD><FONT CLASS="text">10 .. 20</TD>
<TD></TD><TD><FONT CLASS="text">postprocessing, normal (mint a 2-es szint a DirectShow-os DivX codeccel)</TD><TR>
<TD></TD><TD><FONT CLASS="text">30 .. 60</TD>
<TD></TD><TD><FONT CLASS="text">hard prostprocessing, sok CPU-t eszik (mint a 4-es)</TD>
</TABLE></P>


<P><B><A NAME=2.2.1.2>2.2.1.2.  ffmpeg DivX/libavcodec</A></B></P>

<P>A 0.4.2-es verzióval kezdve az
<A HREF="http://ffmpeg.sourceforge.net">ffmpeg</A> tartalmaz egy <B>nyitott
forráskódú</B> DivX codec-et, amely kompatibilis a hagyományossal. Az
<B>MPlayer</B> támogatja ezt a codec-et, lehetővé téve hogy
<B>DivX/DivX4/DivX5</B> filmeket nézzünk nem-x86 platformokon</B>, méghozzá
sokkal gyorsabb dekódolással mint amit a Win32 codec-ek, és az eredeti DivX4
lehetővé tesz!</P>

<P>Ezekenkívül még tartalmaz jónéhány más érdekes codec-et, pl: RealVideo 1.0,
MJPEG, h263, h263+, stb.</P>

<P>Milyen <B>MPlayer</B>-ed van?

<UL>
  <LI>release : ebben az esetben semmit nem kell tenned, a libavcodec-et
    ilyenkor mindig mellékeljük.</LI>
  <LI>CVS : ebben az esetben le kell töltened az <B>FFmpeg</B>
    CVS fát (a 0.4.5 NEM fog menni az <B>MPlayerrel</B>!):

<P><CODE>
  cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login<BR>
  cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg
</CODE></P>

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

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

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>main/libavcodec</CODE></P>

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

  </LI>
</UL>
</P>

<P>Ezután fordítsd le az <B>MPlayer-t</B>. A configure detektálja, ha minden
rendben. Támogat <B>postprocess-t</B>!</P>

<P>Ezzel és egy Matrox G400-zal még a legnagyobb felbontású DivX filmeket is
  meg lehet nézni képkockavesztés nélkül, egy régi K6/2 500-ason.</P>


<P><B><A NAME=2.2.1.3>2.2.1.3.  XAnim codec-ek</B></P>

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

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

<P>
<UL>
  <LI>töltsd le a használni kívánt codec-eket az <A HREF="http://xanim.va.pubnix.com">XAnim honlapjáról</A>.
  A <B>3ivx</B> codec-et nem találod meg ott, így azt töltsd le a
  <A HREF="http://www.3ivx.com">3ivx honlapjáról</A>.</LI>

  <LI>a <CODE>--with-xanimlibdir</CODE> opcióval mondd meg a configure-nak hogy
  hol vannak az xanim codec-ek. Magától az
  <CODE>/usr/local/lib/xanim/mods, /usr/lib/xanim/mods, /usr/lib/xanim</CODE>
  könyvtárban keresi őket.  Egy másik megoldás ha a <I>XANIM_MOD_DIR</I>
  környezeti változót beállítod arra a könyvtárra ahol az XAnime codec-ek
  találhatók.</LI>

  <LI>nevezd át a codeceket, hogy így nézzenek ki : <CODE>vid_cvid.xa, vid_h263.xa,
  vid_iv50.xa</CODE></LI>

</UL>
</P>

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

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


<P><B><A NAME=2.2.1.4>2.2.1.4.  VIVO video</A></B></P>

<P>Az <B>MPlayer</B> 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 <CODE>-vc ffh263</CODE>
opcióval lehet használni (alapértelmezett) (új libavcodec szükséges !). A 2.0-ás fileokhoz
szedd le az <CODE>ivvideo.dll</CODE> Win32 DLL file-t <A
HREF="http://www.mplayerhq.hu/MPlayer/samples/drivers32/ivvideo.dll">innen</A>),
és installáld a <CODE>/usr/lib/win32</CODE> 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.</P>

<P>Olvasd el a <A HREF=#2.2.2.4>VIVO audio codec</A> fejezetet is!</P>


<P><B><A NAME=2.2.1.5>2.2.1.5.  MPEG 1/2 video</A></B></P>

<P>Az MPEG1 és MPEG2 a natív <B>libmpeg2</B>-vel dekódoljuk. A forrása benne
van az <B>MPlayer</B>-ben, és természetesen több platformon is használható.
A hibás MPEG1/2 fileokat úgy játszuk le hogy sig11 után gyorsan
újrainicializáljuk a libmpeg2-őt és folytatjuk a lejátszást pontosan onnan ahol
a hiba volt. Nincs sebességvesztés.</P>


<P><B><A NAME=2.2.1.6>2.2.1.6.  MS Video1</A></B></P>

<P>Ez egy nagyon régi és nagyon rossz codec a Microsoft-tól. Régebben
ennek dekódolásához az <CODE>msvidc32.dll</CODE> nevű Win32-es codecet
használtuk, de mostmár van nyitott forrású implementációnk,
<A HREF="mailto:melanson@pcisys.net">Mike
Melanson</A>-tól.</P>


<P><B><A NAME=2.2.1.7>2.2.1.7.  Cinepak CVID</A></B></P>

<P>Az <B>MPlayer</B> 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.</P>


<P><B><A NAME=2.2.1.8>2.2.1.8.  RealVideo</A></B></P>

<P>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. :(</P>


<P><B><A NAME=2.2.1.9>2.2.1.9.  XViD</A></B></P>

<P>Az <B>XViD</B> egy - az OpenDivX-ből származó - video codec. A másik
  származékot DivX4 néven ismerjük.</P>

<P><B>Előnyei</B> :
  <UL>
    <LI>nyitott forrás</LI>
    <LI>az API-ja kompatibilis a DivX4-gyel így könnyen irható hozzá
      támogatás</LI>
    <LI>2 menetes enkódolás</LI>
    <LI>jó minőség, ezzel egyidejűleg a DivX4-nél magasabb sebesség
      (fordításnál a gépedre optimalizálhatod)</LI>
  </UL>
</P>

<P><B>Hátrányai</B> :
  <UL>
    <LI>jelenleg nem minden DivX/DivX4 file-t <B>dekódol</B> helyesen
      (de kit érdekel. A libavcodec kenterbe ver mindent.)</LI>
    <LI>nem lehet egyszerre DivX4 <B>ÉS</B> XViD támogatással fordítani
      az <B>MPlayer</B>-t. Ezt fordításkor kell eldönteni.</LI>
    <LI>fejlesztés alatt</LI>
  </UL>
</P>

<P><B>Installálás</B> : jelenleg csak CVS-ből elérhető. Ezek a letöltési
  utasítások :<BR>
  &nbsp;&nbsp;<CODE>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid
    login</CODE><BR>
  &nbsp;&nbsp;<CODE>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co
    xvidcore</CODE><BR>
  &nbsp;&nbsp;<CODE>cd xvidcore/build/generic</CODE><BR>
  &nbsp;&nbsp;<CODE>Szerkeszd át a Makefile.linux-ot a gépednek
    megfelelően</CODE><BR>
  &nbsp;&nbsp;<CODE>make -f Makefile.linux</CODE><BR>
  &nbsp;&nbsp;<CODE>fogod a DivX4linux csomagot és az encore2.h illetve
    decore.h file-okat átmásolod belőlük a <CODE>/usr/local/include/</CODE>
    könyvtárba<BR>
  &nbsp;&nbsp;<CODE>fordítsd újra az <B>MPlayer</B>-t a következő opcióval :
    --with-xvidcore=/útvonal/libcore.a</CODE><BR>
</P>


<P><B><A NAME=2.2.2>2.2.2.  Audio codec-ek</A></B></P>

<P>A legfontosabb audio codecek:<BR>
<UL>
<LI>MPEG layer 2, és layer 3 (MP3) audio (nativ kód, MMX/SSE/3DNow! optimalizációval)
<LI>AC3 dolby audio (natív kód, MMX/SSE/3DNow! optimalizációval)
<LI>AC3 dekódolás a hangkártya dekóderével
<LI>Ogg Vorbis audio codec (natív)
<LI>VoxWare audio (DirectShow-os DLL használatával)
<LI>alaw, msgsm, pcm és más régi formátumok
<LI>VIVO audio (g723, Vivo Siren)</LI>
</UL></P>


<P><B><A NAME=2.2.2.1>2.2.2.1.  Szoftveres AC3 dekódolás</B></P>

<P>Ez az alapértelmezett AC3 audio dekóder.</P>

<P>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.</P>

<P>A <CODE>-channels</CODE> opcióval adható meg a kimeneti csatornák száma.
A <CODE>-channels 2</CODE> stereo mixet eredményez. 4 csatornás mixhez
(bal első, jobb első, bal térhatás és jobb térhatás) a <CODE>-channels 4</CODE>
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 <CODE>-channels 6</CODE> 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.</P>

<P>Az alapértelmezett kimenet a 2 csatornás.</P>

<P>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).</P>


<P><B><A NAME=2.2.2.2>2.2.2.2.  Hardveres AC3 dekódolás</B></P>

<P>Kell egy AC3 képes hangkártya, digitális kimenettel (SP/DIF). A kártya
meghajtójának megfelelően támogatnia kell az AFMT_AC3 formátumot (ilyenek
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. Jelenleg a
C-Media kártyákkal és az SB Live! kártyákkal működik, utóbbinál csak az ALSA
meghajtóval!</P>


<P><B><A NAME=2.2.2.3>2.2.2.3.  libmad támogatás</A></B></P>

<P>A <A HREF="http://mad.sourceforge.net">libmad</A> egy többplatformos MPEG
audio dekóder. Ha nem tudod miért lenne szükséged rá, nincs szükséged rá.</P>

<P>Nem kezeli jól a hibás file-okat, és a tekeréssel is problémái vannak.</P>

<P>A támogatást az <CODE>--enable-mad</CODE> configure opcióval lehet bekapcsolni.</P>


<P><B><A NAME=2.2.2.4>2.2.2.4. VIVO audio</A></B></P>

<P>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 <B>g.723</B> audio van,
a 2.0-ásokban pedig <B>Vivo Siren</B>. Mindkettő támogatott.
A g.723/Siren codec <A
HREF="http://www.mplayerhq.hu/MPlayer/samples/drivers32/vivog723.acm">innen</A> letölthető.</P>


<P><B><A NAME=2.2.2.5>2.2.2.5. RealAudio</A></B></P>

<P>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.</P>


<P><B><A NAME=2.2.3>2.2.3.  Hogyan használj ismeretlen Win32 codec-et</A></B></P>

<P><B><A NAME=2.2.3.1>2.2.3.1.  VfW</A></B></P>

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

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>UNKNOWN video codec: HFYU (0x55594648)</CODE></P>

<P>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):</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>VIDC.HFYU=huffyuv.dll</CODE></P>

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

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>msacm.l3acm=L3codeca.acm</CODE></P>


<P>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:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/</CODE></P>


<P><B><A NAME=2.2.3.2>2.2.3.2.  DirectShow</A></B></P>

<P>DirectShow az újabb Video API, ami történetesen sokkal rosszabb, mint az
  elődje. Nehezebb dolgod lesz a DirectShow-val, mivel
<UL>
<LI>a system.ini nem tartalmazza a szükséges információt, ehelyett az egész a
registryben van :(
<LI>szükség lesz a codec GUID-jára is.
</UL></P>

<P>Na kezdjük átnézni azt az istenverte registry-t...
<UL>
<LI>Indítsd el a 'regedit'-et
<LI>ctrl-f, kapcsold ki az első két checkbox-ot, és be a harmadikat. Írd be
a codec fourcc-jét. (pl.: TM20)
<LI>jó esetben előjön a path és filenév
(pl. : C:\WINDOWS\SYSTEM\TM20DEC.AX)
<LI>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)
<LI>ha megvan, lesz ott egy FriendlyName, és egy CLSID mező. Írd le azt a
  16 byte-nyi CLSID-et, ez a GUID.
</UL></P>

<P>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...</P>
<P>MEGJ. : dobd ki azt az M$ szart.</P>


<P>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]/</P>

</BODY>

</HTML>