Personnaliser la webradio studiobox
La solution de Webradio des CEMEA est issue du projet Studiobox (développé par l'académie de Versailles).
Le code en a été modifié et adapté à nos besoins.
Voici la procédure détaillée de ces modifications.
Récupérer les sources de studiobox
Le code actuel se trouvent dans un dépot public (comme l'était celui de Studiobox). Nous l'avons cloné et modifié.
Le dépot Git utilisé : https://framagit.org/cemea/webradio
Pour le récupérer, vous pouvez :
- soit le télécharger avec le bouton “Download”
- soit le dupliquer sur votre PC dans un dossier qui vous intéresse avec la commande (sous Linux, installer le paquet “git” : sudo apt install git):
git clone https://framagit.org/cemea/webradio
Modifier les sources de studiobox
Une fois le code source récupéré, vous pouvez le modifier. Tout se passe dans le dossier Studiobox3/config. Voici quelques dossiers utiles :
- package-lists / principal.list.chroot : fichier contenant la liste des paquets à installer dans la distribution
- include.chroot / : dossier recopié dans la distribution avec des ajouts manuels (scripts, images grub…). On se retrouve à la racine de la future studiobox.
- includes.chroot / etc / skel / : contenu du dossier recopié dans le home de chaque utilisateur (qui contient .Scripts…)
- include.installer / preseed.cfg : fichier d'options pour l'installation de la distribution et de la version live (dépots, langue…)
- packages.chroot / : dossier contenant des paquets .deb à installer hors dépôts.
- includes.binary / isolinux / : dossier avec fond d'écran de démarrage
- hooks : dossier contenant des scripts lancés pendant la création du live, pour nettoyage ou installation de paquets ou procédures supplémentaires
Les scripts particuliers
Dans le dossier /home/studiobox on trouve quelques fichiers personnalisés (qui viennent de /etc/skel) dont certains servent au lancement des outils principaux de la webradio.
Le dossier . Scripts
Il contient plusieurs scripts importants :
diffrec-LS.bash
C'est lui qui lance avec quelques options la diffusion et enregistrements de la radio :
- diffrec-LS.bash cs : configure la carte son
- diffrec-LS.bash pm : lance l'interface pour définir le point de montage
- diffrec-LS.bash rec : diffuse et enregistre en local
- diffrec-LS.bash internet : diffuse et enregistre sur internet
- etc.
Le dossier .Scripts / config
Il contient les fichiers qui contiendront la configuration de la webradio :
- cs : pour la carte son (normalement : 0,0 pour la première entrée de la première carte son)
- pm : pour le point de montage, contient le nom du canal, le mot de passe
Les menus (visibles par clic-droit)
Ils sont générés à partir de fichiers .xml qu'on trouve dans le dossier .config / openbox. : menu.xml, menuinstallation.xml, menupersistence.xml
Lors de la modification de certaines options, ils sont remplacés par la version 2 de ces fichiers : menu2.xml, menuinstall2.xml, menupersistence2.xml
Les possibles modifications sont dues par exemple à l'installation du paquet “Airtime”, l'installation de la clef ou l'ajout de la persistance.
Les dossiers
Les dossiers importants dans le “home” :
- Documents : ils contiennent la documentation : ne pas le changer, les menus y font référence.
- Enregistrements : C'est là que seront stockés les enregistrements en live.
- Musique : Si Airtime est installé, c'est là qu'il va chercher la musique à diffuser.
- Images : contient le fond d'écran.
Recréer la distribution
Pré-requis : sous Linux, installer le paquet “live-build” (voir documentation) (d'autres outils existent aussi pour la création d'ISO comme vmdb2 pour créer des iso à partir de fichiers YAML):
apt install live-build
Une fois ces dossiers ou fichier modifiés, placez-vous dans le dossier Studiobox3 (ou un autre)à (là où il y a config) et lancez la commande :
lb build # (lb pour live-build)
Elle va suivre les instructions contenus dans config/, preseed.cfg et télécharger les paquets utiles et créer un fichier “iso” (studiobox-amd64-hybrid.iso) dans le dossier. Il faut patienter selon le débit de votre connexion et la vitsse de votre PC : 45 minutes minimum.
Si vous deviez modifier les fichiers de configuration, il faudrait faire le ménage en lançant :
lb clean
avant de relancer
lb build
PS : il est possible et pratique de procéder à la création de cette nouvelle iso dans une studiobox installée pour avoir les outils utiles et un environnement similaire.
Tester la distribution
Pour tester la distribution, vous pouvez soit l'installer sur une clef USB avec Etcher, soit utiliser la virtualisation avec Virtualbox pour lancer l'ISO comme live-CD/USB.
Aspects techniques
- Le flux audio local est transféré sur le serveur via la librairie liquidsoap
- Le serveur audio qui diffuse est “icecast” à installer (paquet Debian : icecast2). Fichier de config à venir
- ll est nécessaire de définir un point de montage différent par flux audio
Fichier de config icecast :
C'est l'utilisateur source qui est utilisé pour diffuser le flux.
Le serveur icecast comprend chaque flux avec les options suivantes :
webradio.mp3 / webradio
port 8000
Projets similaires de webradio
- Pi-node avec un raspberry-pi et émission locale sur réseau locale, sur serveur distant et en FM en courte portée
Serveur de Webradio
Le serveur actuel de Webradio est configuré à partir d'un serveur classique Icecast avec un fichier de configuration manuel.
Une alternative plus récente est possible avec la solution Azuracast déjà testée.
- Projet de serveur Azuracast : Webradios.cemea.org