Poussée par la montée en puissance des connexions à
haut débit, la vidéo en ligne continue sa progression.
Quoique
simple en pratique, la diffusion peut s'inscrire dans
plusieurs schémas bien distincts.
Il est important de choisir
le sien avant de se lancer.
Le vrai streaming consiste à envoyer au client uniquement les informations dont il a besoin, sans qu'il ait jamais à les stocker dans leur ensemble. Le cas le plus courant est la bande-annonce d'un film, préparée à l'avance et stockée sur un serveur. Elle est bien envoyée au client dans son intégralité, mais seulement sous forme de morceaux, effacés après visualisation, à mesure qu'arrivent les suivants. Le fin du fin, c'est le streaming en temps réel, parfait équivalent de ce qu'est le direct à la télévision. Une caméra vidéo est branchée sur une machine chargée de l'encodage en temps réel, elle-même reliée à une autre machine servant à la diffusion. C'est sur cette dernière que se trouve le serveur de diffusion.
Format de streaming par excellence
sous Mac OS, QuickTime est connu pour sa capacité à gérer de
très nombreux formats de fichiers, dont la majorité peut être
transmise en RTP (Realtime Transport Protocol). Les flux
vidéo, audio (y compris MP3), texte et MIDI reconnus offrent
déjà plus de possibilités que n'en réclament la plupart des
programmes. Seules les fonctions spécifiques ajoutées à
QuickTime dans sa version 3 (effets spéciaux et pistes de
sprites) requièrent une transmission classique en HTTP ou FTP.
Pour pouvoir diffuser un fichier en streaming, il est donc
nécessaire d'adapter, mais aussi d'indexer son contenu. Au
moment de l'export avec le lecteur QuickTime, il faut choisir
l'option Export Movie to Hinted Movie pour créer un fichier
plus volumineux. Il contiendra toutes les informations
nécessaires au serveur de diffusion.
Tout fichier transmis en continu possède une piste de
streaming (strm), qui comporte, en fait, l'URL des différents
médias à charger, quelle que soit leur nature. En réalité, la
souplesse de QuickTime va encore plus loin, puisque plusieurs
fichiers source peuvent être combinés en un seul fichier
cible. On peut très bien lire, sur son navigateur, une
séquence dont le son et l'image ne proviennent pas des mêmes
fichiers. Peu utile pour des applications simples, cette
souplesse prend tout son sens en diffusion professionnelle.
Une chaîne d'actualité peut ainsi proposer du direct, du
différé, un habillage et un résumé en texte, le tout sur une
seule occurrence du lecteur client, et à partir d'autant de
sources qu'il y a de médias concernés.
Le streaming est apparu avec la version 3 de QuickTime, qui
autorisait le chargement progressif. Presque toujours employée
en HTTP (le protocole du Web), cette fonction est aussi
disponible en FTP (protocole de téléchargement). Tous deux
font appel à l'option d'enregistrement QuickStart, destinée à
autoriser la lecture d'un fichier avant qu'il soit
complètement chargé. Comme il s'agit, en fait, d'un simple
transfert de fichiers amélioré, on peut enregistrer le
document source à la fin du chargement. Autre avantage :
on peut envoyer absolument n'importe quel type de fichier
QuickTime ; rien n'est modifié et les firewalls ne posent
généralement aucun problème. Mais on est encore loin du
streaming de la version 4, basé sur le protocole RTP.
Une question de protocole
Le RTP repose lui-même sur le
protocole UDP (User Datagram Protocol), qui ne renvoie pas les
trames perdues en cours de route, afin de privilégier
l'enchaînement du son et des images, plutôt que l'intégrité
des données. La qualité peut en souffrir si laliaison est
mauvaise, mais c'est un mal nécessaire à la diffusion en
direct. Comme le fait TCP/IP, le protocole UDP, ou plus
précisément UDP/IP, assure le transfert des données entre deux
machines, mais sans aucun des nombreux contrôles disponibles
avec TCP (Transfer Control Protocol), que ce soit pour assurer
l'intégrité des données ou leur acheminement.
Dans le cadre même du streaming, deux possibilités se
présentent au diffuseur. La première consiste à envoyer
simultanément un flux de données vers tous les clients qui en
font la requête. On est dans le cas d'une liaison point à
point multiple, ou unicast, généralement en usage sur
Internet. L'autre solution est le multicast : on diffuse un
flux unique vers un réseau, dont les clients lisent
simultanément les mêmes informations. C'est une solution
plutôt adaptée aux réseaux d'entreprise. Les deux modes de
diffusion diffèrent, l'un faisant appel à un protocole
supplémentaire parallèlement au RTP, l'autre se servant
directement d'un fichier de description.
Diffusions multicast et unicast peuvent être combinées à l'aide de serveurs de réflexion, pour transmettre des données à la fois vers Internet et vers des réseaux interconnectés qui n'acceptent qu'une diffusion unicast. |
Exploité dans le cadre de la diffusion unicast, le protocole RTSP (Realtime Streaming Protocol) n'assure aucune transmission de données, mais transfère au serveur les requêtes du client. Il permet notamment d'employer les commandes du logiciel lecteur sur une séquence en différé, sans devoir charger les segments intermédiaires.
En unicast, le protocole RTP assure le transport unilatéral des données. Le seul rôle du protocole RTSP est de faire transiter requêtes et informations entre le client et le serveur. |
Associé au RTP, il offre une souplesse
presque équivalente à celle de la lecture d'un fichier en
local. Le protocole RTP assure le transport des données
proprement dites (on pourrait parler de fichier de streaming),
alors que le protocole RTSP ne véhicule que les informations
de description d'une session de streaming, un peu à la manière
d'une EDL (liste de montage utilisée en vidéo) exportée d'un
système de montage numérique à un autre. Alors qu'on pourrait
assimiler l'unicast aux applications de VOD (Video On Demand)
déjà opérationnelles dans le cadre de la télévision numérique,
le multicast reprend le principe de la télévision. Un
programme est diffusé vers un nombre plus ou moins grand
d'utilisateurs, qui peuvent le voir à un instant donné. De
même qu'on fait appel à un programme pour choisir une
émission, on se raccorde à un flux multicast en ouvrant un
fichier SDP (Session Description Protocol), créé avant la
session par un système d'encodage en temps réel comme le
Broadcaster de Sorenson. Au lieu d'un numéro de chaîne et d'un
horaire, on y trouve une adresse, un numéro de port et les
informations sur les différents flux (image, son, texte) qui
composent une session. Ce document prend place sur le serveur,
dans le dossier destiné à abriter les fichiers à diffuser. Ce
même type de fichier sert aux transmissions en direct, quelle
que soit la diffusion retenue. Il est lisible par le lecteur
ou le plug-in, tout comme une séquence normale.
Encodage et diffusion
Si l'on veut diffuser un programme en direct, il faut réserver une machine à l'encodage du programme et une autre à sa diffusion. Sous Mac OS, c'est le broadcaster de Sorenson qui se charge de l'encodage à la volée. |
Lors d'une transmission en direct en multicast, les données capturées sont numérisées (si l'on est muni d'un équipement analogique) ou simplement transférées (c'est le cas du DV, notamment) sur un ordinateur avec un logiciel d'encodage. C'est le rôle de la machine de diffusion (improprement appelée broadcaster), qui ne diffuse en fait qu'un seul flux vers un serveur de streaming. C'est depuis ce dernier que QuickTime Streaming Server ou un logiciel serveur équivalent (voir encadré) envoie le flux encodé, reçu par l'intermédiaire du réseau local. Si le contenu vidéo est inclus dans une page Web,l'intégration doit être configurée à ce niveau. Dans le cas contraire, on accède à la vidéo en se connectant directement depuis le lecteur QuickTime. Le flux est ensuite transmis soit vers un MBone (Multicast Backbone), sur lequel les clients peuvent se brancher directement à l'aide d'un fichier SDP, soit vers un serveur de réflexion, qui relaie ce flux si nécessaire. On emploie généralement ce type de serveur pour contourner un firewall ou un réseau à configuration particulière, au lieu de recourir à l'encapsulation d'un flux RTP dans des trames HTTP.
La page Web de configuration de QuickTime Streaming Server. Le paramètrage se fait par l'intermédiaire d'une page Web (sur le port 1220 de la machine Localhost). Cette façon d'opérer le rend à la fois simple, facile à mettre à jour et portable. |
Bien que d'autres protocoles soient à l'étude, le multicast basé sur RTP est la plus aboutie des solutions opérationnelles à l'heure actuelle, car elle limite au strict minimum le trafic sur le réseau. Mais qu'on travaille en unicast ou en multicast, il s'agit bien de streaming et non plus de chargement avec lecture simultanée. Conséquence directe : on ne peut pas enregistrer le fichier visionné à la fin du transfert, puisqu'il n'a tout simplement jamais existé. On a lu morceau par morceau un fichier enregistré sur un disque distant, à partir duquel on ne peut pas copier de fichiers en direct, puisque le protocole lui-même l'interdit. Ce qui est finalement l'un des buts de ce type de transmission.
Serveurs : QTSS ou
DSS ? |
Sur quelle plate-forme diffuser ? Si la question se
pose aussi ouvertement, c'est que la mise à disposition
en Open Source du Darwin Streaming Server (DSS), le
serveur au cœur de Mac OS X, permet à n'importe qui de
l'intégrer dans son propre système. On retrouve ainsi
DSS sous FreeBSD 4.3 (très proche de Darwin), Red Hat
6.2, Solaris 7 et Windows NT Server 4.0/2000, mais il
existe aussi des serveurs de fichiers QuickTime chez des
sociétés telles IBM ou Cisco.
Comme le QuickTime Streaming Server, qui est la version pour Mac OS X de ce système, ces serveurs gèrent jusqu'à 2000 connexions simultanées, ce qui, ajouté aux possibilités illimitées des serveurs de réplication, permet une diffusion à très vaste échelle. QuickTime Streaming Server est encore en version 2, mais on peut aussi charger la mouture préliminaire de la version 3 sur le site d'Apple. Tous ces systèmes offrent à la fois simplicité et souplesse : leur configuration, basée sur une interface Web, n'exige pas de grandes compétences, mais seulement la connaissance de quelques paramètres de l'infrastructure informatique de départ. Le travail du webmestre se limite souvent à copier dans un dossier les fichiers à diffuser, et dans un autre, les éventuels documents de remplacement destinés aux logiciels clients plus anciens, obligés d'utiliser HTTP. Le choix du serveur dépend principalement de l'équipement de l'entreprise. La plate-forme Macintosh est très adaptée à l'encodage en temps réel, pour ceux qui veulent faire du direct. Après, les solutions de diffusion existent sous Mac OS 9, mais elles sont limitées. Enfin, il serait dommage de se priver des performances de Mac OS X Server 2.0 (multiprocesseur), mais il ne faut pas négliger pour autant les solutions concurrentes, peut-être un peu moins performantes, mais souvent plus cohérentes avec le parc de serveurs d'une entreprise. |