FFdshow : éliminer les conflits de codecs et se passer des packs

On installe, on désinstalle, on met à jour, le fichier xyz ne passe pas, pas de son, plus de vidéo. Le conflit de codec est une plaie. Les packs de codecs proposent d'installer tellement de choses qu'on s'y perd, à la longue et le système s'encroute... voici quelques mises au point, et une manière de s'en sortir, avec l'excellent ensemble de filtres FFdshow.

Et FFdshow est multi-thread, donc tire partie des CPU multi-coeurs, et saura décoder le H246, He-AAC, et les formats dits "exotiques" (lisez : "moins courants").  ;-)

Filtre, codec, conteneur

Avant toute chose, quelques clarifications, car les termes sont souvent confondus, et on lit des erreurs un peu partout. Ca se corse lorsque un mot désigne un codec et conteneur (MPEG par exemple), ou est utilisé à tort de cette manière.
Norme vidéo : la norme est la façon de traiter les données, le codec l'implémente. Mpeg4 est une norme, Xvid (et autres) est un codec qui implémente cette norme. Par norme on veut dire la façon de travailler avec les images, il y a des familles.
Codec : le codec (codeur-decodeur) est ce qu'on est tenté d'appeler "format" : la manière ("langage") dont on stocke et écrit les données. H264 est une norme vidéo, le codec est X264 : il réalise les règles fixées par la norme. Dans la norme Mpeg4, on trouve ainsi le Divx, le Xvid. Les deux respectent les règles fixées par la norme, mais chacun l'interprète de façons différentes, plus ou moins optimisées.
Conteneur : le conteneur, c'est la boite dans laquelle on range les flux audio, vidéo, et les sous titres. MKV, AVI par exemple sont des conteneurs. Un conteneur AVI peut contenir un flux vidéo Divx ou Xvid avec un son MP3 ou AC3. Le conteneur MKV a d'autres caractéristiques (chapitrage, sous titres inclus, etc...). Le conteneur détermine l'extension du fichier.

Lire un fichier audio-vidéo

Pour lire un fichier audio vidéo, contrairement à ce que l'on lit, un codec n'est pas obligatoire. Un filtre suffira. Le filtre contrairement au codec ne se charge que du décodage des formats. Le logiciel que vous utilisez décode le conteneur, et fait l'interface entre les données et les décodeurs. S'il dispose de filtres installés sur le système il pourra lire le fichier, si des codecs sont installés également, et parfois, le logiciel contient ses propres filtres ou codecs (VLC et Gom player par exemple).

Si vous en avez marre des conflits de codecs, des packs, installez FFdshow (après avoir désinstallé tous vos packs et codecs, pour repartir à zéro) : tous les filtres nécessaires sont mis à votre disposition. Un codec permettra d'encoder des fichiers. Dans 99% des cas, seule la lecture compte, et pour transcoder (convertir d'un codec et/ou conteneur à un autre), vous utilisez déjà des logiciels qui contiennent leurs propres modules et n'utilisent pas les codecs installés et disponibles.

Fonctionnement de FFdshow

Une fois installé, vous pourrez trouver cette interface dans le menu démarrer. Une partie vidéo ET une partie audio, si vous avez installé celui qui est proposé en fin de billet, la version officielle de base ne propose pas la partie audio ni les derniers raffinements vidéo.

Pour que le décodage de tel ou tel format soit pris en charge, vous devez le sélectionner dans la colonne décodeur. La partie 4CC désigne les indicateurs contenus dans vos fichiers, que les programmes reconnaissent.

Ici par exemple, pour décoder le format DivX, vous pouvez passer par FFdshow en validant libavcodec (la librairie de FFdshow), ou bien XviD, qui désigne le codec s'il est encore installé chez vous. FFdshow n'étant pas intrusif, il peut ne pas être associé à tel ou tel format.

Répétez l'opération pour autant de formats qu'il le faut, dans la partie vidéo comme audio.

Comment vérifier que FFdshow décode mon fichier ?

Simple : regardez dans la systray, vous devez avoir ces icônes, une pour la vidéo, l'autre pour l'audio (tant que vous avez bien assigné à FFdshow le décodage des formats, et que vous avez laissé ceci coché :

Vous utilisez VLC ou un autre programme qui utilise ses propres librairies ? Il faut à ce moment désactiver ce réglage du côté du programme. Dans Gom Player, par exemple, cela se fait ici :

Cela désactive donc l'utilisation des modules inclus dans Gom et laisse le champ libre à FFdshow. VLC utilise ses librairies mais ne laisse pas le choix, il n'exploitera donc pas l'installation de FFdshow, mais ses librairies le remplacent, donc si vous utilisez VLC, FFdshow ne vous intéressera guère. sur ce principe, il est logique que Media Player Classic (MPC) soit associé à FFdshow, qui le dote de ses capacités de décodage...

Installation

Vous pouvez dès l'installation associer FFdshow à certains formats, la configuration restera possible après coup (voir début du billet).

Plus intéressant, une liste des programmes compatibles (utilisant les filtres directshow), vous pouvez limiter si besoin, par défaut, laissez comme suit :

Enfin, la configuration des haut parleurs, modifiable après coup, mais cette interface est plus intuitive :

Que ceci... (cochez GRV pour caisson de graves).

On notera que pour la partie audio comme pour la partie vidéo, FFdshow propose des filtres dynamiques, activables et désactivables à souhait et en direct.

Le forum est ouvert pour tout problème de codecs.  ;-)

