7.3. HOWTO: Import Win32 kodeků

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

Poznámka

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.

7.3.2. 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ý)

  1. Opatřete si GraphEdit buď z DirectX SDK nebo doom9.

  2. Spusťte graphedit.exe.

  3. V menu vyberte GraphInsert Filters.

  4. Vyrolujte položku DirectShow Filters.

  5. Vyberte správný název kodeku a vyrolujte položku.

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

  7. Binárka kodeku je uvedena ve vstupu Filename.

Poznámka

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

  1. Spusťte regedit.

  2. Stiskněte Ctrl-F, vypněte první dvě zaškrtávací políčka a zapněte to třetí. Napište fourcc kodeku (např. TM20).

  3. Měli byste uvidět pole obsahující cestu a jméno souboru (např. C:\WINDOWS\SYSTEM\TM20DEC.AX).

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

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

Poznámka

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.