Outils pour utilisateurs

Outils du site


informatique:libretime:auto-dj

Ceci est une ancienne révision du document !


Auto-DJ

L'auto-dj est le “logiciel” qui définit la diffusion de la musique pendant tous les “trous” de la grille (lorsqu'aucune émission, en direct ou pré-enregistrée, n'est diffusée).

Notre auto-dj est construit avec bout de script Liquidsoap qui est inséré au milieu du script Liquidsoap de libretime. Un deuxième script Liquidsoap est nécessaire afin de récupérer en entrée un flux audio `http` provenant de Libretime pour le fournir en sortie sur la carte son de l'ordinateur (en direction de la table de mixage).

Ce deuxième script est nécessaire car Libretime est lancé en tant que “daemon system” (voir section Daemon plus bas) et dans ce cas n'a pas pas les bons droits pour accéder correctement à la carte son. Le deuxième script liquidsoap est donc lancé lui en tant que “daemon user” (voir section Daemon plus bas) afin de pouvoir envoyer le flux correctement sur la carte son. Cette configuration est un bidouillage qui pallie à un défaut de Libretime.

Sript Liquidsoap dans Libretime

Le script liquidsoap inséré dans Libretime est documenté via des commentaires au sein même du script pour expliquer le fonctionnement de chaque section.

Le script en question est le fichier `ls_script.liq` situé dans `/opt/libretime/lib/python3.8/site-packages/libretime_playout/liquidsoap/1.4/ls_script.liq`.

Extrait inséré dans le script Liquidsoap - màj 10/01/2025 (cliquer pour afficher le script)

Remarque : Les deux premières sections du script sont spéciales. Elles ont pour but d'exécuter la création (lors du lancement du script) ou la mise à jour (chaque jour entre 23h et 23h50) du fichier `playlist_autodj.txt`.

L'objectif est de générer (selon des règles précisées ici [LIEN À AJOUTER]) un fichier qui contient une playlist (liste de titres) qui dure au moins 24h.

La création du fichier playlist n'est pas faite directement dans le script liquidsoap. Elle est effectuée par un script écrit en python (pour des raisons de commodités, car le language liquidsoap est un peu particulier).

Le script liquidsoap lance donc le script python `create_playlist.py` qui lors de son exécution va générer le fichier `playlist_autodj.txt`.

Deuxième script Liquidsoap

Le deuxième script liquidsoap est très simple, il prend un flux audio au format http (fournit par Libretime) pour le fournir à la carte son (pour l'envoyer à la table de mixage).

Script liquidsoap secondaire - màj 10/01/2025 (cliquer pour afficher le script)

Daemon : scripts qui fonctionnent en arrière-plan

Libretime est configuré comme un “daemon” system, ce qui veut dire que c'est un script qui fonctionne en arrière plan et qui se lance automatiquement au démarrage de l'ordinateur, et qu'il est lancé par le système et non par un utilisateur.

Malheureusement un bug de Libretime nous empêche de sortir correctement le flux audio sur la carte son, justement car c'est un daemon système.

Nous utilisons donc un deuxième script liquidsoap afin de pallier à ce problème. Ce deuxième script est aussi un daemon (script qui fonctionne en arrière-plan) mais lancé par l'utilisateur, ce qui permet de fonctionner correctement avec la carte son. L'inconvénient est que ce script ne se relance pas tout seul au démarrage de l'ordinateur. Une solution est en cours de recherche pour corriger ce problème.

Afin que le script `radiodragon.liq` (voir plus haut) fonctionne comme un daemon, il faut créer et configurer correctement le script `radiodragon-run.liq` ci-dessous.

Script pour faire un daemon liquidsoap - màj 10/01/2025 (cliquer pour afficher le script)

Règles de rotation de la playlist

À DOCUMENTER

informatique/libretime/auto-dj.1736540934.txt.gz · Dernière modification : de raphm