À l’occasion de la projection en avant-première de Libre, le film qui raconte l’aventure de Cédric Herrou dans la vallée de la Roya, Alpha de l’émission Faratanin Fraternité a réalisé une interview du militant. Elle sera diffusée le 6 octobre sur l’antenne de Radio Campus Clermont-Ferrand.
Cédric a gentillement proposé de diffuser l’émission en direct sur sa page Facebook. J’ai donc cherché comment connecter le stream icecast de Radio Campus sur Facebook. Voici comment faire :
- Préparer une image fixe, dans l’idéal d’une petite résolution (512x512 par exemple), afin d’économiser de la bande passante, dans la suite nommée image.jpg. On peut utiliser la ligne de commande convert grosse-image.jpg ‑resize 512x512 ‑quality 75% image.jpg pour réaliser une conversion en ligne de commande depuis une grosse image.
- Identifier l’adresse du flux audio de votre radio, dans notre cas http://campus.abeille.com:8000/campus
- Se rendre sur Facebook et créer un live, rendre éventuellement persistante la clé, afin de facilement reproduire la manipulation. Recopier l’adresse et la clé de diffusion (clediffusion ci-dessous) proposée par la plateforme
- Sous GNU/Linux, utiliser ensuite la commande suivante :
ffmpeg -r 30 -loop 1 -i image.jpg -i http://campus.abeille.com:8000/campus -c:a libfdk_aac -c:v h264 -b:v 768k -preset ultrafast -tune stillimage -pix_fmt yuvj444p -g 60 -profile:v high444 -level 4.2 -f flv "rtmp://live-api-s.facebook.com:80/rtmp/clediffusion"
On peut éventuellement remplacer libfdk_aac par aac si le codec n’est pas disponible.
Cette commande est inspirée d’une discussion sur stackoverflow. Elle encode la vidéo avec l’envoi d’une seule image par seconde, et une compression audio correspondant à ce qui est diffusé sur la plateforme.
Dans mes expérimentations, j’ai dû baisser de manière importante la résolution de l’image afin d’éviter des sacades qui apparaissaient toutes les deux à trois secondes.