Cette page documente la mise en place d'une application web “Airtime” qui permet de gérer une grille des programmes à partir de fichiers audio, de stream audio existants et de “lives” eux-mêmes sous la forme de stream audio ou alors issus d'un studio traditionnel branché sur l'entrée audio du serveur
adaptation: fork LibreTime sous Ubuntu 16.04 LTS because sous debian pas d'import mp3 ni ogg et bug de l'interface web incorrigible.
proxy contournement via /etc/environnment
ftp_proxy="[[http://172.16.0.20:3128/| http://172.16.0.20:3128/]] " http_proxy="[[http://172.16.0.20:3128/| http://172.16.0.20:3128/]] " https_proxy="[[http://172.16.0.20:3128/| http://172.16.0.20:3128/]] " no_proxy="localhost,127.0.0.1,localaddress" ''
Pour contourner l'erreur git
git -c http.sslVerify=false clone [[https://github.com/LibreTime/libretime| https://github.com/LibreTime/libretime]]
Fixer les locales avant d'installer
locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory LANG=fr_FR.UTF-8 LANGUAGE= LC_CTYPE="fr_FR.UTF-8" LC_NUMERIC="fr_FR.UTF-8" LC_TIME="fr_FR.UTF-8"
Pour corriger cela :
locale-gen "en_CA.UTF-8" export LC_ALL="en_CA.UTF-8" export LANG="en_CA.UTF-8"
Il a fallu modifier ce fichier pour que l'install marche (régler l'erreur : UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 4258: ordinal not in range(128))
nano /usr/lib/python2.7/email/parser.py
Y ajouter :
# encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8')
Une fois la distribution installée, quelques compléments
su nano /etc/apt/sources.list
ajouter contrib non-free
deb [[http://ftp.fr.debian.org/debian/| http://ftp.fr.debian.org/debian/]] jessie main contrib non-free deb-src [[http://ftp.fr.debian.org/debian/| http://ftp.fr.debian.org/debian/]] jessie main contrib non-free
deb [[http://security.debian.org/| http://security.debian.org/]] jessie/updates main contrib non-free deb-src [[http://security.debian.org/| http://security.debian.org/]] jessie/updates main contrib non-free
# jessie-updates, previously known as 'volatile' deb [[http://ftp.fr.debian.org/debian/| http://ftp.fr.debian.org/debian/]] jessie-updates main contrib non-free deb-src [[http://ftp.fr.debian.org/debian/| http://ftp.fr.debian.org/debian/]] jessie-updates main contrib non-free
apt-get update lspci apt-get install sudo git adduser radio sudo
se relogguer
git clone [[https://github.com/sourcefabric/airtime.git| https://github.com/sourcefabric/airtime.git]]\\ cd Téléchargements/ cd airtime/
Pour Debian 8 : Attention ! pour que ça marche (que le calendrier apparaisse), il faut faire la modif suivante :
nano airtime/installer/lib/requirements-debian-jessie.apt
et remplacer postgresql et postgresql-client par :
postgresql-9.4 postgresql-client-9.4
ensuite, lancer l'install
sudo ./install
et suivre les instructions, soit se rendre à la racine de son serveur avec un navigateur avec une adresse du type http://192.168.0.109 (adapter en fonction de l'ip du serveur)
Une fois les étapes de config finalisées et les services relancés, on peut se connecter au Airtime : (admin/admin)
Pour se servir d'Airtime et de la web radio, la suite pas encore documentée, voir pour l'instant par là : http://sourcefabric.booktype.pro/airtime-25-for-broadcasters/on-air-in-60-seconds/
Pour se connecter au serveur :http://radio.local
log : admin pwd admin log : radio pwd radio
Une playlist intelligente (Smart Block) est une playlist qui se nourrit des morceaux de la bibliothèque, l'exemple ci-dessous montre comment constituer une playlist qui va dynamiquement se constituer à partir de tous les titres dont le “Genre” est “World” : si l'on replace cette playlist à différents moments, elle se reconstituera à partir d'une nouvelle sélection aléatoire de world music à chaque fois.
La machine sur laquelle Airtime est installée dispose d'un répertoire partagé (samba) appelé “Partage_audio” (situé dans /home/radio/Partage_audio/). Airtime scanne ce répertoire et augmente la “Library” avec les morceaux qu'il y trouve.
Il est ainsi possible depuis un autre ordinateur sur le réseau local d'ajouter des morceaux de musique ou sons via le partage réseau.
Il peut être utile de relancer le scan du répertoire en cliquant sur la flèche circulaire située après “/home/radio/Partage_audio/”
On peut tout à fait réaliser un direct avec le logiciel libre Mixxx qui permet de mélanger des morceaux de musique avec un ou plusieurs micro selon la carte son de l'ordinateur qui sert pour le live
Une fois la configuration faite, dans Mixxx > Menu Options > “Activer la diffusion en direct (Broadcast)“ et jouer un morceau de musique
Sur Android, on peut utiliser l'app BroadcastMySelf
AUDIODEV=hw:1,0 play -G --buffer 65536 -t ogg [[http://radio.domaine:8000/airtime_128.ogg| http://radio.domaine:8000/airtime_128.ogg]] gain -3 highpass 120
#!/bin/bash export http_proxy="[[http://172.16.0.20:3128/| http://172.16.0.20:3128/]] ";
Acquire::[[http::Proxy| http::Proxy]] "[[http://172.16.0.20:3128/| http://172.16.0.20:3128/]] ";
sudo invoke-rc.d airtime-liquidsoap stop sudo invoke-rc.d airtime-liquidsoap start sudo invoke-rc.d airtime-playout stop sudo invoke-rc.d airtime-playout start sudo invoke-rc.d airtime-media-monitor stop sudo invoke-rc.d airtime-media-monitor start sudo invoke-rc.d apache2 stop sudo invoke-rc.d apache2 start sudo invoke-rc.d rabbitmq-server stop sudo invoke-rc.d rabbitmq-server start sudo invoke-rc.d icecast2 restart
#!/bin/bash export http_proxy="[[http://172.16.0.20:3128/| http://172.16.0.20:3128/]] ";
Ce dernier script n'a pas l'air de fonctionner avec VLC par exemple.
En cas de crash, on peut restaurer le système dans son état initial via le logiciel Clonezilla en démarrant depuis la clé USB fournie. L'image disque à restaurer doit être stockée sur un disque externe. Il suffit de suivre les instructions de Clone zilla pour faire la restauration “depuis une image vers une partition disque”.