7.3. Comment importer les codecs Win32

7.3.1. codecs VFW

VFW (Video for Windows) est une ancienne API vidéo pour windows. Ses codecs portent l'extension .DLL ou (rarement) .DRV. Si MPlayer n'arrive pas à lire votre AVI et renvoie :

UNKNOWN video codec: HFYU (0x55594648)

Cela signifie que votre AVI est encodé avec un codec qui a le HFYU fourcc (HFYU = codec HuffYUV, DIV3 = DivX Low Motion, etc...). Maintenant que vous savez cela, vous devez déterminer quelle DLL Windows utilise pour lire ce fichier. Dans votre cas, le fichier system.ini fournit cette information à une ligne comme:

VIDC.HFYU=huffyuv.dll

Vous avez donc besoin du fichier huffyuv.dll. Notez que les codecs audio sont spécifiés par le préfixe MSACM :

msacm.l3acm=L3codeca.acm

C'est le codec MP3. Maintenant que vous avez toutes les informations nécessaires (fourcc, fichier codec, fichier AVI). Demandez le support de votre codec par mail, et envoyez ces fichiers sur le site FTP : ftp://upload.mplayerhq.hu/MPlayer/incoming/[nomcodec]/

Note

Sous Windows NT/2000/XP, cherchez cette info dans la base de registre, par exemple, cherchez "VIDC.HFYU". Pour savoir comment faire, regardez l'ancienne méthode DirectShow ci-dessous.

7.3.2. Codecs DirectShow

DirectShow est la plus récente interface de programmation vidéo, encore pire que sa prédécesseur. Les choses snot encore plus difficiles avec DirectShow puisque

  • system.ini ne contient pas les informations nécessaires qui sont désormais placées dans la base de registre et

  • nous avons besoin du GUID du codec.

Nouvelle Méthode:

En utilisant Microsoft GraphEdit (rapide)

  1. Obtenez GraphEdit depuis le SDK DirectX ou sur doom9.

  2. Exécutez graphedit.exe.

  3. Dans le menu sélectionnez Graph -> Insert Filters.

  4. Dépliez l'élément DirectShow Filters.

  5. Sélectionnez le bon nom de codec et dépliez l'élément.

  6. Dans l'entrée DisplayName regardez le texte entre accolades après le backslash et notez-le (cinq blocs délimités par des tirets, le GUID).

  7. Le binaire du codec est le fichier spécifié dans l'entrée Filename.

Note

Si il n'y a pas d'entrée Filename et que DisplayName contient quelque chose comme device:dmo, alors c'est un codec DMO.

Ancienne Méthode:

Respirez à fond et commencez à fouiller dans la base de registre...

  1. Lancez regedit.

  2. Pressez Ctrl+F, décochez les deux premières cases, et cochez la troisième. Entrez le fourcc du codec. (par ex.: TM20).

  3. Vous devriez trouver un champ contenant le chemin et le nom du fichier utilisé (par ex. C:\WINDOWS\SYSTEM\TM20DEC.AX).

  4. Maintenant que nous avons le fichier, nous devons trouver son GUID. Cherchez désormais le nom du codec, pas son fourcc. Son nom peut être trouvé quand Media Player lit le fichier, en regardant dans File -> Properties -> Advanced. Si rien n'apparaît, pas de chance. Essayez de le deviner. (par ex. cherchez : TrueMotion)

  5. Si le GUID apparaît dans la base de registre, vous devriez voir un champ FriendlyName et un champ CLSID. Copiez les 16 octets du CLSID, c'est le GUID dont nous avons besoin.

Note

Si la recherche échoue, cochez toutes les options de la fenêtre de recherche. Vous aurez des mauvaises occurrences, mais finirez par obtenir la bonne...

Nous avons désormais toutes les informations nécessaires (fourcc, GUID, fichier codec, fichier AVI), demandez le support de votre codec par mail, et envoyez ces fichiers sur le FTP : ftp://upload.mplayerhq.hu/MPlayer/incoming/[nomcodec]/

Si vous voulez ajouter un codec vous-même, lisez DOCS/tech/codecs.conf.txt (en anglais).