Comment réaliser un direct broadcast vidéo par internet ?

La diffusion en direct de vidéos par internet est encore une chose nouvelle qui demande pas mal de recherche et de réglages pour fonctionner. Malgré tout, elle est depuis quelques temps à la portée de toute personne ayant de bonnes connaissances techniques en la matière.

Hier, le 18 septembre 2008, nous avons proposé au public une conférence en direct ayant pour thème "De la télévision pour les bébés au jeux vidéos pour les adolescents" par Serge Tisseron. Conférence organisée dans le cadre de mon boulot pour www.yapaka.be, à la communauté française de Belgique.

En plus des 100 personnes présentes réellement dans la salle (au théâtre 140), 100 personnes ont pu assister à cette conférence, en direct, par internet. Elles ont au l'occasion d'interagir avec le conférencier par chat.

Voici comment nous avons procédé.

1. Test de le connection internet

Deux semaines avant l'événement, j'ai été testé la connexion internet disponible sur le lieu de la conférence. Muni d'un portable, je me suis connecté au réseau installé sur place. Il s'agissait d'une connexion internet cable TV. Le site www.speedtest.net permet de tester la qualité de la connexion. Le plus important pour une diffusion en direct, c'est la qualité de la connexion montante vers le fournisseur, à savoir la vitesse d'upload. Elle est mesurée en kilobits par seconde (kbps).

Sur le site speedtest.net, vous pouvez choisir vers quel destination tester la connexion. Si votre fournisseur de streaming est aux états unis vous pouvez tester vers une destination proche. Dans mon cas il s'agit d'un fournisseur allemand, j'ai donc testé vers Francfort.

La connexion cable était très bonne : 8000kbps en download et 900kbps en upload.

Ayant déjà réalisé des tests de compression, une vidéo de qualité "VHS" (youtube) demande environ 250 kbps pour la vidéo et 50 kbps pour l'audio. Ce qui fait un total de 300 kbps pour la transmission. Ayant de la marge (900 kbps dispo), j'ai configuré le programme de transmission pour envoyer deux fois le flux sur deux serveurs différents en cas de problème. Ce qui fait un total de 600 kbps en upload. Il reste de la marge sur la connexion au cas où. De plus cela permet d'ouvrir un browser pour tester le flux tel que vu par les spectateurs sans compromettre l'émission.Il ne faut cependant pas le laisser tourner tout le temps, la compression bouffant déjà énormément.

Vous devez également tester si le site est muni d'un pare feu. Si vous parvenez à voir directement une vidéo sur ustream.tv et à vous connecter sur leur système de chat, c'est probablement ok. Il vaut mieux désactiver tout pare feu sur le site de diffusion.

Un dernier test de durée devrait idéalement être effectué en faisant une diffusion test d'au moins 30 minutes. Certains providers diminuant automatiquement la bande passante après un certain temps. Assurez vous également que le site n'est pas près d'atteindre son quota mensuel.

2. Compte de streaming chez un fournisseur

Afin de diffuser votre flux, il vous faut un fournisseur capable de distribuer votre flux unique à plusieurs personnes à la fois. Je voulais un système qui ne demande pas de plugin particulier pour les visiteurs. Le seul système qui fonctionne à l'heure actuelle (fin 2008) c'est flash. La solution consiste à trouver un fournisseur qui propose un compte flash media server live.
J'avais d'abord pensé utiliser uniquement un service gratuit (justin.tv ou mogulus.com) mais j'ai eu peur qu'ils ne soient pas à la hauteur. Vous verrez plus loin si j'ai eu raison ou pas.

Je me suis tourné vers www.interlake.net qui propose des comptes à 90€ par mois pour 100gb de bande passante. Ce sont les moins chers que j'ai trouvé en Europe. Il existe aussi uvault.com et serverroom.us, ainsi que streamzilla.com. A vous de voir et de comparer.

Pour calculer la bande passante nécessaire, utilisez la formule suivante :

nombre de visiteurs x nombre de secondes x bande passante en kbps / 8 000 0000

Dans notre cas : 200 visiteurs x 7200 secondes x 220 kbps / 8 000 000 = 39,5 Gigas

Ce sont bien des gigaoctets, pas des gigabits. On compte toujours en Go la bande passante nécessaire.

Le fournisseur proposant un plan avec un forfait de 100gb, c'était ok, on pouvait d'ailleurs avoir plus de visiteurs que prévu.

Renseignement pris chez mogulus, ils assurent une diffusion sans problème jusqu'à 10.000 visiteurs simultanés. Cela me semble énorme, surtout pour un service gratuit. Me disant que "si c'est trop beau pour être vrai, c'est que ça ne l'est pas". C'est pour cela que j'ai finalement pris mogulus comme backup et interlake comme solution principale.
Cela dit, je suis en contact avec les développeurs de mogulus, et je peux dire que leur service est bien suivi (mieux que certains services commerciaux). Mogulus est à suivre de très près. Pour être sûr de la qualité du service. Je recommanderais interlake pour l'instant. "Future will tell"

