Magazine Internet

Configuration pas à pas d'un serveur de streaming Flumotion

Publié le 22 avril 2010 par Nicolargo

Flumotion est un projet de serveur de streaming vidéo open-source distribué sous licence GPL. Développé en Python et basé sur les frameworks Twisted et GStreamer, il permet de diffuser sur un réseau des vidéos venant de sources lives (caméra, tv...) ou stockées dans des fichiers (on parle alors de VoD pour Video à la demande) en proposant un interface utilisateur de type Web (vous pouvez voir une démo ici).

Configuration pas à pas d'un serveur de streaming Flumotion

Installation de Flumotion sous Ubuntu

A partir des dépôts (sous Ubuntu 9.04, 9.10 ou 10.04):

sudo aptitude install flumotion

Ou alors en compilant depuis les sources.

Le serveur Flumotion qui se compose de deux daemon (flumotion-manager et flumotion-worker) devrait se lancer automatiquement à la fin de l'installation:

* Restarting Flumotion Streaming Server flumotion   [ OK ]

ps auxw | grep flumotion

118      17263  0.0  0.6  18784 13252 ?        S    16:46   0:00 /usr/bin/python /usr/bin/flumotion-manager -D --daemonize-to /var/cache/flumotion --service-name default /etc/flumotion/managers/default/planet.xml
118      17291  0.0  0.5  26604 11412 ?        Sl   16:46   0:00 /usr/bin/python /usr/bin/flumotion-worker -D --daemonize-to /var/cache/flumotion --service-name default /etc/flumotion/workers/default.xml

Configuration de Flumotion

Nous allons configurer Flumotion pour faire de la vidéo à la demande (comme Youtube ou Daily Motion) . Pour celà il faut d'abord créer un répertoire sur le serveur dans lequel les vidéos seront mises à disposition (/home/flumotion/Videos dans mon cas).

sudo mkdir /home/flumotion
sudo chown -R flumotion:flumotion flumotion

Puis y copier quelques vidéos pour vos tests Par exemple j'ai récupéré sur le site HD-Trailer des bandes annonces HD 720p au format MOV/H.264/AAC que j'ai converti en utilisant les codecs libres Theora/Vorbis (le seul, l'unique / fin de troll).

ffmpeg2theora -v 6 -y 240 shutterisland-720p.mov -o shutterisland-240p.ogv
ffmpeg2theora -v 6 -y 480 shutterisland-720p.mov -o shutterisland-480p.ogv
ffmpeg2theora -v 8 -y 720 shutterisland-720p.mov -o  shutterisland-720p.ogv

L'interface graphique d'administration de Flumotion peut être lancé en lugne de commande (flumotion-admin) ou via le menu "Application > Son et vidéo > Flumotion Streamin server administration".

On commence par configurer l'administrateur pour se connecter sur le serveur actuellement lancé:

Configuration pas à pas d'un serveur de streaming Flumotion

Puis rentre les informations sur le serveur (nom d'hôte et port, par défaut 7531):

Configuration pas à pas d'un serveur de streaming Flumotion

Enfin on entre le login/password d'administration (par défaut user/test). Pour changer le login/password, il faut éditer les fichiers  /etc/flumotion/managers/default/planet.xml et /etc/flumotion/workers/default.xml puis relancer flumotion (# sudo /etc/init.d/flumotion restart).

Configuration pas à pas d'un serveur de streaming Flumotion

La fenêtre suivante devrait apparaitre (sinon il faut aller cliquer dans le menu Controler > Lancer l'assistant):

Configuration pas à pas d'un serveur de streaming Flumotion

On demande la création d'un serveur de vidéo à la demande (VoD):

Configuration pas à pas d'un serveur de streaming Flumotion

On entre ensuite le répertoire ou se trouve les vidéos (/home/flumotion/Videos par exemple), le port sur lequel le serveur va répondre, un éventuel point de montage (si vous voulez que le serveur réponde à l'URL http://serveur:8800/pointdemontage) ainsi que l'emplacement du fichier de log.

Configuration pas à pas d'un serveur de streaming Flumotion

Et enfin:

Configuration pas à pas d'un serveur de streaming Flumotion

Test de Flumotion

Il ne reste plus qu'a pointer un navigateur Web sur l'adresse http://addresseserveur:8800/fichiervideo.ogg

Par exemple, si j'ouvre l'URL http://localhost:8800/shutterisland-240p.ogv avec un Firefox (compatible HTML5 et Theora) la video va s'afficher et il est possible d'utiliser les boutons de contrôle du playeur HTML5 (play / stop / pause / dépacement dans la vidéo).

Configuration pas à pas d'un serveur de streaming Flumotion

J'ai testé sur un LAN jusqu'a des résolutions HD de 720p et même 1080p et la vidéo s'affiche rapidement (moins de 3 secondes entre l'affichage de la page HTML et le début du streaming) et de manière fluide (pas de coupure ou d'arrêt).

Si vous souhaitez heberger votre serveur Flumotion sur Internet, il faudra bien évidemment vérifier que le FAI autorise se genre de traffic de streaming dans le contrat et qu'il n'y a pas de  limite en terme de volume ni de goulet d'étranglement en terme de débit.

Conclusion

Il ne vous reste plus qu'a "web coder" la présentation autour des vidéos (avec du HTML/CSS /JS par exemple) et vous êtes fin prés pour concurrence Vimeo and co !


Retour à La Une de Logo Paperblog

A propos de l’auteur


Nicolargo 417 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Magazine