Intégration de l'API Azuracast dans Discourse

Intégration de l’API AzuraCast dans Discourse

Lien vers AzuraCast https://www.azuracast.com/

Lien vers l’API AzuraCast Swagger UI

Le logiciel AzuraCast est une solution complète open source pour la gestion d’une radio web. Toutes les fonctions sont contrôlées via un navigateur, et même un client de streaming entièrement basé sur le navigateur a été implémenté. L’automatisation radio est en développement constant et certaines fonctionnalités doivent encore être améliorées, mais le logiciel peut déjà être utilisé de manière productive.

La structure sous-jacente d’AzuraCast repose sur des composants éprouvés tout en cherchant à correspondre à l’état actuel de l’art. La plateforme de streaming Icecast (Shoutcast en option) et le langage de script Liquidsoap sont utilisés pour mettre en place la plateforme de streaming ; les flux individuels sont gérés grâce à une application web étendue. Afin de faciliter l’installation sur tous les systèmes, tous les composants sont virtualisés dans un conteneur Docker. La configuration se réduit à quelques commandes en ligne de commande, le reste s’effectue dans le navigateur. AzuraCast devrait donc fonctionner sur tous les systèmes Linux courants. Les plateformes basées sur ARM, telles que le Raspberry Pi, ne sont actuellement pas prises en charge.

Pour plus de diversité à la radio
Le principe de base de la plateforme est la possibilité d’offrir plusieurs stations autonomes au lieu d’une seule station de radio. De cette manière, il est possible d’opérer non seulement un service d’hébergement complet, mais aussi une radio web proposant la couleur musicale adaptée à chaque goût. Chaque station dispose de son propre profil et gère ses propres fichiers musicaux et listes de lecture. De plus, des utilisateurs peuvent être créés et autorisés à diffuser des émissions en direct via le web DJ intégré ou via des logiciels de streaming traditionnels. Des paramètres étendus, des statistiques et d’autres outils d’administration complètent parfaitement l’interface. Nous avons même pensé aux utilisateurs de technologies d’assistance, car l’ensemble de l’interface peut être utilisé très facilement avec des lecteurs d’écran.

Besoin d’amélioration dans le processus de diffusion
La rotation est conçue à l’aide de listes de lecture. Dans l’interface utilisateur, vous ne voyez pas immédiatement les fichiers assignés aux listes, mais uniquement les paramètres et les règles de planification, ce qui pourrait rendre la transition depuis d’autres systèmes d’automatisation radio quelque peu confuse. Lors de la modification d’une liste de lecture, il est déterminé s’il s’agit d’une lecture basée sur des titres ou d’une lecture par URL, c’est-à-dire de contenu externe tel que des messages ou des programmes diffusés. Cependant, les listes de lecture mixtes ne sont pas encore possibles. Par exemple, un conteneur de messages avec un fichier d’ouverture local, des messages livrés via URL et un fichier de clôture local ne serait possible qu’indirectement. Les listes de lecture dans la zone des fichiers musicaux sont remplies de contenu. Des fichiers individuels ou des dossiers complets peuvent être assignés à un nombre illimité de listes de lecture, évitant ainsi le téléchargement multiple de fichiers. De nouveaux contenus peuvent être téléchargés via le navigateur. Avec de grandes quantités de données, un serveur FTP temporaire peut être configuré dans le conteneur Docker, mais cela nécessite une intervention via la ligne de commande.

Le comportement de l’Auto-DJ est défini dans la zone d’administration d’une station. Cela montre que le soi-disant fondu enchaîné, c’est-à-dire les transitions entre les fichiers individuels, offre également une option intelligente qui prend en compte le volume des pistes lors du mixage, mais ne contient pas encore de détection de silence, ce qui rend parfois les transitions entre les titres plutôt saccadées. Il n’existe pas non plus de paramètres de fondu séparés pour différents types de fichiers. Alors que les transitions entre les morceaux de musique peuvent être assez longues, vous souhaitez diffuser des jingles ou des pistes vocales avec peu ou pas de fondu. Il reste donc beaucoup à optimiser ici. Après tout, AzuraCast offre déjà aux utilisateurs expérimentés la possibilité d’injecter leur propre code dans la configuration Liquidsoap.

Conclusion
AzuraCast est en développement constant et est mis à jour presque quotidiennement. Même si le logiciel peut déjà être utilisé de manière productive, les créateurs de radio expérimentés voudront encore attendre certaines fonctionnalités. Mais pour le fait que seul un petit nombre de développeurs principaux dirigent le projet, AzuraCast peut être considéré et dépasse même, à certains égards, des produits commerciaux similaires. Il vaut donc la peine de le surveiller. Grâce à l’installation simple via Docker, un environnement de test pour suivre les progrès peut être configuré rapidement.

Le développement a lieu sur GitHub. L’équipe propose également des composants logiciels individuels à utiliser dans leurs propres projets, notamment une affichage de titres basé sur PHP pour les flux Icecast. Le site web avec les instructions d’installation et les options de support se trouve sur Azuracast.com.

On ne peut qu’espérer qu’AzuraCast ne s’éteigne pas comme Airtime, présenté ici il y a quelques années, et son

1 « J'aime »

L’intégration de l’API avec AzuraCast représente un périmètre de travail assez vaste. Je suppose que le type d’intégration que vous souhaitez avec AzuraCast dans Discourse est un onebox pointant vers une station de radio ?

:arrow_up: Ce qui ne semble pas fonctionner. Un embed onebox devrait pouvoir inclure un petit lecteur audio comme celui-ci dans un sujet Discourse :

Il semble qu’AzuraCast prenne en charge l’intégration :

Pages publiques : AzuraCast inclut des pages publiques intégrables que vous pouvez incorporer dans votre site web existant ou utiliser comme base pour votre propre lecteur personnalisé.

Donc, quelque chose comme ceci devrait être possible, à l’instar de ce que nous avons pour SoundCloud :

5 « J'aime »