3. Configuration du pc de diffusion

Si vous voulez une diffusion de qualité, avec un encodeur gratuit, il n'y a pas 36.000 solutions. Vous devez utiliser l'encoder d'adobe, disponible ici : http://www.adobe.com/products/flashmediaserver/flashmediaencoder/

Il n'est disponible que pour windows xp. Il vous faut un pc récent pour assurer un encodage en temps réel.

La configuration du soft est assez facile. vous sélectionnez l'entrée vidéo disponible sur le pc, le codec, la taille d'image, et la même chose pour le son. Ensuite vous encodez le serveur fourni par votre provider. Mogulus propose des explications dans leur guide. Si vous prenez un compte payant quelque part, vous recevrez un mail avec les infos. Il s'agit du serveur rtmp:// ainsi que le nom du flux.

Certains services vous proposeront d'utiliser directement votre navigateur pour encoder la vidéo. Cela marche aussi (pour autant que votre caméra soit reconnue par le plugin flash) mais le codec est nettement moins bon (sorenson) et la qualité d'image sera nettement inférieure. Vous n'aurez que peu de réglages sur la taille d'image et de son.

Voici les réglages utilisés sans flash media encoder :

- entrée image DV
- codec image : VP6
- débit image : 250 kbps
- taille image : 360 x 210 (en 16/9 s'il vous plait!)

- entrée son DV
- codec son AAC
- échantillonnage son : 44.1 khz (pour une conférence, c'est vraiment le son le plus important)
- débit son : 56 kbps

J'ai également configuré un autoadjust avec un buffer de 5 secondes, qui permet de compenser des pertes de débit réseau momentanés.

4. Connection de la caméra ou de la source vidéo

Il n'y a pas de secret, la qualité de la caméra est prépondérante. Nous avons utilisé une PD 150 de sony prêtée par la cinémathèque de la communauté française (nos collègues). Cette caméra est une tri-ccd qui dispose d'entrées XLR (un standard dans le son "pro"). La caméra reçoit en direct le son de la table de mixage de la salle. De cette façon on dispose du son mixé par l'ingénieur du son de la salle et pas d'un son micro caméra qui serait bien plus "pourri".

La caméra est placée sur un pied et reliée au PC par un câble firewire. Le son et l'image sont de ce fait parfaitement synchro vu que c'est la caméra qui numérise. Une solution moins satisfaisante mais moins cher consiste à utiliser une webcam et un bon micro et laisser l'ordi faire la synchro (bonne chance...)

Résumé :

- son salle -> cable XLR -> caméra DV PD150
- image caméra (en manuel s.v.p)
- caméra -> câble firewire -> PC
- PC -> flash media encoder
- flash media encoder -> connexion internet du lieu -> fournisseur (mogulus / interlake)
- fournisseur -> clients

(ouf)

Et c'est sans compter que sur le lieu de tournage, le signal passait par un modem wifi puis un routeur avant d'arriver au modem câble :-)

Résultat : 100 personnes ont pu assister à la conférence, en direct, depuis leur navigateur web, sans rien installer. Ils on pu poser leurs questions sur un chat. La conférence a été enregistrée et est disponible ici : http://www.mogulus.com/yapaka/ondemand/pla_339952814454013515?initthumbu...

N'hésitez pas à me contacter si vous avez envie de partager vos expériences. La diffusion de vidéos en direct est encore fragile, mais en faisant attention à toutes les étapes, il y a moyen d'avoir un résultat professionnel à coût "service public" :-)

Ceci pose également la question de l'avenir de la télévision traditionnelle. Un rapide calcul indique que cela coûte 10 eurocents par personne pour diffuser une émission de 2 heures. Je ne sais pas combien cela coûte en télé traditionnelle, mais j'imagine que c'est beaucoup plus. A bon entendeur ...

Tous mes liens sur le sujet ici: http://delicious.com/onclephilippe/streaming

J'y ajoute régulièrement de nouvelles choses

 

Commentaires

Bonjour, Comment ça pourrai se passer pour recuperer le flux capter par une camera ip dans mon flash media encoder pour le transmettre a mon serveur de streaming? Aurrais-je toujours besoins d'une carte firewire?

C'est moins évident. La caméra IP ne sera pas reconnue par flash media encoder je suppose. Flash media encoder supporte tous les périphériques qui proposent un driver windows et sont reconnus comme périphérique de capture vidéo (webcam, carte firewire, carte de capture analogique...) Il faut vérifier mais à mon avis ça ne marchera pas. Dans ce cas, soit la caméra propose une sortie vidéo qui peut être exploitée par une carte de capture, soit il faut changer de caméra :-)

