Streaming

publicité
Streaming
Francois Preghenella
1. Le Streaming
Le streaming est un signal qui est envoyé compressé sur Internet ou sur réseau local. Les entreprises
peuvent visualiser la séquence grâce à un logiciel généralement appelé « player ».
Le « player » est un programme spécial qui décompresse les données sur un ordinateur de bureau. Il
peut soit être intégré au navigateur web soit être télécharger sur Internet pour être utilisé séparément.
Grâce à la technologie du streaming, l’utilisateur n’a pas à attendre la fin du téléchargement souvent
long du fichier pour le visionner. On peut donc écouter une séquence sans l’avoir totalement téléchargée
sur son ordinateur.
2. Les différents types de streaming
Il existe deux grandes sortes de diffusion :
La diffusion passive, dans laquelle un film est envoyé par un serveur et visualisé par un ou plusieurs
clients, et la vidéo à la demande (VOD) pour laquelle chaque client demande son propre flux.
2.1. La diffusion passive :
La diffusion passive est un mode de diffusion ou le streaming est géré par le serveur. Le client n'a
aucun contrôle sur le serveur, et doit par exemple s'abonner à un groupe multicast pour recevoir le flux. Ce
type de diffusion nécessite un serveur capable d'envoyer les données sur le réseau, en utilisant un protocole tel
que l'UDP multicast ou le RTP. La diffusion est assurée par le serveur et c’est le client qui doit s’adapter au
serveur. Les clients n’ont pas d’action directe sur le serveur et ne peuvent pas par exemple avancer ou se
déplacer dans une vidéo. De plus lorsqu’un client s’abonne à un groupe multicast par exemple, il recevra le
même flux que tous les autres membres du groupe multicast. Tous les clients regarderont le flux en même
temps et simultanément. Ce mode de transmission streaming est donc souvent utilisé pour du streaming temps
réel pour la diffusion de conférences par exemple. Nous pouvons faire remarquer que des logiciels comme VLS
ou le stream output de VLC assure ce mode de diffusion. Du côté client, il faut un lecteur qui supporte ces
protocoles. Un logiciel tel que VLC est par exemple adapté à cette fonction
2.2. La diffusion active ou Vidéo à la demande
Pour la Vidéo à la Demande, aucun serveur de diffusion spécifique n'est requis, mais le client doit être capable
de voir le flux en temps réel au lieu de le télécharger intégralement avant de commencer à le regarder. Un
protocole simple tel qu'http est suffisant pour la Vidéo à la Demande, de sorte que vous pouvez vous contenter
de mettre votre vidéo sur un serveur web, et d'utiliser un client intelligent capable de le visualiser en temps
réel. Nous pouvons donc simplement utiliser un serveur web tel que Apache ou Caudium afin de mettre à
disposition des visiteurs des fichiers vidéo. En utilisation normale, le visiteur devra attendre d’avoir le fichier
entièrement téléchargé sur son poste pour commencer à lire la vidéo. Si le client possède un client intelligents,
il pourra commencer a regarder son fichier vidéo avant que celui-ci soit entièrement enregistrer sur son poste.
Le logiciel VLC peut facilement assurer cette tache par exemple. Il est intéressant de remarquer que la taille de
la bande passante de la liaison entre le serveur et le client doit être supérieure à la bande passante moyenne
de votre film (taille / durée) afin de ne pas avoir de blocage ou de problèmes de diffusion.
Streaming Audio
Page 2
2.3. Qu'est-ce que le Multicast?
Le Multicast est une technologie permettant à un serveur (vidéo dans notre cas) d'optimiser la diffusion des
flux vidéos sur le réseau. Concrètement, les utilisateurs désirant recevoir le flux vidéo doivent s'abonner auprès
du serveur. Les routeurs vont ensuite factoriser les flux transportés afin, par exemple de ne transporter qu'une
seule fois le flux de routeur en routeur jusqu'à ce que les utilisateurs soient atteignables par deux routeurs
différents. Dans ce cas, le flux est alors transmis aux deux routeurs en n'ayant transporté qu'une seule fois les
données jusqu'à présent.
Le principal frein à l'utilisation massive du multicast vient du fait que les routeurs doivent supporter cette
technologie, ce qui n'est malheureusement pas le cas de l'ensemble des infrastructures constituant l'Internet.
Un exemple concret du Multicast sur l'Unicast :
Sur ce premier schéma vous pouvez constater que le serveur va envoyer 3 fois le même flux. La technique
employée pour la diffusion du flux est l'Unicast. Il est clair que ce type de diffusion risque de surcharger
rapidement le réseau emprunté lorsque le nombre de personnes abonnées au flux augmente. On doit alors
baisser la qualité de la vidéo si l'on souhaite pourvoir la partager avec le nombre souhaité d'utilisateurs.
Streaming Audio
Page 3
Le Multicast permet au contraire de factoriser le flux transmis sur le
réseau:
A l'inverse de l'Unicast, le Multicast permet à l'émetteur d'envoyer qu'une seule fois le flux vidéo au premier
routeur. Ce dernier, suivant ses tables de routage et les adresses des utilisateurs abonnés au flux qu'il possède
en mémoire va soit envoyer un seul exemplaire du flux si les utilisateurs sont atteignables par le même routeur
soit le propager sur plusieurs routeurs si ce n'est pas le cas. Cette technique permet de réduire
l'encombrement des réseaux.
Streaming Audio
Page 4
3. Comment le streaming vidéo fonctionne-t-il?
Les fichiers sont envoyés sur Internet ou sur le réseau local d'une entreprise en utilisant TCP/IP comme
protocole de transport.
On utilise la plupart du temps le streaming pour partager des fichiers vidé préenregistrés (VOD : Video On
Demand).
Toutefois, ceux-ci peuvent provenir aussi de sources directes où la source vidéo est encodée dans un format
compressé (ou format de streaming) grâce à des "encodeurs" ou"transcodeurs" puis directement envoyée
(mode Live).
Les fichiers sont ensuite envoyés sur le réseau à partir de serveur Web particulier supportant le Multicast pour
envoyer à un groupe d'utilisateurs la même vidéo évitant ainsi une consommation excessive de la bande
passante.
Les serveurs de streaming supportent aussi les demandes Unicast ou un flux vidé correspond à un utilisateur.
3.1. Pourquoi utiliser le streaming vidéo ?
Le streaming vidéo est de plus en plus utilisé par les entreprises et établissements
universitaires. Cela permet notamment de réaliser des conférences, assemblées
générales ou causeries qui peuvent dans de nombreux cas être couplées à d'autres
applications :
• Affichage de slides ou d'images pour suivre facilement la conférence,
• Affichage de tableaux communs où chacun peut écrire à sa guise pour
partager des idées avec les autres abonnés au service.
L'utilisation du streaming est un formidable vecteur de communication. Son impact
est plus important que les médias traditionnels (Papier, mails, conférences).
Le retour sur investissement est évident et est engendré par les réductions de coûts
(peu de ressources humaines et de matériel monopolisés). C'est un outil idéal de
communication et de diffusion rapide (pour les services Marketing en particulier).
Exemple avec l’utilisation de VideoLan :
A l'aide de la Vidéo à la Demande (VOD, Video On Demand), l'utilisateur peut
démarrer la vidéo, mettre en pause, avancer et reculer, ... Il est évident qu'il s'agit
d'un must pour la diffusion vidéo et le rêve de chaque utilisateur.
La VOD nécessite d'importantes ressources système sur le serveur et sur le réseau.
La VOD fonctionne en unicast, pas en multicast: cela signifie que le les ressources
Streaming Audio
Page 5
nécessaires sur le serveur et sur le réseau sont directement proportionnelles au
nombre de clients
Le principe de la solution de VOD VideoLAN est extrèmement simple. L'idée est de
faire du streaming HTTP, c'est à dire diffuser un flux vidéo MPEG encapsulé dans de
l'HTTP. La régulation du débit entre le client et le serveur se fait automatiquement
par le protocole TCP.
Avec le protocole HTTP 1.1, il est possible de se déplacer dans un fichier téléchargé,
et c'est ce que nous utilisons pour permettre le déplacement dans la vidéo.
Sur le serveur de VOD, vous avez besoin d'un serveur Web. Vous pouvez par
exemple utiliser un serveur Linux utilisant le serveur Apache. Vous pouvez rendre
vos fichier MPEG-1, MPEG-2 ou MPEG-4 / DivX disponibles pour les clients sur le
serveur web.
Par exemple, si vous avez un serveur web dont le nom DNS est serveurlocal; sur ce
serveur, nous mettons un fichier MPEG video1.mpg, qui sera disponible pour les
clients à l'URL http://serveurlocal/video1.mpg.
Un client n’aura plus qu’à taper sur son poste la commande:
vlc -vvv http://serveurlocal/video1.mpg (sous linux) ou lancer vlc et se connecter à
http://serveurlocal/video1.mpg (sous windows)
Streaming Audio
Page 6
Téléchargement