====== Personnaliser la webradio studiobox ====== La solution de Webradio des CEMEA est issue du projet Studiobox (développé par [[http://logicielslibres.dane.ac-versailles.fr/spip.php?article270|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 [[https://git.backbone.education/ggekiere/studiobox/tree/master|celui de Studiobox]]). Nous l'avons cloné et modifié. Le dépot Git utilisé : [[https://framagit.org/cemea/webradio|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" ([[https://live-team.pages.debian.net/live-manual/html/live-manual/index.en.html|voir documentation]]) (d'autres outils existent aussi pour la création d'ISO comme [[https://vmdb2.liw.fi/|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 [[https://etcher.io/|Etcher]], soit utiliser la virtualisation avec [[https://www.virtualbox.org/|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 ===== * [[https://p-node.org/|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. * [[.:webradiosazuracast|Projet de serveur Azuracast]] : Webradios.cemea.org