Skip to content

Diffuser un flux video / webcam sous Linux avec icecast2, ezstream et oggfwd

Icecast2 est un serveur de flux audio et video et seulement cela.

Il va donc falloir fournir à ce serveur le flux vidéo qu'il va rediffuser. Pour cela, on peut utiliser plusieurs outils compatibles shoutcast. Pour ma part, j'ai choisi d'utiliser :

  • ezstream dans le cas d'une video déjà au format ogg Theora,
  • oggfwd qui permet d'envoyer un flux ogg Theora en mode shoutcast dans le cas où il faut réencoder le flux.

Vidéo au format Ogg Thoera

Si la vidéo est déjà au format théora, on va pouvoir la diffuser directement avec ezstream. Pour cela, il faut créer un fichier de configuration pour ezstream comme cela :

<ezstream>
<url>http://localhost:8000/test.ogg</url>
<sourcepassword>toto</sourcepassword>
<format>THEORA</format>
<filename>/home/david/backkom-golf.ogg</filename>
<reencode>
<enable>0</enable>
</reencode>
</ezstream>

Les paramètres importants sont :

  • url : contient la connexion au serveur icecast2 et le nom virtuel du lien qui va permettre de voir le stream
  • sourcepassword : le mot de passe défini au niveau du serveur icecast2 pour envoyer le stream
  • format : THEORA
  • filename : le nom du fichier video que l'on veut diffuser
    • fichier .ogg : 1 seul fichier sera joué en boucle
    • fichier.m3u : une playlist de fichiers video qui seront joués
Ne reste plus qu'à lancer ezstream avec : ezstream -c config.xml

Video à réencoder

On peut utiliser la fonctionnalité de réencodage de ezstream, mais l'utilisation de ffmpeg2theora est beaucoup plus simple.

Configuration de Icecast2

Comme on envoit le flux vidéo en mode shoutcast, il faut définir une URL virtuelle (mountpoint) qui servira à diffuser le flux en ajoutant une ligne comme celle-ci dans le fichier de configuration de icecast2 (généralement/etc/icecast2/icecast2.xml) : <shoutcast-mount>/video.ogg</shoutcast-mount>

Encodage et envoie de la vidéo

On va encoder la vidéo en temps réel et l'envoyer au serveur icecast2 grâce à oggfwd : ffmpeg2theora ma_video.mpeg -o - | oggfwd icecast.mondomaine.org 8000 toto /video.ogg

Les paramètres de oggfwd sont :

  • le nom du serveur icecast2
  • le port d'écoute du serveur
  • le mot de passe
  • l'URL virtuelle (mountpoint) définie au paragraphe précédent dans icecast2

Encodage et envoie d'un flux issu d'une webcam

Il faut que la webcam soit compatible V4L car ffmpeg2theora permet d'accèder à la vidéo de ce type de driver. On va aussi dans ce cas encoder la video en Ogg Theora et l'envoyer au serveur icecast2 :

ffmpeg2theora --v4l /dev/video0 -o - | oggfwd icecast.mondomaine.org 8000 toto /video.ogg

Avec tout ça, à vous les joies de la diffusion de vidéo.

Rétroliens

Pas de rétroliens

Commentaires

Afficher les commentaires en Vue non groupée | Vue groupée

Pedro sur :

Salut,
Je suis en train de me prendre la tête depuis 3 jours sur la diffusion d'un Divx avec Icecast.

Mon serveur fonctionne trés bien, et je l'alimente avec ezstream ou oggfwd (comme indiqué sur cette page).

Bizarement je n'ai jamais de flux vidéo ...

J'ai donc essayer de savoir d'où venit mon problème, et j'ai encoder d'abord ma vidéo avec ffmpeg2theora pouis je l'ai diffusé.

L'encodage semble être bon, ffmpeg-php me dit bien que la vidéo est en Theora/vorbis, et pourtant quand je lance le tout je n'ai que le stream audio et rien en vidéo.

Si quelqu'un à une idée, merci d'avance.

nico sur :

Pedro, as tu finalement réussi ?

car je viens de rencontrer le meme probleme, j ai beau mettre un point de montage en .ogg ou .avi , aucune video , juste l audio...

si tu as trouvé merci de me tenir au courant

Ajouter un commentaire

Marquer un texte en gras: *mot*, souligner un texte: _mot_.
Les smilies standard comme :-) et ;-) sont convertis en images.
Les adresses Email ne sont pas affichées, et sont seulement utilisées pour la communication.

Pour éviter le spam par des robits automatisés (spambots), merci d'entrer les caractères que vous voyez dans l'image ci-dessous dans le champ de fomulaire prévu à cet effet. Assurez-vous que votre navigateur gère et accepte les cookies, sinon votre commentaire ne pourra pas être enregistré.
CAPTCHA

Form options
tweetbackcheck