bonjour Philippe, J'ai créé une webtv avec JUSTIN.TV que vous citez plus haut et j'ai suivi vos explications, ou plutôt, j'ai tenté de comprendre.. J'aimerais diffuser des évenements sportifs en "live" et étant très basique au niveau informatique vous serait-il possible de m'indiquer, pas-à-pas, en langage leplus simple pour moi, la marche à suivre? Je n'arrive à trouver personne qui m'indique cela. Vous pouvez me joindre par mail okman1959@hotmail.fr merci Pascal

Je vous conseille de suivre les explication proposées sur le site justin.tv plus générallement, les sites de vidéo live ont tous un lien "help" quelque part. Vous trouverez en l'occurence votre bonheur ici : http://fr.justin.tv/help_resources

Bonjour Merci pour cet article ! Je bossais sur ce sujet depuis un certain temps. J'ai opté après pas mal d'essais pour moqulus. C'est un outil vraiment excellent et très pro. Je m'en sert pour diffuser du live (avec flash média encoder) ou des documentaires historiques...vraiment extra Merci Pierre http://www.histoquiz-contemporain.com/accueil.htm http://www.histoquiz-contemporain.com/forum/index.php

salut, est ce que je peu avoir mon propre serveur de streaming, c'est a dire avoir un serveur comme mogulus mais juste pour mon tv? merci

Vous devriez pouvoir le faire avec VLC : http://www.videolan.org

Bonjour J'ai un petit soucis de diffusion. Je diffuse actuellement des documentaires en 352/288 avec flash media encoder sans problème je voudrais les diffuser en 384/288 mais j'obtiens un superbe plantage de ma bécane qui s'arrête en urgence. Ecran noir avec texte: "arrêt d'urgence pour éviter d'endommager votre ordinateur etc" J'ai fait le tour de divers forum...je n'ai pas trouvé de réponse à ce problème. Sauriez vous par bonheur d'où cela pourrait bien provenir ? Je ne vois pas du tout. Merci pour votre réponse Cordialement Pierre

Peut être un problème de codec? Peut être que la format d'image n'est pas un multiple de 2 ou de 16 pixels ?

j'ai besoin d'information concernant , et ceci pas a pas car ma classe demande le devoir au plus vite que possible , alors aidez merci...

Bonjour Philippe ! c'est génial tout ce que vous avez ecrit sur la vidéo en live ! je dois lancer une cession importante avec 2 cameras qui doivent filmer en direct durant 24 h et je cherche un "genie" qui pourrait m'aider à parametrer tout ça avec certitude ... pourriez vous m'aider ??? a.solomon@am-groupe.fr 01 75 43 25 92 06 15 02 21 81 Merci

salut qui veut m' aider à distance pour configurer pctv 400i analogue avec adobe flash media encoder server pour diffuser sur justin .....je capture la webcam mais je vois écran vert quand je change pour carte satellite, NTSC/Analog TV.... je n' ai pas de domaine pour partager le flux, ya til un moyen gratuit. et je ne sais pas utiliser xml pour configurer serveur , aidez moi....

Monsieur, Je suis actuellement en stage au sein d'une entreprise qui me demande de faire une étude et ensuite d'installer un parc de caméras IP dans un but touristique. Je dois donc diffuser de la vidéo en temps réel de façon à ce que chaque caméra puisse accepter 500 personnes chacune de façon simultanée. J'ai eu beaucoup d'échos concernant un "server vidéo streaming" (ou serveur de flux) et j'aurais aimé avoir plus de précisions à ce sujet (quelles sont les aspect a étudier avant la mise en place, quel matériel, ...). Aussi, j'aurais aimé savoir s'il était possible de vous contacter en privé afin de vous donner de plus amples détail sur mon projet. En vous remerciant de l'attention que vous voudrez bien porter à ma requête, veuillez accepter, Monsieur, l'expression de mes respectueux sentiments.

Malgre toute les etapes que j'ai suivi tres bien mais quand je click sur start,ca ne marche pas ou du moins ca prend du temps et en fin de compte,il me donne un message:"reestablishing connection,try 1".Est ce que quelqu'un pourrait m'aider S.V.P. Deja je vous dis merci pour ta reponse que j'espere qui sera explicite.

Moi aussi j'ai eu "arrêt d'urgence pour éviter d'endommager votre ordinateur". Billy

Bonjour, J'essaye de faire un stream live avec Adobe Flash Media Encodeur 3 sous Windows vers un serveur Flash Media Serveur 3.5. Savez-vous pourquoi je dois attendre 2:30 avant d'avoir la vidéo et le son sur le lecteur (client) ? Une fois que j'ai le son et la vidéo il y a un décallage de quelques secondes seulement. Avez-vous déjà eu ce problème d'attente du flux pendant 2:30 soit 180 secondes ? Merci d'avance, -- Cordialement

