technique:webradio_dev

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.

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

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

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.

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

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 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.

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.

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.

  • 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

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

  • 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.

  • technique/webradio_dev.txt
  • Dernière modification : 2024/04/18 13:41
  • de guillaumev