Créer une WebTV qui switche entre direct et programmes enregistrés
par Chloé le 2 juillet 2009, dans la catégorie Audiovisuel, Informatique, Tutoriel
Dans cette note, je décris brièvement comment créer une WebTV contenant des programmes pré-enregistrés ainsi que des programmes en direct (live).Contraintes :
- Minimiser le downtime entre le direct et le différé
- N’utiliser qu’un seul lecteur Flash, afin de ne pas avoir à mettre la page de diffusion à jour systématiquement.
- Minimiser les interventions sur le serveur de diffusion
Voici l’idée derrière la réalisation de ce type de WebTV:
On a un programme qui va défiler en boucle et en continu. Il est pushé par un client quelconque capable d’envoyer du RTMP vers Red5 ou Wowza. Ce flux est nommé static. Il prend la forme d’un point de montage /static sur lequel est envoyé un fichier constitué de l’assemblage de tous les programmes récurrents.
On a occasionnellement, lors de la diffusion d’évènements en direct, l’envoi d’un deuxième flux que l’on va appeler live, avec Flash Media Live Encoder, qui prendra la forme d’un point de montage /live sur le serveur de streaming.
Le lecteur Flash va :
- se connecter au flux statique /static
- tester toutes les 10 secondes si le point de montage /live est disponible
- si /live est disponible
- on coupe le flux /static
- on lit le flux /live
- on ajoute un écouteur d’évènement qui retourne au premier point si /live n’est pas disponible.
Variantes possibles: l’ensemble des programmes est statique et on veut que le visiteur les lise dès le départ. En ce cas on fabrique un gros fichier FLV que l’on envoie en mode VOD. On remplace le /static par un fichier /static.flv, et voilà
D’autres variantes sont possibles et dans un prochain article je ferai une liste de logiciels utiles pour ce type de stream.
2 Les commentaires
1 Trackback / Pingback
-
WebTV qui alterne entre émissions en « direct » et « playlist »
avril 19th, 2010 on 11 h 26 min[...] J’avais déjà cherché une réponse à ce problème il y a quelques mois et était tombé sur un article très intéressant de blog de Chloé Desoutter. [...]









août 31st, 2009 on 9 h 20 min
Bonjour,
merci pour cette idée.
Petite question, quel lecteur flash utilises tu?
j’ai un streaming live à faire sur 24h et j’aimerai utilisé cette solution pour afficher des infos aux clients connectés en attendant le live.
merci de ta réponse
août 31st, 2009 on 10 h 52 min
Hello,
j’ai développé un lecteur mais je ne partage pas les sources. C’est plutôt facile à développer en s’appuyant sur le toolkit que j’ai mis à disposition sur ce même site (cherche bien).
L’idée est de lire un flux, de poller un autre, si cet autre se déclenche, arrêter de lire le premier et lire le deuxième (et dans l’évènement de déconnexion, mettre du code qui reprend la lecture du premier). A chaque fois que le premier flux est lu, le polling du deuxième se met en route.
C’est tout à fait simple
Chloé