FFDShow : Interview de Damien Bain-Thouverez

Publié par Steve Klein, le

Présentation

Damien Bain-Touverez est un développeur du projet Open-Source FFDShow. Il a récemment implémenté des filtres très attendus comme l'accélération matérielle et le bitstream audio HD. Avant cela il avait déjà contribué à utilisation de FFDShow sous Windows grâce à son plug-in MediaControl. Il nous a accordé une interview, l'occasion pour nous d'en savoir un peu plus sur ce incontournable en vue d'une utilisation PC multimédia.


Bonjour Damien, ceux qui s'intéressent un peu à FFDShow savent que le projet a été abandonné en 2006 puis ré-ouvert sous le nom FFDShow-Tryout, pourquoi ce changement ?

Le créateur de FFDShow s’appelle Milan Cutka, et il était à l’origine l’unique développeur du projet pendant plusieurs années. Puis en 2006, on n’a plus entendu parler de lui. Les sources étant disponibles sur sourceforge.net, une communauté de développeurs (à commencer par clsid) a repris le projet sous le nom de « ffdshow-tryout ».


Peux-tu nous dire ce que tu fais dans la vie, depuis combien de temps tu programmes, et plus spécialement sur FFDShow ?

Je suis consultant & chef de projet dans les Télécoms. J’ai fait une école d’ingénieur, mais pas spécialisée dans l’informatique. À la base le C++ (language de programmation de FFDShow), ce n’est pas trop mon truc, mais j’aime bien apprendre et comprendre les choses.
Un jour un de mes amis m’a ramené un PC, l’a branché sur sa télévision, et m’a fait découvrir ce qu’est un media center. J’ai voulu la même chose, mais très vite on fait face à des limitations qui énervent : changer de sous-titres dans ses vidéos, faire avance rapide,…
Je connaissais et utilisais FFDShow, mais je n’avais aucun moyen de faire avec la ce que je faisais avec la . Du coup j’ai mis en pratique le vieil adage « Do It Yourself ». Je suis entré dans le code de FFDShow, assez complexe en tout cas pour un profane, en commençant par la partie qui m’intéressait : le contrôle à distance de FFDShow. Une fois que cela marchait, j’ai développé le plug-in Media Control pour Media Center.
Puis j’ai enchaîné sur d’autres parties de FFDShow, dont l’amélioration de la gestion des sous-titres, l’intégration de nouveaux codecs, le bitstream HD, et maintenant l’accélération matérielle.


Lorsque l'on télécharge une version sur FFDShow-Tryout, on se rend compte qu'il y a toujours une signature dans les installeurs (clsid, xxl ou encore dbt pour Damien Bain-Touverez) qui définit un pseudonyme, donc une personne. Quels sont tes rapports avec la communauté de développeurs, êtes-vous de nombreux actifs ? Comment vous organisez vous pour l'implémentation de nouvelles fonctions, pour votre temps de travail, pour la publication de releases officielles ?


Le pseudonyme que l’on voit dans le nom des personnes qui compilent et mettent à disposition les installeurs sont des développeurs de l’équipe. L’équipe a changé depuis le début du projet et fonctionne hélas en effectif réduit : clsid, xxl de temps en temps, Tal Aloni et moi-même. Eh oui, ça prend du temps et la plupart des membres, dont moi-même, ont une famille et un boulot.


Est-il compliqué de développer sur FFDShow quels sont les langages supportés ? Quels conseils donnerais-tu à quelqu'un qui voudrait apporter une pierre à l'édifice ?

Je dirais que non pour ne pas faire peur à ceux qui seraient tentés par l’aventure ! Mais il y a deux choses en fait qui sont compliquées :
  • Tout d'abord, le langage est entièrement en C++ et il y a DirectShow qui est le framework audio/vidéo sur lequel est basé FFDShow. C’est nécessaire de comprendre comment il fonctionne et les différents concepts : un graphe, un filtre DirectShow, la négociation d’un format entre deux filtres…
  • Ensuite, l’autre complexité c’est l’étendue du code de FFDShow : des décodeurs audio, des décodeurs vidéo, des filtres internes de postprocessing, et les filtres DirectShow ( audio, vidéo, vidéo DXVA, sous-titres seul, post-processing seul).
J’essaie de commenter au maximum le code que je fais, car à la base il l’est peu. Mais je dirais qu’on ait plusieurs à y être arrivé, sans connaissance particulière, donc pourquoi pas vous ?

On a d’ailleurs besoin de développeurs pour travailler sur la suite du projet : filtres DXVA, corrections de bugs, support de nouveaux codecs et amélioration de l’accélération matérielle en générale. On reçoit beaucoup de demandes de nouvelles fonctionnalités et de rapports de bugs que l’on n’a pas la capacité de traiter.
Facebook Twitter