Raspberry Pi Radio partie 2 : lecture continue

Après avoir suivi la partie 1 de notre tutoriel, vous avez une radio qui passe de la musique, youpi! Mais depuis un navigateur, ça coupe à la fin de chaque morceau. Corrigeons ce souci avec une option de Icecast2 : les fallback mounts.

Kesseussé?

Chaque source de musique définie dans Icecast (MPD, que nous avons configuré la dernière fois, en est une) s’appelle une mount, ou monture, ce qui n’a aucun sens en français, mais passons.
Tant que tout se passe bien, vous restez sur la mount, mais il existe des mécanismes de repli (fallback) définissables dans Icecast en cas de ratage d’une mount. Et en étant un peu malin, vous pouvez faire des boucles de mounts à fallback mounts, mais on va rester simple parce que simple, ça marche.

Prérequis

Veuillez télécharger et mettre dans votre répertoire musical le fichier silence.mp3. Facile.

Procédure

Tout va se passer dans le fichier de configuration Icecast.xml :

sudo nano /etc/icecast2/icecast.xml

Puis juste avant la balise <fileserve> (n’oubliez pas le ctrl-W!) , insérez les lignes suivantes :

<mount>
    <mount-name>/radio.ogg</mount-name>
    <fallback-mount>/silence.mp3</fallback-mount>
    <fallback-override>1</fallback-override>
</mount>
<mount>
    <mount-name>/silence.mp3</mount-name>
    <fallback-mount>/radio.ogg</fallback-mount>
    <fallback-override>1</fallback-override>
</mount>

Evidemment, /radio.ogg est le point de montage spécifié dans le fichier /etc/mpd.conf dans la rubrique audio_source{}.
Ce que nous venons de faire, c’est de créer une mount de repli qui ne fera que jouer le seul fichier silence.mp3 en boucle jusqu’à ce que /radio.ogg se rétablisse, et avec le raffinement inutile que si silence.mp3 déconne en pleine lecture, il bascule sur radio.ogg. Bref.

L’idée, c’est qu’à chaque fin de lecture dans un navigateur, le flux est très brièvement interrompu et le navigateur “raccroche”, obligeant çà rafraîchir la page; avec la fallback mount, le flux n’est plus du tout interrompu et la lecture se poursuit 🙂

Sauvegardez et quittez nano, puis :

sudo systemctl icecast2 restart

Avec ceci de fait, la lecture dans le navigateur devrait se poursuivre non stop.

Prochaine étape, l’ouverture au monde!

Leave a Reply

Your email address will not be published. Required fields are marked *