Je ne sais pas vous répondre. Mais en tout cas, si le délais est précisément de 180 secondes, il doit s'agir d'un timeout de type réseau (style un proxy ou un dns mal réglé)

Bonjour à tous, Enfin je suis arrivée sur un site semble plus correspondre plus à mes attentes! tous d'abord, merci à tous pour vos précieuses informations. Je recherche un moyen de partager une video live à un certain nombre de mes contacts. Je ne souhaite en aucun cas rendre mes emissions publique. J'ai une autorisation de diffusion de broadcasts par l'editeur pour mes seminaire, ainsi que d'autre materiel sous copyright. La condition est je je dois veiller à la protection de ce materiel qui m'est confier afin qu'il ne soit pas altéré, mal interprerté... Dans un premier temps je ne pense pas diffuser à plus de 10 personnes. J'ai fais mes premier pas avec la video conference, 3 personne ensemble via Skype 5.0, cela à bien fonctionner pour un debut! Je sais maintenant que la video conference n'est pas le système ideal pour mon utilisation! Je dispose d'une webcam Hercules infinite d'une table de mixage qui centralise tout mon son. Je sais que pour le son( le plus important ) je dispose d'un materiel trés satisfaisant, mais en matière de video et du software à utiliser, j'aurai besoin de conseils. Merci à tous Cordialement Aurélie

Je dois réaliser un plateau vidéo en multicam et durant ce plateau doit être diffusé dur Internet afin qu'un groupe de personnes puisse suivre l'intervention à distance donc par le biasi d'internet. C'est juste de poste à poste pour un seul poste de réception. Il faudrait avoir une bonne qualité car il faudrait le passer sur un vidéoprojecteur pour partager cette intervention en groupe. Voila s'il y avait quelqu'un pour me donner le plus d'infos sur les équipements à avaoir quel logiciel et cartes ? Encore merci pour les infos Charles DANCAR

bonjour, l'on ma demandé de mettre en oeuvre un dispositif pour une diffusion multi ecran pour un petit festival organisé. ainsi, je voyais une architecture assez simple : 1 pc principal, 2 pc secondaires branchés chacun à un video projecteur et tous les 3 pc liés par un point d'accès sans fil. ensuite je ne sais pas trop quel logiciel gratuit et simple utilisr pour faire cette diffusion. je dois diffuser l'information depuis le pc principal et de facon synchronisé sur les autres pc (les videoprojecteur) aussi comment pourrais-je faire une retransmission sur les dits ecrans des images qui seront filmés par la camera

Bonjour Tout d'abord merci pour ton article "Comment réaliser un direct broadcast vidéo par internet ?". Il est très clair et crois moi qu'après avoir visité de nombreux sites je peux légitimement parler ici de clarté. Par contre de nombreux mois se sont passés depuis fin 2008 (date de publication de ton article) et j'aimerai savoir ce qui a changé radicalement aujourd'hui ? Si tu es sur un autre blog peux tu m'envoyer le lien?

Effectivement, de l'eau a coulé sous le ponts... Je conseillerais maintenant à ceux qui veulent faire du live de faire appel à un service type livestream.

En ce qui concerne les banchements caméra, ce qui est dit ci-dessus est encore relativement valide : firewire ou carte d'acquisition restent les solutions les plus simples.

Bonjour Philippe, Je ne sait pas si cette conversation est toujours ouverte, j essaye tout de même d avoir un retour. Tout d abord merci et félicitations pour les explications et détails apportes. En vue d une création d entreprise je voudrais avoir plus d informations concernant la diffusion en direct de vidéos sur internet. Pouvez vous me contacter pour en parler plus en détail. Sincères salutations, Vincent

Bonjour Philippe, Tout d'abord je te remercie pour ton post qui est très intéressant. Je suis actuellement en stage dans une discothèque et je cherche à retransmettre l'évènement en streaming en HD. Je recherche donc le bon matériel qui pourra faire face au manque de luminosité et à l'environnement bruyant pour proposer un contenu de qualité. As tu des recommandations concernant ce type de matériel ? je te remercie d'avance. Cdt.

bjr je cherche de l'aide je suis handicaper et je comprend pas j'ai une radio qui sauter pas avec flash media live encoder.3 et suis a un bleme il me demande xml donc je c pas ou avoir sa il me manque fms url et l'autre c stream si tu pouvais m'aidée car mon plaisir c de faire de la radio maintenant et comme j'ai fait un avc accident vasculaire cerebral se qui fait que mon cerveau ne comprend plus sur le pc j'espere avoir de l'aide je vous remerci a bientot j'ai laisser mon msn si c possible

Pour une radio, essayez plutôt http://www.icecast.org/