Ffdshow

ffdshow est un logiciel encodeur/décodeur (codec) pour l'audio et la vidéo, qui est principalement utilisé pour son décodage rapide et de haute qualité des formats MPEG-4 ASP et AVC. Il est basé sur FFmpeg et supporte un grand nombre de formats vidéo et audio. Il se présente sous la forme d'un filtre DirectShow et un codec VideoForWindows, et n'est donc disponible que sous les systèmes d'exploitation Windows. Le développement de ffdshow a commencé en 2002, par Milan Cutka qui l'a continué jusqu'en 2006.

Formats supportés 

ffdshow utilise libavcodec, XviD ou d'autres bibliothèques open source pour décoder les formats les plus courants en informatique (voir liste ci-dessous). Par sa nature, ffdshow ne peut être utilisé seul, mais intégré au sein d'un lecteur multimédia compatible DirectShow, tel que Media Player Classic, Zoom Player, BS Player (Préférences > Vidéo > Propriétés FFDshow), Windows Media Player ou d'une application VideoForWindows comme VirtualDub ou AviSynth, avec les mêmes capacités.

Sa grande polyvalence permet de l'installer à la place de nombreux codecs et filtres d'origines diverses, réduisant drastiquement les risques de conflits. Il est possible de configurer la prise en charge de chaque format grâce à ses dialogues de configuration, accessibles via le Menu Démarrer de Windows (Menu Démarrer\Programmes\ffdshow\ sur une installation typique).

En revanche, ffdshow n'inclut aucun filtre de type splitter de conteneur, il est donc généralement conseillé d'utiliser un lecteur intégrant ces filtres pour les formats courants, comme Media Player Classic, ou d'installer un filtre externe tel que le Haali Media Splitter, gérant les 5 formats les plus courants.

Formats vidéo 

Les principaux formats que ffdshow peut décoder sont les suivants (liste non exhaustive) : 

 MPEG
 MPEG-1
 MPEG-2 (incomplet, notamment la lecture des DVD)
 MS MPEG 4 et ses hacks (DivX ;-) 3.11, AngelPotion…)
 MPEG-4 ASP (XviD, DivX 4 à 6, 3ivx, autres…)
 MPEG-4 AVC (x264, Sorenson H.264 Pro)
 Formats de L'UIT-T
 H.261
 H.263 et H.263+
 H.264 (MPEG-4 AVC)
 FLV (vidéos Flash)
 FLV1 (H.263)
 FLV4 (TrueMotion VP6)
 On2 VP3, VP5 et TrueMotion VP6
 Windows Media Video
 Version 1 (7)
 Version 2 (8) (incomplet)
 Version 3 (9)
 Formats Divers :
 HuffYUV
 MJPEG
 Sorenson (Quicktime)
 MS Video 1
 Cinepak
 Indeo 2 et 3
 DV
 RealVideo 1 et 2 (H.263)
 Theora

Et de nombreux formats plus exotiques, notamment issus de vidéos de jeux vidéo. Le format RealVideo 4, est en cours d'intégration à travers un projet Google  Summer of Code.

Formats audio 

 MP1, MP2 et MP3
 Windows Media Audio 1 à 3 (7 à 9)
 AC3
 EAC3
 DTS
 AAC
 Vorbis
 AMR (dans les fichiers 3gp)
 LPCM
 MS ADPCM
 IMA ADPCM
 autres ADPCM
 mulaw/Alaw
 MS GSM
 FLAC
 True Audio
 TrueSpeech
 QDM2 (QDesign, utilisé dans Quicktime)
 MACE3 et MACE6 (Macintosh Audio Compression/Expansion, utilisé dans Quicktime)
 WavPack
 RealAudio (144 et 288)
 IMC
 Sony ATRAC3

Autres fonctionnalités 

ffdshow peut également servir à prendre des instantanés des vidéos, et être contrôlé au clavier. Mais sa force vient du grand nombre de filtres de manipulation vidéo (post-traitement, amélioration de l'image, flou, accentuation, sous-titres, gommage de logo…) et audio (égaliseur, décodeur Dolby, plugins Winamp...) qu'il intègre, le tout totalement configurable. Toutes ses capacités, venant parfois du projet MPlayer et des filtres AviSynth sont donc accessibles via ffdshow dans un grand nombre d'applications, ce qui en fait le filtre le plus polyvalent disponible sous Windows. ffdshow est par exemple très souvent utilisé dans les HTPC pour améliorer la qualité des DVD Vidéo en manipulant l'image. ffdshow peut également être utilisé dans les applications comme VirtualDub pour encoder dans divers formats supportés par libavcodec (MPEG4-ASP, AVC, Theora, codecs sans pertes, autres…).

Historique 

Les premières versions de ffdshow ont été mises à disposition comme une alternative au codec DivX 3.11, buggé et lent, ainsi qu'au Divx 5.02, infesté par Gator. En outre, c'était un moyen de combiner la qualité et la rapidité du projet MPlayer avec les lecteurs populaires de la plateforme Windows. Depuis, certains décodeurs DirectShow l'ont rattrapé en termes de vitesse de décodage, mais pas en termes de fonctionnalités. Il continue à supporter de nouveaux formats, anciens comme nouveaux, au fur et à mesure que les développeurs de FFmpeg les ajoutent à leur projet.

En 2006, Milan Cutka a apparemment cessé de travailler sur le projet. La dernière version stable officielle date du  et la dernière version alpha du .

Néanmoins, de nouveaux développeurs ont pris le relais, et ont créé ffdshow-tryouts comme un fork du projet originel, pour y intégrer des corrections (bugs et stabilité) , de nouvelles fonctionnalités et de nouveaux formats. Le projet originel est actuellement considéré comme mort et abandonné, tandis que le nouveau fork est très actif, avec des compilations hebdomadaires et stables.

Notes 

Une erreur courante est de penser que les compilations marquées comme ICL SSE/SSE2 sont plus performantes que les compilations génériques. En réalité, les décodeurs vidéos sont tous compilés avec gcc et généralement optimisés à la main. Ce sont les filtres de manipulation de ffdshow qui profitent de ICL (Intel C++ Compiler).

Les packs de codecs sont connus pour avoir interféré négativement avec les performances de ffdshow de par le passé. Certains outrepassaient ffdshow, ou perturbaient l'affichage des vidéos. De nos jours, il est encore très fréquent qu'ils installent une version largement périmée de ffdshow.

Notes et références

Annexes

Articles connexes 
 FFmpeg
 VLC media player
 MPlayer

Liens externes 
  Site officiel de ffdshow-tryouts
 
  Forum officiel de support
 

Codec vidéo
Codec audio
Logiciel libre sous licence GPL