3.2.4.1 L'architecture logicielle d'un lecteur VoD

Actuellement il existe un grand nombre de lecteurs permettant la VoD en local ou en utilisant des serveurs VoD : [rn-rv], [quicktime], [ms-wmp], [siren], [winamp], [sonique], [midisoft], [mps], [iqms] etc. Leurs interfaces utilisateur ont changé assez souvent (généralement pour des raisons commerciales), mais les principes de fonctionnement sont relativement stables en ce qui concerne le flux des données. L'architecture qui se retrouve sur la grande majorité de lecteurs est celle basée sur des filtres (ou plug-ins en anglais) : le lecteur contient différents composants logiciels (filtres qui composent un graphe, voir [activex] et [directx]) avec des interfaces communes, utilisées pour le transfert, le décodage et même l'affichage des données (voir la Figure 30).

message URL fig30.gif
Figure 30 Le graphe des filtres d'un lecteur multimédia

Chaque lecteur possède un certain nombre de filtres dans sa distribution standard, mais il est possible d'en ajouter pour accroître ses fonctionnalités. Par exemple, on peut remplacer le filtre source qui implémente le protocole HTTP pour la communication avec le serveur par une autre implémentation. Le mécanisme de travail d'un lecteur avec cette stratégie est décrit par l'algorithme suivant :

  1. l'utilisateur ouvre un objet multimédia avec son adresse (par ex. : rtsp://server/object.mpg)

  2. le lecteur cherche le filtre qui implémente le protocole rtsp et le démarre

  3. le lecteur commence à transférer les données par l'intermédiaire du filtre rtsp ; il construit le graphe des filtres de transformation et de visualisation nécessaires en fonction du format de l'objet

  4. le lecteur commence à jouer l'objet en utilisant le graphe des filtres construit

Un exemple de graphe utilisé par [ms-wmp] pour jouer un objet MPEG-1 est présenté dans la Figure 31 (l'objet vidéo se trouve sur un serveur RTSP).

message URL fig31.gif
Figure 31 Graphe des filtres pour jouer un objet MPEG-1 avec le protocole RTSP

La possibilité d'ajouter des filtres dans un lecteur multimédia est très importante pour les applications pratiques de cette thèse. Cela nous a permis le remplacement du protocole HTTP existant dans un lecteur avec une autre implémentation de HTTP, pour obtenir plus de performance en utilisant un serveur Web comme serveur VoD (Chapitre 5).