Il existe plein de manières de démarrer une webradio. Certaines solutions clé en main polluent votre flux avec des publicités non désirées. D’autres solutions imposent d’avoir un ordinateur personnel qui fonctionne sans interruption à la maison. La solution que j’ai commencé à mettre en place n’a pas ces deux inconvénients. Mais commençons par expliquer ce qu’est une webradio, et comment ça fonctionne.
Qu’est-ce qu’une webradio ?
Une webradio, c’est une radio que l’on écoute grâce au web. Elle est disponible aux auditeurs sous forme d’un flux de son, généralement au format mp3, qui peut être soit lu dans un logiciel ou une application dédiée, soit depuis un site internet, soit grâce à un poste de radio internet (ou radio wifi, quelque chose qui se démocratise de plus en plus).
Quand on créé une webradio, on doit donc être capable d’envoyer le flux de son vers le poste de chacun des auditeurs. Cela veut dire que le serveur de diffusion doit avoir une bande passante assez conséquente, pour pouvoir accueillir tous les auditeurs, comme l’illustre le schéma ci-dessous. Clairement, une connexion ADSL ne suffit pas, il faut louer les services d’une entreprise qui dispose de serveurs à grande bande passante.
Le serveur de diffusion reçoit quant à lui le son depuis un multiplexeur, un outil qui permet de choisir (ou de mélanger) les sources : soit on propose un direct depuis un studio, soit on diffuse de la musique qui a été programmée. Chacune de ces trois connexions n’étant pas trop gourmande, on peut alors installer au besoin ces serveurs derrière une connexion normale, même ADSL.
La plupart du temps, sauf pour des raisons pratiques, on va choisir d’installer la partie programmation, multiplexage et diffusion sur le même ordinateur, le même serveur physique, installé dans un datacenter. La partie prise d’antenne en direct se réalise généralement depuis un studio en ville.
Et c’est là qu’intervient airtime, qui est un logiciel pilotant liquidsoap, cet outil polyvalent qui fabrique un flux de son à partir de multiples sources. L’interface d’airtime permet de choisir les morceaux qui passeront, et liquidsoap les assemble pour les envoyer ensuite à un logiciel de diffusion, comme icecast par exemple.
Une solution à base d’airtime
Il y a deux ans, j’avais aidé Radio Campus Clermont-Ferrand à déployer une solution d’automation avec airtime. Depuis ce temps, l’entreprise à l’origine de ce logiciel a arrêté de publier les nouvelles versions sous licence libre… À cette occasion, j’avais co-signé une lettre à la communauté pour motiver l’arrivée d’un fork, libretime. Aujourd’hui, libretime est encore en version alpha, aussi je vous invite fortement à préférer pendant quelques temps les versions produites du temps d’airtime.
Configuration du système
Pour pouvoir faire fonctionner sans surprise airtime 2.5.x, il est conseillé d’installer une Ubuntu 14.04 (trusty) 64 bits. Pour ma part, j’ai choisi de prendre un serveur chez Scaleway, à 3 euros par mois c’est très raisonnable. C’est je pense le prix minimum à payer pour avoir une solution complètement indépendante de toute publicité, et pour maîtriser toutes les briques logicielles du streaming.
Attention cependant, cette version d’ubuntu a une version de silan défectueuse : elle se trompe dans le calcul de la durée des morceaux. Il faut donc la remplacer par une version proposée par l’entreprise qui développe airtime :
wget http://apt.sourcefabric.org/pool/main/s/silan/silan_0.3.2~trusty~sfo-1_amd64.deb
dpkg -i silan_0.3.2~trusty~sfo-1_amd64.deb
Une fois la machine installée et ainsi corrigée, on commence donc par cloner la version 2.5.x depuis le github de libretime :
git clone -b archive/airtime/2.5.x https://github.com/LibreTime/libretime.git
Puis on se rend dans le répertoire libretime ainsi créé, et on lance l’installation :
cd libretime
sudo ./install
L’outil d’installation se charge d’installer les paquets manquants, pour rendre fonctionnelle la machine.
Configuration d’airtime
Pour régler correctement airtime, il est nécessaire d’aller dans l’onglet Système, puis de régler le flux de sortie.
Airtime est installé avec icecast, logiciel qui se charge de faire la diffusion du flux vers les auditeurs. Il suffit donc de régler airtime pour qu’il envoie le flux qu’il produit à l’instance d’icecast installée sur le même serveur. Sur la capture d’écran ci-dessus, c’est le panneau droit qui permet de faire cela. On peut d’ailleurs régler plus d’un flux, par exemple pour avoir différentes qualités d’encodage, ou différents formats (mp3, ogg).
Programmation d’airtime
Ensuite, on téléverse des morceaux dans airtime, puis on créé des blocs intelligents, des listes de diffusion, et enfin des émissions dans le calendrier. Et puis on glisse des listes de diffusion dans les émissions, et c’est prêt à jouer ! Pour plus de détails, je vous propose de consulter la documentation que j’avais écrite pour Radio Campus France à ce sujet.
Petits réglages
Si on a oublié d’installer la version corrigée de silan, les titres joués par airtime seront coupés à la moitié de leur durée à chaque diffusion. On peut alors installer la bonne version de silan, puis utiliser airtime-re-silan, un petit script que j’ai écrit pour corriger les durées des titres déjà importés dans airtime…
À suivre…
Vous l’aurez sans doute compris en lisant ce billet, avec une paire de potes on se lance dans la création d’une webradio, pour ne pas tomber dans la dépression post Radio Campus. Affaire à suivre, donc !
Limpide!! :)
Rien compris à tout l’aspect technique mais l’idée d’une webradio super ! (on en avait déjà parlé :) )
J’adhère !
Oleti
Merci JM.
Quelques rappels pour la prochaine installation :
– après l’install #service apache2 reload
– Default web interface : admin/admin (à changer après !)
– Configurer les Flux sortants : /Preference/stream-setting#
[http://sourcefabric.booktype.pro/airtime-23-for-broadcasters/stream-settings/]
– Configurer les flux entrants pour le live (choisir un autre port que celui d’IceCast2)
– Corriger un bug pour pouvoir se connecter au flux entrants Master & Show : https://forum.sourcefabric.org/discussion/17802/cant-connect-to-airtime-for-broadcasting-live/p1
Merci beaucoup pour ces précisions, BobLeMoche !
Ptit problème non résolu, pas de calendrier :
Failed to load Schedule/event-feed-preload [503] quand on ouvre la page du calendrier.
Si quelqu’un a la solution je prends. Un post qui en parle sans donner de solution : https://forum.sourcefabric.org/discussion/16302/running-airtime-on-subdomain/p1
Bonjour, dans le cadre d’une association, je souhaite utiliser airtime mais pour une gestion non web mais diffusion FM. Y a t il un moyen que airtime ne veuille pas chercher une flux mais une sortie physique ? pour ma part, sur mon PC, airtime ne fait sortir aucun son même après config. Seul VLC y arrive…
À Radio Campus Clermont, on utilise airtime pour la diffusion FM. Mais on ne lui fait pas rentrer de flux, c’est lui l’automate, et on prend sa sortie quand le studio n’est pas à l’antenne. Je peux fournir à la demande un schéma du mode de fonctionnement de Radio Campus Clermont.
Je n’ai jamais essayé de lui faire rentrer un son venant d’un logiciel sur le même ordinateur, je ne suis pas certain que cela soit prévu pour.