Créer une webradio avec Airtime

De Centre de Ressources Numériques - Labomedia
Aller à : navigation, rechercher

Comment créer une web radio sur un réseau local ou Internet ?

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

Screenshot540-Now playing 250.png

Installation

  • Installation d'une debian jessie 8.5 stable

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/ jessie main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ jessie main contrib non-free

deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free

# jessie-updates, previously known as 'volatile'
deb http://ftp.fr.debian.org/debian/ jessie-updates main contrib non-free
deb-src 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
cd Téléchargements/
cd airtime/

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)

Airtimelog.png

Utiliser Airtime

Documentation générale

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

Créer une playlist "intelligente"

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.

Smartblock world.png


Ajouter de la musique via le répertoire de partage

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/"

Rescan repdepartage.png


Faire un direct avec Mixxx

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

Mixxx.png

Configurer Mixxx pour envoyer directement dans Airtime en tant que Mastersource

Voir la configuration ci-dessous : adapter l'adresse IP en fonction de la configuration locale

Mixxx configlive.png

Coté Airtime, la configuration ressemble à ça :

Airtime-configlive.png

Autres cas de figure

Utiliser Butt pour diffuser depuis un PC

Utiliser son téléphone pour diffuser

Sur Android, on peut utiliser l'app BroadcastMySelf

user cases à developper

  • quels usages envisagés?


Configuration ad hoc

topologie du réseau

  • IP fixe du serveur: 172.16.0.44
  • Range d'adresses fournies par le DHCP: 60-255
  • Range d'adresses réservées: 50-59
  • Sur le bureau , ajout d'un script proxy.sh permettant de configurer automagiquement le proxy des applis:
#!/bin/bash
export http_proxy="http://172.16.0.20:3128/";
  • ajout d'un fichier /etc/apt/apt.conf.d/01proxy contenant la ligne suivante:
Acquire::http::Proxy "http://172.16.0.20:3128/";
  • Dans le navigateur, configurer la découverte automatique du proxy

Utilitaires

  • script bash redemarrage.sh sur bureau pour relancer les services au cas où:
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
  • Sur le bureau , ajout d'un script proxy.sh permettant de configurer automagiquement le proxy des applis:
#!/bin/bash
export http_proxy="http://172.16.0.20:3128/";

Ce dernier script n'a pas l'air de fonctionner avec VLC par exemple.

Sauvegarde

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".

WP 20170202 11 25 34 Pro-1.jpg

ToDoux

Questions

Workflow

Complément de configurations

  • retagguer les mp3 en ligne de commande ?
* https://packages.debian.org/jessie/picard a tester en client graphique
  • émission entrée carte son ?
  • documenter appli Android BroadcastMyself pour faire un direct avec un téléphone portable / tablette
  • voir appli Butt pour streaming depuis un ordi https://sourceforge.net/projects/butt/
  • bug actuelle sur la préécoute
Media Monitor 	Airtime media-monitor service 	Check that the airtime-media-monitor service is installed correctly in /etc/init,  and ensure that it's running with  initctl list | grep airtime-media-monitor
If not, try sudo service airtime-media-monitor start

La commande mentionnée ne marche pas! (obsolète?)

Troubleshouting et tests

Configuration proxy sous XFCE