Table des matières

Serveur Webradio V2 Azuracast

Azuracast est un projet libre serveur de webradio (un unique développeur) avec des fonctionnalités très intéressantes :


Attention, ce projet est annoncé en version béta et recommande des mises à jour régulières (Proxmox !). Version 0.10.2 en juin 2020.

Pré-requis

Installation

mkdir -p /var/azuracast
cd /var/azuracast

curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/master/docker.sh> docker.sh
chmod a+x docker.sh
./docker.sh install

Lancement

Se rendre sur l'adresse IP du serveur pour créer le compte super-administrateur

Mise à jour - backup - restore

Le script docker.sh permet de faire tout ça de manière simple…

cd /var/azuracast
./docker.sh update-self
./docker.sh update
./docker.sh backup path-to-backup.zip
./docker.sh backup --exclude-media path-to-backup.zip
./docker.sh restore path-to-backup.zip

Configuration

Les paramètres de configuration se trouvent dans le fichier azuracast.env

Déploiement d'une instance de test

Lancement de la procédure d'install sur une VM - Ubuntu-server 18.04 net install - openssh + git + curl + sudo en tant que root.

Choix à l'installation de n'utiliser que les versions stables.

Première connexion à l'adresse IP, création du super-admin : mail + mot de passe.

Message d'erreur à la création sur la base MySQL :

An exception occurred while executing 'INSERT INTO audit_log (timestamp, operation, class, identifier, target_class, target, changes, user) VALUES (?, ?, ?, ?, ?, ?, ?, ?)' with params [1590834974, 1, "Role", "Super administrateur", null, null, "a:1:{s:4:\"name\";a:2:{i:0;N;i:1;s:20:\"Super administrateur\";}}", null]: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'azuracast.audit_log' doesn't exist
AbstractMySQLDriver.php : 42

Lancement d'une mise à jour :

./docker.sh update-self
./docker.sh update

Retour sur l'interface d'admin :

  1. Création du super-admin : ça marche !
  2. Création d'une webradio initiale : ok Des paramètres sympa comme l'URL de la webradio. Tout est francisé
  3. Paramétrage par défaut de Azuracast : annonce des mises à jour…
  4. Proposition de création d'un premier backup après install, via l'interface web. On peut exclure les médias si besoin. Première sauvegarde : 10 Kb

Utilisation - astuces

La radio créée émet par défaut sur une page publique un son qui tourne en boucle par défaut.

Statistiques

Depuis le menu “Rapports” / “Auditeurs”, on a des stats en direct, et par jour, par jour de la semaine et pour les meilleurs et pires titres.

Diffusion depuis un client Icecast

Techniquement n'importe quel lclient Icecast doit pouvoir difuser en spécififant :

Des clients possibles : https://docs.azuracast.com/en/user-guide/streaming-software

Test depuis un client webradio v1

Il faut sans doute :

A venir.

Test depuis un client webradio v2

1. Les préparations côté serveur :

  1. Se rendre dans l'interface d'admin de la webradio, dans le menu “Comptes des streamers/DJ”
  2. Créer un compte dédié à la webradio : “ + Ajouter Streamer”
  3. Compléter avec un nom simple comme “webradio” ou “diffuseur” (il semblerait que les espaces ne soient pas acceptés pour l'identifiant) + un mot de passe correct.
    Il est recommandé de choisir un nom d'affichage élaboré qui sera visible comme “Diffusion en direct”.
    Il y a un onglet “Planification” pour définir des horaires de diffusion. À voir s'ils sont respectés et si la webradio tourne toute seule en dehors de cette période. En tout cas, une fois la diffusion en direct terminée la playlist programmée repart sans soucis.
  4. Noter les infos importantes sur la droite pour les clients IceCast :
    1. Serveur : webradios.cemea.org, commun à tout le monde
    2. Port : 80xx !!! Il est propre à chaque canal !
    3. Point de montage : “/” à noter.
    4. le nom du streamer créer ci-dessus ainsi que son mot de passe
    5. NB : tester si l'envoi par Shoutcast permet plus d'options comme l'envoi des infos Meta (tags) de la piste sont affichées ???

2. Côté Client webradio V2

Il faut juste créer ou modifier les paramètres d'envoi dans IDJC.

Cliquer sur le menu “Voir” / “Sortie”. Si une entrée existe déjà, la modifier, sinon en créer une :

  1. Déplier le menu “Configuration” pour l'entrée “1”.
  2. Cliquer sur “Nouveau” ou “Modifier”
  3. Entrer les infos suivantes :
    1. Type de serveur : Icecast 2 Maitre
    2. Nom de l'hote : webradios.cemea.org
    3. Numéro du port : 80xx : celui repéré plus haut
    4. Point de montage : “/
    5. Nom utente : nom du streamer
    6. Mot de passe : celui du streamer
    7. Le reste est laissé vide, désactivé ou aucun
  4. Valider
  5. Cliquer sur le bouton “Connecter” en haut. Ie point “1” devrait passer en vert pour vérifier que la connexion passe bien. Attention, lorsque vous lancez la connexion, le flux permanent de diffusion se coupe s'il existait.
  6. Retourner sur l'interface IDJC pour lancer la diffusion de vos pistes ou entrées audio.
  7. Lorsque vous déconnecterez à nouveau la sortie (dans Fichier / Flux / Déconnexion de groupe par exemple, ou dans Voir / sortie / - cocher la case puis Déconnecter), le flux permanent reprendra aussitôt.

Diffusion depuis un compte de streamer DJ

Une fois connecté·e, il est possible de :

Configuration interne

Un retour sur docker ps nous montre que plusieurs instances de docker tournent :

jrcs/letsencrypt-nginx-proxy-companion:latest
jrcs/letsencrypt-nginx-proxy-companion:latest
azuracast/azuracast_nginx_proxy:stable
azuracast/azuracast_web_v2:stable
azuracast/azuracast_radio:stable (certains ports redirigés de 8000 à 8496 : 9000 = limitations du nombre de webradio ?)
azuracast/azuracast_db:stable
azuracast/azuracast_redis:stable
azuracast/azuracast_influxdb:stable

Les médias de chaque webradio sont stockés dans /var/azuracast/stations/nomradios (dans un docker)

À creuser