KodekyVideo kodeky
Kompletní denně aktualizovaný seznam naleznete v naší
tabulce statusů kodeků.
Některé binární kodeky pro použití MPlayerem jsou dostupné
sekci download
naší domácí stránky.
Nejdůležitější ze všech jsou:
MPEG-1 (VCD) a
MPEG-2 (DVD) video
nativní dekodéry pro všechny DivX varianty,
3ivX, MS MPEG-4 v1, v2 a ostatní MPEG-4 varianty
nativní dekodér pro Windows Media Video 7/8
(WMV1/WMV2), a Win32 DLL dekodér
pro Windows Media Video 9
(WMV3),
obojí používané ve .wmv souborech
nativní Sorenson 1 (SVQ1) dekodér
nativní Sorenson 3 (SVQ3) dekodér
3ivx v1, v2 dekodér
Cinepak a Intel Indeo kodeky
(3.1,3.2,4.1,5.0)
MJPEG, AVID, VCR2, ASV2 a další hardwarové
formáty
VIVO 1.0, 2.0, I263 a další H.263(+)
varianty
FLI/FLC
RealVideo 1.0 & 2.0 z
libavcodec, a
RealVideo 3.0 & 4.0 kodeky používající
knihovny z RealPlayeru
nativní dekodér pro HuffYUV
Různé staré a jednoduché formáty podobné RLE
Pokud máte Win32 kodek, který zde není uveden a který není zatím podporován,
přečtěte si
codec importing HOWTO
a pomozte nám přidat pro něj podporu.
FFmpeg/libavcodecFFmpeg obsahuje
libavcodec, vedoucí
open source video a audio kodekovou knihovnu. Ta je schopna
dekódovat většinu formátů multimédií, obvykle vyšší rychlostí
než alternativy a plánuje se nakonec přidat podporu všech.
Je to výchozí dekodér pro většinu kodeků, které
MPlayer podporuje.
Pro některé formáty je k dispozici také enkódování podporované
v MEncoderu.
Úplný seznam podporovaných
video
a audio
kodeků naleznete na domácí stránce FFmpeg.
MPlayer obsahuje
libavcodec.
Jen spusťte ./configure a kompilujte.
XvidXvid je free software MPEG-4 ASP
kompatibilní video kodec, jenž má podporu pro dvouprůchodové enkódování a
plně podporuje MPEG-4 ASP, což jej činí mnohem efektivnějším, než je
dobře známý DivX kodek.
Dosahuje velmi dobré kvality videa a dobrý vákon díky CPU optimalizacím
pro většinu moderních procesorů.
Jeho vývoj je odvozen od OpenDivX kodeku.
To se stalo poté co ProjectMayo uzavřel zdrojový kód kodeku,
vydal jej jako DivX4 a lidé mimo ProjectMayo pracující na kodeku
OpenDivX se naštvali a založili Xvid. Oba projekty tedy mají stejný základ.
Poznamenejme, že Xvid není nutný pro dekódování Xvidem enkódovaného videa.
Jako výchozí je používán libavcodec,
jelikož poskytuje vyšší rychlost.
Instalace Xvid
Stejně jako většina svobodného software je dostupný ve dvou verzích:
oficiálně uvolněné verzi
a verzi CVS.
V současnosti je CVS verze obvykle dostatečně stabilní pro použití, jelikož
většinou obsahuje opravy chyb, které zůstaly po vydání.
Zde uvádíme postup pro zprovoznění Xvid
CVS v MEncoderu (budete potřebovat alespoň
autoconf 2.50, automake a libtool):
cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid logincvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcorecd xvidcore/build/generic./bootstrap.sh./configure
Zde můžete přidat nějaké volby (prostudujte si výstup příkazu
./configure --help).
make && make install
Pokud jste zadali ,
zkopírujte ../../src/divx4.h do adresáře
/usr/local/include/.
Znovu zkompilujte MPlayer s volbami
.
x264Co je x264?x264
je knihovna pro tvorbu H.264 video proudů.
Není 100% dokončena, ale již má alespoň určitou podporu většiny H.264
vlastností ovlivňujících kvalitu.
Ve specifikaci H.264 je ovšem mnoho pokročilých funkcí, které nemají přímo
co do činění s kvalitou videa. Mnoho z těchto vlastností zatím není
v x264 implementováno.
Vlastnosti enkodéruCAVLC/CABACMulti-reference
Intra: všechny typy makrobloků (16x16, 8x8 a 4x4 se všemi predikcemi)
Inter P: všechna rozdělení (partitiony) (od 16x16 níže až do 4x4)
Inter B: rozdělení od 16x16 níže až do 8x8 (včetně SKIP/DIRECT)
Řízení datového toku: konstantní kvantizér, konstantní datový
tok nebo jedno či víceprůchodový ABR
Detekce změny scényAdaptivní umísťování B-snímků
B-snímky jako referenční / libovolné řazení snímků
8x8 a 4x4 adaptivní prostorová transformaceBezstrátový režimUživatelské kvantizační maticeParalelní enkódování několika políčekProkládání (Interlacing)Co je H.264?
H.264 je jeden z názvů nového kodeku digitálního videa vyvíjeného společně
skupinami ITU a MPEG.
Rovněž může být zprávně nazýván těžkopádně jako
„ISO/IEC 14496-10“ nebo „MPEG-4 Part 10“.
Častěji je nazýván jako „MPEG-4 AVC“ nebo jen „AVC“.
Ať už mu říkáte jakkoli, H.264 stojí za vyzkoušení, protože obvykle
dosahuje kvality MPEG-4 ASP při datovém toku o 5%-30% nižším.
Konkrétní výsledky závisí jak na zdrojovém videu, tak na enkodéru.
Prospěch z použití H.264 není zadarmo: Zdá se, že dekódování H.264 datových
proudů má přemrštěné nároky na CPU a paměť.
Například na 1733 MHz Athlonu využije dekódování 1500kbps H.264 videa
v DVD rozlišení kolem 35% CPU.
Pro porovnání, dekódování 1500kbps MPEG-4 ASP proudu ve stejném rozlišení
vyžaduje okolo 10% CPU.
To znamená, že dekódování datových proudů je pro většinu uživatelů téměř
nemožné.
Rovněž to znamená, že dokonce i rozumný DVD rip se může občas zakousnout
na procesorech slabších než cca 2.0 GHz.
Alespoň s x264,
nejsou požadavky ne enkódování o mnoho větší než ty,
které vyžaduje MPEG-4 ASP.
Například na 1733 MHz Athlonu poběží typické DVD enkódování
při 5-15 snímků za sekundu.
Tento dokument se nesnaží vysvětlit detaily H.264, ale pokud máte zájem
o stručný přehled, přečtěte si
The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions.
Jak mohu přehrávat H.264 videa
MPlayerem?MPlayer používá H.264 dekodér z
libavcodecu.
libavcodec má alespoň
minimálně použitelný H.264 dekodér již asi od července 2004,
od té doby však byly provedeny velké změny a vylepšení jak
v počtu funkčností, tak ve vylepšení použití CPU.
Pro jistotu je vždy nejlepší používat aktuální Subversion verzi.
Chcete-li se snadno a rychle dozvědět o změnách v H.264 dekódování
libavcodecu, sledujte
webové FFmpeg Subversion rozhraní.
Jak mohu enkódovat video pomocí MEncoder
a x264?
Pokud máte nainstalován klient subversion, můžete si poslední x264
zdrojové kódy x264 opatřit tímto příkazem:
svn co svn://svn.videolan.org/x264/trunk x264
Zdrojové kódy MPlayeru jsou aktualizovány,
kdykoli nastane změna API v x264,
takže vždy doporučujeme používat také Subversion verzi
MPlayeru.
Tato situace se snad změní, až
x264 dospěje k „vydání“.
Mezi tím by měla být x264 považována
za velmi nestabilní v tom smyslu, že se její programové rozhraní neustále
mění.
x264 je setavována a
instalována standardním postupem:
./configure && make && sudo make install
To nainstaluje libx264.a do /usr/local/lib a x264.h je umístěn do
/usr/local/include.
S knihovnou x264 a jejím
hlavičkovým souborem umístěnými na standardních místech je
sestavení MPlayeru s podporou
x264 snadné.
Stačí spustir standardní:
./configure && make && sudo make install
Skript ./configure automaticky detekuje, že jste splnili
požadavky pro x264.
Audio kodekyNejdůležitější ze všech jsou audio kodeky:
MPEG layer 1/2/3 (MP1/2/3) audio (nativní
kód, s MMX/SSE/3DNow! optimalizací)
Windows Media Audio 7 a 8 (ALIAS WMAv1 a WMAv2)
(nativní kód, podpora v
libavcodec)
Windows Media Audio 9 (WMAv3) (používá DMO DLL)
AC–3 Dolby audio (nativní kód, s
MMX/SSE/3DNow! optimalizací)
AC–3 tunelování přes hardware zvukové karty
AAC
Ogg Vorbis audio kodek (nativní knihovna)
RealAudio: DNET (AC–3 s nízkým datovým tokem), Cook, Sipro a ATRAC–3
QuickTime: Qualcomm a QDesign audio kodeky
VIVO audio (g723, Vivo Siren)
Voxware audio (používá DirectShow DLL)
alaw a ulaw, různé gsm, adpcm a pcm formáty a ostatní jednoduché starší
audio kodeky
Adaptivní Multi-Rate (AMR) kodeky pro mluvené slovo
Softwarové dekódování AC–3
Toto je výchozí dekodér používaný pro soubory s AC–3 zvukem.
AC–3 dekodér umí vytvořit zvukový výstup pro 2, 4, nebo 6 reproduktorů.
Pokud je nakonfigurován na 6 kanálů, pak tento dekodér posílá všechny AC–3
kanály odděleně na rozhraní ovladače zvukové karty, což umožňuje vychutnávat
plně prostorový zvuk bez nutnosti mít externí AC–3 dekodér nutný k použití
hwac3 kodeku.
Použijte volbu pro výběr počtu výstupních kanálů.
Zadejte volbu pro mixování na stereo. Chcete-li
čtyřkanálový zvuk (Levý Čelní, Pravý Čelní, Levý Surround a Pravý Surround
výstup), zadejte volbu . V tom případě bude
jakýkoli středový kanál odpovídajícím způsobem namixován do čelních kanálů.
Volbou dostanete plný počet AC–3 kanálů tak jak
jsou enkódovány – v pořadí Levý, Pravý, Levý Surround, Pravý Surround, Střed a
LFE.
Výchozí počet výstupních kanálů jsou 2.
Chcete-li více než 2 výstupní kanály, budete potřebovat OSS, a zvukovou kartu,
která podporuje požadovaný počet výstupních kanálů přes
SNDCTL_DSP_CHANNELS ioctl. Příkladem použitelného ovladače je emu10k1
(používaný kartami Soundblaster Live!) ze Srpna 2001 nebo novější (ALSA z CVS
bude rovněž fungovat).
Hardwarové dekódování AC–3
Potřebujete zvukovou kartu schopnou AC–3, s digitálním výstupem(S/PDIF).
Ovladač karty musí správně podporovat formát AFMT_AC–3 (C-Media ano). Připojte
svůj AC–3 dekodér na výstup S/PDIF a zadejte volbu .
Je to experimentální, ale víme že pracuje s C-Media kartami a
Soundblaster Live! + ALSA (ale ne OSS) ovladači a dekodérovými kartami
DXR3/Hollywood+ MPEG.
podpora libmadlibmad
je multiplatformní, pouze celočíselná (interně 24bitový PCM)
MPEG audio dekódovací knihovna. Neumí si dobře poradit s poškozenými soubory a
občas má problémy s převíjením, ale může být výkonnější na platformách bez
FPU (jako je ARM)
než mp3lib.
Máte-li správně nainstalovánu libmad, ./configure
si toho všimne a podpora dekódování MPEG zvuku přes
libmad bude zakompilována automaticky.
Hardwarový MPEG audio kodek
Tento kodek (zvolený pomocí ) posílá MPEG audio
pakety do hardwarových dekodérů dostupných např. v plně vybavených
DVB kartách a DXR2 adaptérech.
Nepoužívejte je v kombinaci s jinými výstupními audio rozhraními
(jako OSS a ALSA), které je nedokáží dekódovat (uslyšíte pouze rušení).
Kodek AAC
AAC (Advanced Audio Coding) je audio kodek, který lze občas nalézt v MOV a
MP4 souborech. Open source dekodér jménem FAAD je k dispozici na
.
MPlayer obsahuje CVS obraz libfaad 2.1 beta,
takže jej nemusíte stahovat dodatečně.
Pokud používáte gcc 3.2 které nedokáže zkompilovat naši zabudovanou FAAD,
nebo chcete použít externí knihovnu z jiných důvodů, stáhněte si ji z
download stránky
a předejte volbu skriptu
./configure.
Pro dekódování AAC souborů nepotřebujete celou faad2, libfaad stačí.
Zkompilujete ji takto:
cd faad2/
sh bootstrap
./configure
cd libfaad
make
make install
Binárky na audiocoding.com nenajdete, ale můžete si je opatřit v balíčcích pro
Debian z
domácí stránky Christiana Marillata,
Mandrake/Mandriva RPM z P.L.F
a Fedora RPM ze stránek Livna.
AMR kodeky
Adaptivní Multi-Rate kodek pro mluvené slovo je používán třetí generací (3G)
mobilních telefonů.
Referenční implementace je dostupná od
The 3rd Generation Partnership Project
(zdarma pro osobní použití).
Pro zapnutí podpory si stáhněte podpůrné knihovny pro
AMR-NB a AMR-WB
a následujte instrukce na stránce. Potom znovu zkompilujte MPlayer.
HOWTO: Import Win32 kodekůKodeky VFW
VFW (Video for Windows) je staré Video API pro Windows. Jeho kodeky mají
příponu .DLL nebo (zřídka) .DRV.
Pokud MPlayer selže při přehrávání vašeho AVI
s hláškou typu:
UNKNOWN video codec: HFYU (0x55594648)
nebo česky
NEZNÁMÝ video kodek: HFYU (0x55594648)
Pak to znamená, že máte AVI enkódované kodekem, který má HFYU fourcc (HFYU =
HuffYUV kodek, DIV3 = DivX Low Motion, atd). Teď když to víte, měli byste
zjistit kterou DLL Windows nahrává pro přehrávání tohoto souboru. V našem
případě soubor system.ini obsahuje řádek s touto
informací:
VIDC.HFYU=huffyuv.dll
Potřebujete tedy soubor huffyuv.dll. Poznamenejme, že
audio kodeky jsou odlišeny předponou MSACM:
msacm.l3acm=L3codeca.acm
To je kodek MP3. Nyní již máte všechny potřebné informace
(fourcc, soubor kodeku, vzorek AVI). Pošlete požadavek na podporu vašeho
kodeku mailem a nahrajte tyto soubory na FTP server:
ftp://upload.mplayerhq.hu/MPlayer/incoming/<codecname>/
Ve Windows NT/2000/XP hledejte tyto informace v registrech,
zde hledáte „VIDC.HFYU“. Jak to udělat se dozvíte níže v sekci
DirectShow Stará metoda.
Kodeky DirectShow
DirectShow je novější Video API, které je ještě horší než jeho předchůdce.
Pracuje se s ním hůře, protože
system.ini neobsahuje potřebné údaje,
místo toho jsou uloženy v registrech a
potřebujeme GUID kodeku.
Nová Metoda:
Using Microsoft GraphEdit (rychlý)
Opatřete si GraphEdit buď z DirectX SDK nebo
doom9.
Spusťte graphedit.exe.
V menu vyberte
GraphInsert Filters.
Vyrolujte položku DirectShow Filters.
Vyberte správný název kodeku a vyrolujte položku.
Ve vstupu DisplayName pohlédněte na text ve
dvojitých uvozovkách za zpětným lomítkem a opište si ho (pět lomítkem
oddělených bloků, GUID).
Binárka kodeku je uvedena ve vstupu
Filename.
Pokud zde není Filename a
DisplayName obsahuje něco jako
device:dmo, pak se jedná o DMO-Kodek.
Stará Metoda:
Zhluboka se nadechněte a začněte prohledávat registry...
Spusťte regedit.
Stiskněte
CtrlF,
vypněte první dvě zaškrtávací políčka a zapněte to třetí. Napište fourcc
kodeku (např. TM20).
Měli byste uvidět pole obsahující cestu a jméno souboru (např.
C:\WINDOWS\SYSTEM\TM20DEC.AX).
Teď když máme soubor, potřebujeme GUID. Zkuste hledat znovu, ale tentokrát
hledáme jméno kodeku, ne fourcc. Jeho jméno můžete zjistit během přehrávání
Media Playerem v menu
FilePropertiesAdvanced.
(SouborVlastnostiPokročilé).
Pokud ne, máte smůlu. Zkoušejte to dál (např. hledejte text TrueMotion).
Pokud naleznete GUID, měli byste vidět pole
FriendlyName a CLSID.
Opište si 16 bajtové CLSID, to je ono GUID, které potřebujeme.
Pokud vyhledávání selže, zkuste zapnout všechny zaškrtávátka. Nejspíš
dostanete nesprávné výsledky, ale můžete mít štěstí...
Nyní když máte všechny potřebné informace (fourcc, GUID, soubor kodeku,
vzorek AVI), pošlete požadavek na podporu svého kodeku mailem a nahrajte
tyto soubory na FTP server:
ftp://upload.mplayerhq.hu/MPlayer/incoming/<codecname>/
Pokud chcete přidat kodek sami, přečtěte si
DOCS/tech/codecs.conf.txt.