OS: Windows
Langue: Multilingue
Licence: Open Source

Téléchargement version tryout (testée ici, décodage audio, etc)
Page d'accueil et téléchargement (Site officiel, version de base)

Commentaires

1. Le dimanche, 20 mai, 2007, 16:55 par Blogobulles

Superbe tuto, très complet et très clair !

Joli travail, Falkra ! Bravo et merci :-D

2. Le dimanche, 20 mai, 2007, 16:57 par Falkra

Merci blogobulles, quelle vitesse de réaction ! :-)

3. Le dimanche, 20 mai, 2007, 18:02 par Jamesb

Je l'utilise déjà depuis un moment et il regroupe les dernières versions des codecs les plus utilisés !
A recommandé !

4. Le dimanche, 20 mai, 2007, 18:06 par Falkra

Ce ne sont pas des codecs en tant que tels. ;-)

5. Le lundi, 21 mai, 2007, 06:59 par arnob

merci :-)

6. Le lundi, 21 mai, 2007, 17:36 par bob

Bonjour, bon tuto. Une question : si on n'arrive pas à lire une vidéo sous VLC (du RV10 en l'occurence), on est obligés de passer par MPC + Ffdshow?

7. Le lundi, 21 mai, 2007, 18:12 par Falkra

Bonjour, le RV10 est décodable, donc FFdshow le lire, via MPC ou autre logiciel exploitable (presque tous en fait, à part VLC, et quelques trop vieux). Tant que le logiciel laisse faire FFdshow, ça ira, sinon il faut désactiver les librairies incluses dans le programme, souvent les options le permettent. Donc MPC, pas forément, mais il passerait.

8. Le jeudi, 24 mai, 2007, 03:07 par NaSH

il y a des infos un peu fausse..

le multithread n'est pas implémenté. L'option existe, mais n'est active que pour le décodage utilisant libmpeg2.

Certainement que cela est implémenté quand c'est possible, dans la partie encodage de ffdshow (Xvid,H264 au moins).

D'ailleur, les build sse, sse2, en realité n'optimisent que l'interface. Le décodage des vidéos n'est pas acceleré.

Je tien ces infos de mes lectures des changelogs et des forums de devellopement de ffdshow (peut etre que cela a changé d'ici la)

La "selection" d'application est anecdotique.. En général, il faut tout autoriser.

C'est juste que certaines ne sont pas compatible avec le "queue output sample" (qui utilise le multithread, et améliore le buffering des videos). Dans un soucis de compatibilité, les gens sont orientés vers les lecteurs multimédia "testé" avec cette option.

Pour ma part, a l'installation j'autorise toute les applications a utiliser FFdshow. Mais j'indique a FFdshow d'utiliser l'option "queue output sample" uniquement avec MPC.

Dans MPC il faut desactiver TOUT les transform filter. FFdshow gere mieux, et est vraiment a jour.

Pour obliger FFdshow a décoder vos .mov et vos .rm, il faut obliger MPC a utiliser directshow pour decoder ces videos (player->format-> trouver "mov file" et selectionner directshow)

Ne pas oublier de mettre le post-precessing en automatique ! sinon vos videos seront ralentie, alors que votre pc est peut etre capable de lire la vidéo.

enfin, derniere note.. le décodage AAC sous FFdshow doit se faire avec libfaad2. Sinon, les aac encodé en stéréo paramétriques (AAC SBR-PS), seront lu en Mono!! Ce serait bete de pas profiter de la presque-qualité CD en 48kbit/s :)

9. Le jeudi, 24 mai, 2007, 03:13 par NaSH

Attention ! erreur dans les liens egalement !

la version try-out est la nouvelle version OFFICIELLE de ffdshow!

le projet a été repris plusieurs fois par plusieurs equipes.

l'adresse officielle des derniers devellopeurs est : www.ffdshow.info

elle amene certe, a la version tryout. Mais c'est la seule active.

10. Le lundi, 28 mai, 2007, 14:56 par Almoisar

Les libéllules de cette qualité se font rares, dans la Nature également, c'est dommage. Merci d'aider la communauté dans
la jungle des packs, souvent usines à gaz
dont la quantité n'égale pas forcément la nécessité. Merci!

11. Le lundi, 28 mai, 2007, 18:32 par Revjones

Les packs sont dans leur principe obsolètes et risqués pour la stabilité du système, ils faut leur préférer des lecteurs qui incluent les codecs en interne (GOM, KMP, VLC...), ou comme ici FFdshow.

12. Le samedi, 2 juin, 2007, 02:29 par Republique

Quelques liens pour configurer :

www.vistamce.info/page4/p...

forum.hardware.fr/hfr/Vid...

forum.zebulon.fr/index.ph...

13. Le samedi, 9 juin, 2007, 13:17 par Gregos

Hello,
Je n'ai pas compris la/les différence/s entre la version tryout et la normale. Il y a une version payante et l'autre non?

14. Le samedi, 9 juin, 2007, 13:27 par Falkra

Prends la tryout, rien n'est payant sinon.

15. Le dimanche, 7 septembre, 2008, 13:55 par juxys

bonjour voila après lecture de quelques forums j'ai deux question des plus pertinentes à poser est ce que ffdshow qui a l'air d'etre un très bon logiciel est compatible avec VISTA?seconde question quelle est la différence entre ffdshow et ffdshow mpeg-4 qui lui en l'occurence a l'air d'etre compatible avec vista? voila si quelqu'un a réponse à ça ça serait sympa.....................

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

Fil des commentaires de ce billet