Streaming


Streaming ou diffusion en direct via Internet : emission de flux de données, encodées coté serveur et décodées coté lecteur, audio ou vidéo – webradio ou radio en ligne et télévision en ligne – (mais aussi toute transmission de données temps réel, par exemple les coordonnées, couleurs, etc. dans un jeu vidéo en réseau).
Le streaming peut s’appuyer sur des outils [http://ressources.samizdat.net/tiki/tiki-index.php?page=P2P|peer-to-peer], qui permettent de resservir le flux du streaming depuis chaque ordinateur connecté.

Schéma type de streaming :
SOURCE (Caméra/Micro/Guitare électrique/Table de mixage etc.) -> Connexion audio ou vidéo -> CLIENT (Ordinateur équipé d’un logiciel audio ou vidéo numérique avec fonction de broadcast dit « client » du serveur) -> Connexion web haut débit -> SERVEUR (Ordinateur équipé d’un logiciel dit « serveur ») -> Connexion web haut débit sur un port public <- RECEPTEUR Auditeurs/Récepteurs Serveur CONNEXION/BANDE PASSANTE L'ordinateur qui sera serveur doit être connecté à une connexion haut débit. Une connexion haut débit domestique dispose en général de la bande passante nécessaire à l'accueil de deux ou trois connexions réceptrices (auditeurs/téléspectateurs). Les serveurs bénéficiant de la bande passante nécessaire à l'accueil de plus de connexions sont en général des serveurs dédiés à l'intérieur de groupements de serveurs, en sociétés ou coopératives, loués, privés ou mutualisés au travers de structures associatives ou privées, pour des raisons de coût de bande passante. PORT DE STREAMING/D'EMISSION Le port depuis lequel le serveur émet le flux de streaming doit être public. Voir [http://fr.wikipedia.org/wiki/Port_%28logiciel%29]. Il faut pour cela configurer le logiciel coupe-feu de l'ordinateur qui sera serveur si celui-ci se situe dérrière un modem, via l'interface de configuration des préférences du système de l'ordinateur ou du logiciel de coupe-feu (ou firewall) selon les systèmes ; sur le logiciel de configuration du modem si celui dispose d'un coupe-feu, ou encore sur l'ordinateur gestionnaire du réseau auquel on est connecté dans le cas de l'utilisation d'un réseau interne. Voir [http://fr.wikipedia.org/wiki/Firewall]. Le port usuellement employé pour le streaming est le port :8000 mais tous les ports peuvent être utilisés. Le logiciel coupe-feu doit dans tous les cas être ouvert sur le port qui sera celui spécifié dans le fichier de configuration du logiciel serveur. LOGICIELS SERVEURS VLC (Logiciel serveur (et client) pour Unix, Linux, Mac OS X, Windows, aux formats audio et vidéo MPEG-1, MPEG-2, MPEG-4) http://www.videolan.org/vlc/streaming.html - Documentation : http://www.videolan.org/doc - La carte et la boussole : http://www.videolan.org/images/documentation/global-diagram.jpg Flumotion (Logiciel serveur (et client) libre de streaming sous GPL pour Linux et Mac OS X aux formats audio et vidéo Ogg Vorbis et Theora et ASF, WMA, WMV) Son installation nécessite Python, et la librairie GStreamer (distribué avec Fedora). Le flux peut être reçu sur une page web avec l'applet Java Cortado. Site : http://www.flumotion.net Démos : http://stream.fluendo.com/demos.php Documentation : https://core.fluendo.com/flumotion/trac/wiki/FAQ Icecast (Logiciel serveur libre de streaming pour Linux et Windows aux formats audio http://ressources.samizdat.net/tiki/tiki-index.php?page=Ogg|OGG VORBIS et MP3, et vidéo http://ressources.samizdat.net/tiki/tiki-index.php?page=Theora|OGG THEORA) http://www.icecast.org/download.php - Installation et configuration de Icecast http://rezal404.org/wikini/wakka.php?wiki=IceCast2ToC - Tutoriel d'installation pas à pas pour le système d'exploitation Linux Debian http://streamlab.info/?wiki=HowToIcecastByHand Shoutcast (Logiciel serveur propriétaire gratuit de streaming pour Linux, MacOSX, Windows aux formats audio [http://ressources.samizdat.net/tiki/tiki-index.php?page=Ogg|OGG VORBIS], MP3 et vidéo NSV) http://www.shoutcast.com/download/files.phtml - Installation et configuration de Shoutcast http://rezal404.org/wikini/wakka.php?wiki=SoutCastServer CONFIGURATION TYPE DU LOGICIEL SERVEUR (à rédiger) EXTRAS Dans le cas de l'utilisation d'une connexion domestique et donc d'une petite allocation de bande passante, il est conseillé d'utiliser le système Peercast (logiciel libre sous GPL de streaming en p2p pour les formats audio OGG Vorbis, MP3, et vidéo OGG THEORA), qui permet la redistribution du flux du streaming depuis chaque ordinateur connecté. http://www.peercast.org Le système sur CD Dynebolic qui comprend un kit de streaming, donne accès à un serveur avec la bande passante nécessaire à l'accueil de nombreuses connexions d'écoute/réception pour une durée limitée : http://dynebolic.org Voir les autres kits de streaming sur CD : http://ressources.samizdat.net/tiki/tiki-index.php?page=Systemes-sur-CDs Serveurs dédiés associatifs pour le streaming : - NOHOST : http://nohost.noweb.org - Erreur404 : http://www.erreur404.org/html2/radio.php3 Réseau de mutualisation de bande passante et de serveurs : - G.I.S.S : http://giss.tv http://mcs.hackitectura.net/tiki-index.php?page=Giss Broadcast/Emission SOURCE (Caméra/Micro/Guitare électrique/Table de mixage etc.) -> Connexion audio ou vidéo -> CLIENT (Ordinateur équipé d’un logiciel audio ou vidéo numérique avec fonction de broadcast dit « client » du serveur) -> Connexion web haut débit -> SERVEUR (Ordinateur équipé d’un logiciel dit « serveur ») -> Connexion web haut débit sur un port public <- RECEPTEUR Auditeurs/Récepteurs. On émet à partir d’un logiciel client du logiciel serveur. Ces deux logiciels peuvent être installés sur deux ordinateurs différents (conseillé pour le retraitement temps réel et nécessaire en cas de distance géographique entre les émetteurs et le serveur), ou un seul s’il s’agît seulement de diffuser une source audio « Line in » ou une playlist de fichiers. On se connecte au serveur via la fonction de brodcast du logiciel client. Cette opération nécessite la spécification de : – l’adresse directe du serveur ou URL de connexion – du port de streaming – du login ou nom d’utilisateur sous lequel on a accès au serveur et d’un mot de passe de connexion si nécessaire fonction de la configuration du logiciel serveur. On spécifie ici aussi, dans le même panneau de la fonction de broadcast du logiciel client : – le format souhaité du stream (OGG, MP3, etc.), qui doit correspondre aux capacités et aux paramétrages du logiciel serveur – les paramétrages de qualité (nombre de kilobytes émis par seconde, framerate, stéréo/mono, etc.), qui doivent répondre à la taille de la bande passante sur laquelle le serveur sert le stream, à la qualité de la connexion web depuis laquelle on émet, ainsi que de celle des connexions utilisées par les auditeurs/récepteurs. Ce panneau donne aussi accès à une fonction de monitoring du stream, qui permet de savoir si le stream est envoyé lorsque la fonction de connexion est activée ou qui affiche les éventuels messages d’erreurs (par exemple, si le serveur n’est pas en fonctionnement ou non accessible, mauvais login etc.), des niveaux audio, des réglages de couleur, du titrage du stream qui s’affiche dans les lecteurs audio et vidéo, etc. LOGICIELS CLIENTS AUDIO ET VIDEO VLC Logiciel libre serveur et client pour Unix, Linux, Mac OS X, Windows, aux formats audio MP3, OGG, et vidéo MPEG-1, MPEG-2, MPEG-4, etc. http://www.videolan.org/vlc Flumotion Logiciel libre serveur et client pour Linux et Mac OS X aux formats audio et vidéo Ogg Vorbis et Theora et ASF, WMA, WMV Site : http://www.flumotion.net Démos : http://stream.fluendo.com/demos.php Documentation : https://core.fluendo.com/flumotion/trac/wiki/FAQ LOGICIELS CLIENTS AUDIO Le logiciel client, en plus du plugin de broadcast, doit être équipé d’un plugin de prise directe, qui encodera une source audio directe (une entrée ligne ou micro), ou retransmettra la sortie d’un logiciel de traîtement ou mix audio temps réel. Cette fonction pour la plupart des logiciels doit être activée dans le panneau de configuration des plugins du logiciel. Client Shoutcast (Linux) : [http://bugnmix.online.fr/stream/broadcast/linux/shoutcat-client.tar.gz MacAmpLiteX (Mac Os X) : http://bugnmix.online.fr/stream/broadcast/osX] Soundjam (Mac Os 9) : http://bugnmix.online.fr/stream/broadcast/os9/soundjam.sit Client Winamp (Windows) + Plugin de broadcast : http://bugnmix.online.fr/stream/broadcast/windows OddcastV3, plugin Winamp pour le stream en Ogg pour Icecast : http://www.oddsock.org/tools/ LOGICIELS CLIENTS VIDEO Oggfwd : Logiciel libre client pour Linux au format Ogg pour Icecast. http://v2v.cc/~j/ffmpeg2theora/oggfwd Freej : Logiciel libre pour Linux pour le vijing et le vijing en réseau. http://freej.dyne.org Pidip : Pidip est un ensemble modulaire pour le streaming et le traîtement temps réel de la vidéo pour le logiciel libre Pure Data pour Linux. http://puredata.info http://ydegoyon.free.fr/pidip.html http://puredata.info http://pure-data.sourceforge.net Visionair : Logiciel client Windows au format OGG pour Icecast et Streamcast. http://dir.visonair.tv/streamer.php Nullsoft : Logiciel propriétaire client Windows au format NSV pour Icecast et Shoutcast. Nullsoft streame la vidéo d’une part (webcam) et le son d’autre part (entrée ligne ou micro). [http://nullsoft.com] Url de connexion et d’écoute L’adresse de connexion pour émettre et écouter est la même. C’est celle du serveur, accompagnée du numéro de port de streaming, pour émettre, et d’un nom de fichier, différent selon le paramétrage du format du stream, pour écouter/recevoir le stream. Url pour émettre : nomduserveur (port 8000) Url pour écouter : http://nomduserveur:8000/listen.pls (ou /listen.m3u ou /listen.ogg etc.). Dans le cas d’une émission depuis une connexion domestique, c’est une adresse IP chiffrée. L’adresse IP d’une connexion domestique, est spécifiée dans l’interface de configuration réseau de la plupart des systèmes, ou déterminable via un service en ligne « IP Adress Lookup » comme http://www.hostip.info, qui donnera l’adresse IP de l’ordinateur depuis lequel on consulte le site. Il est possible de couvrir par un nom de domaine une adresse IP chiffrée via un service de « redirection », par exemple http://www.zoneedit.com ou http://dyndns.org, http://www.yi.org, http://azote.org. Réception Tous les logiciels vidéo et audio numérique possèdent une fonction de réception ou d’écoute en ligne en direct – du format MP3, et la plupart du format OGG VORBIS, pour l’audio, et quelques uns du format ogg theora pour la vidéo. Cette fonction s’appelle « Ouvrir le flux » ou « Url d’écoute/de réception ». Logiciel multiplateforme pour tous les formats : VLC (Linux, Mac OS X, Windows) – http://www.videolan.org/vlc VLC est sous licence GPL.