Créer une webradio

Il existe plein de manières de démar­rer une webra­dio. Cer­taines solu­tions clé en main pol­luent votre flux avec des publi­ci­tés non dési­rées. D’autres solu­tions imposent d’a­voir un ordi­na­teur per­son­nel qui fonc­tionne sans inter­rup­tion à la mai­son. La solu­tion que j’ai com­men­cé à mettre en place n’a pas ces deux incon­vé­nients. Mais com­men­çons par expli­quer ce qu’est une webra­dio, et com­ment ça fonctionne.

Qu’est-ce qu’une webradio ?

Une webra­dio, c’est une radio que l’on écoute grâce au web. Elle est dis­po­nible aux audi­teurs sous forme d’un flux de son, géné­ra­le­ment au for­mat mp3, qui peut être soit lu dans un logi­ciel ou une appli­ca­tion dédiée, soit depuis un site inter­net, soit grâce à un poste de radio inter­net (ou radio wifi, quelque chose qui se démo­cra­tise de plus en plus).

Quand on créé une webra­dio, on doit donc être capable d’en­voyer le flux de son vers le poste de cha­cun des audi­teurs. Cela veut dire que le ser­veur de dif­fu­sion doit avoir une bande pas­sante assez consé­quente, pour pou­voir accueillir tous les audi­teurs, comme l’illustre le sché­ma ci-des­sous. Clai­re­ment, une connexion ADSL ne suf­fit pas, il faut louer les ser­vices d’une entre­prise qui dis­pose de ser­veurs à grande bande passante.

Étapes principales de la diffusion d'une webradio

Le ser­veur de dif­fu­sion reçoit quant à lui le son depuis un mul­ti­plexeur, un outil qui per­met de choi­sir (ou de mélan­ger) les sources : soit on pro­pose un direct depuis un stu­dio, soit on dif­fuse de la musique qui a été pro­gram­mée. Cha­cune de ces trois connexions n’é­tant pas trop gour­mande, on peut alors ins­tal­ler au besoin ces ser­veurs der­rière une connexion nor­male, même ADSL.

La plu­part du temps, sauf pour des rai­sons pra­tiques, on va choi­sir d’ins­tal­ler la par­tie pro­gram­ma­tion, mul­ti­plexage et dif­fu­sion sur le même ordi­na­teur, le même ser­veur phy­sique, ins­tal­lé dans un data­cen­ter. La par­tie prise d’an­tenne en direct se réa­lise géné­ra­le­ment depuis un stu­dio en ville.

Et c’est là qu’in­ter­vient air­time, qui est un logi­ciel pilo­tant liquid­soap, cet outil poly­va­lent qui fabrique un flux de son à par­tir de mul­tiples sources. L’in­ter­face d’air­time per­met de choi­sir les mor­ceaux qui pas­se­ront, et liquid­soap les assemble pour les envoyer ensuite à un logi­ciel de dif­fu­sion, comme ice­cast par exemple.

Une solution à base d’airtime

Il y a deux ans, j’a­vais aidé Radio Cam­pus Cler­mont-Fer­rand à déployer une solu­tion d’au­to­ma­tion avec air­time. Depuis ce temps, l’en­tre­prise à l’o­ri­gine de ce logi­ciel a arrê­té de publier les nou­velles ver­sions sous licence libre… À cette occa­sion, j’a­vais co-signé une lettre à la com­mu­nau­té pour moti­ver l’ar­ri­vée d’un fork, libre­time. Aujourd’­hui, libre­time est encore en ver­sion alpha, aus­si je vous invite for­te­ment à pré­fé­rer pen­dant quelques temps les ver­sions pro­duites du temps d’airtime.

Configuration du système

Pour pou­voir faire fonc­tion­ner sans sur­prise air­time 2.5.x, il est conseillé d’ins­tal­ler une Ubun­tu 14.04 (trus­ty) 64 bits. Pour ma part, j’ai choi­si de prendre un ser­veur chez Sca­le­way, à 3 euros par mois c’est très rai­son­nable. C’est je pense le prix mini­mum à payer pour avoir une solu­tion com­plè­te­ment indé­pen­dante de toute publi­ci­té, et pour maî­tri­ser toutes les briques logi­cielles du streaming.

Atten­tion cepen­dant, cette ver­sion d’u­bun­tu a une ver­sion de silan défec­tueuse : elle se trompe dans le cal­cul de la durée des mor­ceaux. Il faut donc la rem­pla­cer par une ver­sion pro­po­sée par l’en­tre­prise qui déve­loppe 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 ins­tal­lée et ain­si cor­ri­gée, on com­mence donc par clo­ner la ver­sion 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éper­toire libre­time ain­si créé, et on lance l’installation :


cd libretime
sudo ./install

L’ou­til d’ins­tal­la­tion se charge d’ins­tal­ler les paquets man­quants, pour rendre fonc­tion­nelle la machine. 

Configuration d’airtime

Pour régler cor­rec­te­ment air­time, il est néces­saire d’al­ler dans l’on­glet Sys­tème, puis de régler le flux de sortie.

Fenêtre de réglage des flux dans airtime

Air­time est ins­tal­lé avec ice­cast, logi­ciel qui se charge de faire la dif­fu­sion du flux vers les audi­teurs. Il suf­fit donc de régler air­time pour qu’il envoie le flux qu’il pro­duit à l’ins­tance d’i­ce­cast ins­tal­lée sur le même ser­veur. Sur la cap­ture d’é­cran ci-des­sus, c’est le pan­neau droit qui per­met de faire cela. On peut d’ailleurs régler plus d’un flux, par exemple pour avoir dif­fé­rentes qua­li­tés d’en­co­dage, ou dif­fé­rents for­mats (mp3, ogg).

Programmation d’airtime

Ensuite, on télé­verse des mor­ceaux dans air­time, puis on créé des blocs intel­li­gents, des listes de dif­fu­sion, et enfin des émis­sions dans le calen­drier. Et puis on glisse des listes de dif­fu­sion dans les émis­sions, et c’est prêt à jouer ! Pour plus de détails, je vous pro­pose de consul­ter la docu­men­ta­tion que j’a­vais écrite pour Radio Cam­pus France à ce sujet.

Petits réglages

Si on a oublié d’ins­tal­ler la ver­sion cor­ri­gée de silan, les titres joués par air­time seront cou­pés à la moi­tié de leur durée à chaque dif­fu­sion. On peut alors ins­tal­ler la bonne ver­sion de silan, puis uti­li­ser air­time-re-silan, un petit script que j’ai écrit pour cor­ri­ger les durées des titres déjà impor­tés dans airtime…

À suivre…

Vous l’au­rez sans doute com­pris en lisant ce billet, avec une paire de potes on se lance dans la créa­tion d’une webra­dio, pour ne pas tom­ber dans la dépres­sion post Radio Cam­pus. Affaire à suivre, donc !