TP Streaming vidéo L'objectif est d'installer et de configurer un serveur de streaming afin de mettre en pratique des diffusions passives et de la VoD (Video on Demand). Aussi, les protocoles sous-jacents à cette technologie, à savoir, entre autre, RTP, RTSP et SAP sont à analyser. Un rapport doit être rendu 10 jours après le TP. I. Rappel Il existe en fait deux grandes sortes de diffusion: La diffusion passive, dans laquelle un film est envoyé par un serveur et visualisé par un ou plusieurs clients, la vidéo à la demande (VOD) pour laquelle chaque client demande son propre flux. II. Client de streaming VLC Hakim Badis, IR3 VLC (VideoLAN Client), est à l origine, le logiciel client du projet VideoLan. Il peut être utilisé en tant que serveur, pour diffuser des fichiers MPEG-1, MPEG-2 et MPEG-4, des DVDs, ou de la vidéo en temps réel sur un réseau en unicast ou multicast ; ou utilisé en temps que client pour recevoir, décoder et afficher des flux vidéo sous de nombreux systèmes d'exploitation. VLC fonctionne sur de nombreuses plateformes : Linux, Windows, Mac OS X, BeOS, BSD, Solaris, Familiar Linux, Yopy/Linupy et QNX. Il est capable de lire : Des fichiers MPEG-1, MPEG-2 et MPEG-4 / DivX depuis un disque dur, un lecteur de CD-ROM,... Des DVDs et VCDs, depuis une carte satellite (DVB-S) Des flux MPEG-1, MPEG-2 et MPEG-4 envoyés sur le réseau par un VLS ou un VLC VLC peut également être employé en tant que serveur pour diffuser : Des fichiers MPEG-1, MPEG-2 et MPEG-4 / DivX des DVDs depuis une carte d'encodage MPEG vers : une machine (c'est à dire à une adresse IP) : ceci est appelé unicast Un groupe dynamique de machines que les clients rejoignent ou quittent (une adresse IP multicast) : ceci est appelé multicast
II. 1 Modules et options de VLC VLC utilise un système modulaire, ce qui permet un ajout simplifié de nouvelles fonctions et de nouveaux formats. Si vous avez installé VLC par un fichier binaire, vous aurez tous les modules par défaut. II. 2 Installation de VLC Installer VLC II. 3 Ouvrir un fichier vlc -vvv my_file.mpg ou par l interface graphique. Exemple de vidéo http://www-igm.univ-mlv.fr/~badis/ir3/streaming/backwaters.mpeg Dans la grande majorité des cas, VLC reconnaitra automatiquement le type de fichier. II. 4 Recevoir un flux réseau (Client VLC) Installer Apache et mettez un fichier mpeg à /var/www. Lancer un client VLC (par l interface graphique ou par commande) pour lire cette vidéo et analyser en détail le contenu des messages échangés entre le client et le serveur par Wireshark. o Analyser la méthode GET. Quelle est la valeur de Range? Expliquer o Quelle est la taille et le type de la vidéo? ces champs sont véhiculés dans quel message? La technique représente une diffusion passive ou à la demande? Lorsqu on déplace le curseur de position du film, qu est ce qu il change dans les messages échangés (avant et après) Pour tester le plugin VLC pour mozilla, qui permet à l utilisateur de ne pas s embêter à ouvrir son logiciel VLC, réalisez et testez une page de test contenant un code html (oubliez pas d installer le paquet mozilla-plugin-vlc) suivant : <html> <head><title>demo of VLC mozilla plugin</title></head> <body> <h1>demo of VLC mozilla plugin - Example 1</h1> <embed type="application/x-vlc-plugin" name="video1" autoplay="no" loop="yes" width="400" height="300" target="http://172.17.4.3/backwaters.mpeg" /> <br />
<a href="javascript:;" onclick='document.video1.playlist.play()'>play video1</a> <a href="javascript:;" onclick='document.video1.playlist.togglepause()'>pause video1</a> <a href="javascript:;" onclick='document.video1.playlist.stop()'>stop video1</a> <a href="javascript:;" onclick='document.video1.video.fullscreen = true; document.video1.video.togglefullscreen()'>fullscreen</a> </body> </html> Commenter ce code III. Serveur de diffusion VLC Le stream output du VLC permet à ce dernier de servir de serveur de streaming et non de client, et possède des fonctionnalités très étendues : envoi en unicast et en multicast, en IPv4 ou en IPv6, tout ce que VLC est capable de lire, par UDP/RTP, ou HTTP ; sauvegarde du flux d'entrée vers un fichier AVI, PS, TS ou OGG ; transcodage du flux d'entrée et envoi. Le stream output possède une puissante architecture qui utilise des modules. Chaque module apporte des fonctionnalités, et il est possible de chaîner les modules pour combiner ces possibilités. III. 1 Test Effectuer une diffusion unicast en UDP/RTP grâce au serveur VLC et un client VLC et analyser (en détail le contenu des messages échangés) Les flux audio et video sont-ils séparés? montrer et expliquer Effectuer diffusion multicast en utilisant UDP/RTP III. 2 Diffusion avec VideoLAN Manager VLM permet de gérer les différents médias de diffuser d un flux d entrée (fichier, flux réseau, périphérique de capture) vers un flux de sortie (fichier, protocole de diffusion) selon trois modes différents : - la diffusion en live; - la planification : date et heure de début, avec répétition; - la vidéo à la demande (VoD) avec choix du multiplexeur. Réaliser un serveur avec VLC Media Player pour planifier plusieurs flux selon les 3 modes. Puis, essayer de lire chacun des flux sur un ordinateur client. III. 3 Mini-SAP-server
On peut ajouter un service de découverte de services utilisant le standard SAP/SDP sur la Solution VideoLAN. Le mini-sap-server envoie des annonces indiquant les programmes multicast sur le réseau en IPv4 ou en IPv6 et les VLCs reçoivent ces annonces et ajoutent automatiquement les programmes annoncés à leur liste de lecture. Cela permet à un client d avoir la liste des programmes disponible pour qu il puisse s y connecter. Méthode 1 : Utiliser l option SAP de l outil VLC Analyser en détail le fonctionnement Vérifier la présence des programmes de diffusion annoncés Méthode 2 : Installer et configurer un mini-sap-server Analyser en détail le fonctionnement Vérifier la présence des programmes de diffusion annoncés IV. Diffusion entre plusieurs réseaux Réaliser le scénario suivant (4 binômes peuvent partager la topologie) : L objectif est de réaliser une diffusion multicast à travers plusieurs réseaux. Voici les étapes à suivre : 1. Activer le routage (fowarding) des flux multicast sur les routeurs : ip multicastrouting 2. Activer le routage PIM (Protocol Independent Multicast) sur les interfaces des routeurs concernés par le flux multicast, sinon quoi les memberships des VLC clients ne seront pas pris en compte par les routeurs.
3. Surtout, prendre soin de préciser le TTL en ligne de commande lors de la diffusion du stream, sinon quoi, le TTL sera à 1 (même si configuré autrement en mode graphique) et le flux ne dépassera pas le premier routeur. V. Développement de dépôts pour Kodi Créer un dépôt qui permet de proposer une extension pour diffuser la vidéo backwaters.mpeg hébergée sur votre machine Créer un dépôt qui permet de proposer une extension pour diffuser en temps réel une vidéo (webcam) Liens utiles : http://kodi.wiki/view/how-to:create_a_repository_for_add-ons http://forums.addons.center/thread/40-tutorial-how-to-create-a-repository/ http://kodi.wiki/view/internet_video_and_audio_streams