7.1. Videó codec-ek

A codec státusz táblázat tartalmazza az összes támogatott codec-et, napi frissítéssel. Néhány MPlayerrel használható bináris codec elérhető a weboldalunk letöltési részében.

A legfontosabb dolgok:

Ha van olyan Win32 codec-ed, ami nincs a listában és még nem támogatott, olvasd el a codec importálás HOGYAN-t és segítsd a munkánkat.

7.1.1. FFmpeg/libavcodec

Az FFmpeg tartalmazza a libavcodec-et, a vezető nyílt forráskódú videó és audió codec függvénykönyvtárat. Képes a legtöbb multimédiás formátum dekódolására, általában az alternatíváknál gyorsabban, valamint egyre több formátumot támogat. Ez az alapértelmezett dekódoló az MPlayer által támogatott codec-ek nagy részénél. A kódolás szintén lehetséges pár formátumba, melyeket támogat is a MEncoder.

Az összes támogatott videó és audió codec-ek listájáért látogasd meg az FFmpeg weboldalát.

Az MPlayer tartalmazza a libavcodec-et. Csak futtasd a ./configure-t és fordíts.

7.1.2. Xvid

Az Xvid 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ó.

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

Jegyezd meg, hogy az Xvid nem szükséges az Xvid-es videók dekódolásához. A libavcodec az alapértelmezett, mivel jobb a sebessége.

Az Xvid telepítése

Mint a legtöbb nyílt forráskódú program, ez is két formában érhető el: hivatalos kiadás é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 Xvid CVS-t használni akarod a MEncoderrel (szükséged lesz az autoconf 2.50-re, az automake-re és a libtool-ra):

  1. cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login

  2. cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore

  3. cd xvidcore/build/generic

  4. ./bootstrap.sh

  5. ./configure

    Meg kell adnod pár kapcsolót (tanulmányozd a ./configure --help kimenetét).

  6. make && make install

  7. Ha megadtad a --enable-divxcompat kapcsolót, másold át a ../../src/divx4.h fájlt a /usr/local/include/könyvtárba.

  8. Fordítsd újra az MPlayert a --with-xvidlibdir=/eleresi/ut/libxvidcore.a --with-xvidincdir=/eleresi/ut/xvid.h kapcsolókkal.

7.1.3. x264

7.1.3.1. Mi az az x264?

Az x264 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 x264-ben.

Kódoló tulajdonságai

  • CAVLC/CABAC

  • Többszörös hivatkozás

  • Intra: az összes makroblokk típus (16x16, 8x8 és 4x4 az összes előrejelzéssel)

  • Inter P: az összes elosztás (16x16-tól le 4x4-ig)

  • Inter B: elosztás 16x16-tól le 8x8-ig (beleértve a SKIP/DIRECT-et)

  • Rátavezérlés: konstans kvantáló, konstans bitráta, egy vagy többlépéses ABR, opcionális VBV

  • Jelenet vágás detektálása

  • Adaptív B-kocka elhelyezés

  • B-kocka mint referencia / önkényes képkocka sorrend

  • 8x8 és 4x4 adaptív térbeli transzformáció

  • Veszteségmentes mód

  • Egyedi kvantálási matricák

  • Több szelet párhuzamos kódolása

  • Interlacing

7.1.3.2. Mi az a H.264?

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.

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.

Az x264-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.

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 The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions című írást.

7.1.3.3. Hogyan tudok lejátszani H.264 videókat az MPlayerrel?

Az MPlayer a libavcodec H.264 dekódolóját használja. A libavcodec 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 Subversion kódot használni.

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 libavcodec H.264 dekódolójában, tartsd figyelemmel az FFmpeg Subversion fájának web-es felületét.

7.1.3.4. Hogyan tudok a MEncoderrel és az x264-gyel videót kódolni?

Ha van feltelepítve subversion kliensed, a legújabb x264 forrást letöltheted ezzel a paranccsal:

svn co svn://svn.videolan.org/x264/trunk x264

Az MPlayer forrás mindig frissül, ha egy x264 API változás jelenik meg, így javasolt az MPlayer Subversion verziójának használata. Talán ez a szituáció változni fog ha egy x264 "kiadás" megjelenik. Addig az x264 nagyon instabilként kezelendő, figyelembe véve, hogy a programozási felülete is változik.

Az x264 a szabványos módon fordítható le és telepíthető:

./configure && make && sudo make install

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 x264 függvénykönyvtár és a fejléc fájl a megfelelő helyre került, az MPlayer fordítása x264 támogatással már egyszerű. csak futtasd a szabványos parancsokat:

./configure && make && sudo make install

A ./configure script automatikusan detektálja, hogy eleget teszel az x264 követelményeinek.