vendredi 8 septembre 2017

Liquidsoap sur Raspbian comme client source pour Icecast ou Shoutcast


Liquidsoap est un projet porté par le groupe de développeurs Opensource Savonet: http://savonet.sourceforge.net/savonet.html
Liquidsoap est un générateur de flux audio ( source) qui prend un flux audio ( micro, fichier musical etc ...) à son entrée, qui le compresse (encode en mp3, ogg etc ...) et qui l'envoie à un serveur de diffusion Icecast ou Shoutcast.
Chaque flux représente un point de montage différent.

 Procédure d'installation et de paramétrage de Liquidsoap

1) Mettre à jour Raspbian:

sudo apt-get update
sudo apt-get upgrade

2) Installer Opam qui gère les paquets pour OCaml :

sudo apt-get install opam
sudo apt-get install m4

3) Créer un utilisateur 'liquidsoap' ajouté au groupe 'audio' :

Un mot de passe est demandé pour le nouvel utilisateur 'liquidsoap'

sudo adduser liquidsoap
sudo adduser liquidsoap audio

Contrôler à distance un Raspberry Pi 3 sous Raspbian Stretch avec Teamviewer

Autre article en rapport avec le contrôle à distance du Raspberry avec VNC : https://www.informatique-beaujolaise.fr/2016/12/controler-distance-un-raspberry-pi-3.html


Attention, Teamviewer est un logiciel propriétaire, mais qui reste gratuit pour une utilisation non professionnelle.
Il permet à 2 machines de se connecter au serveur TeamViewer maître qui se charge du transfert des informations entre les 2 machines:
Ce qui fait la force de TeamViewer est qu'il utilise les ports standards de communication donc il ne nécessite pas de configuration particulière des routeurs, mais le trafic est sécurisé (clés RSA et chiffrement AES 256 bits) de bout en bout assurant un très bon niveau de sécurité.

Teamiewer  fonctionne sous Linux, Raspbian, Windows, Mac et Android.

Installation de TeamViewer sur Raspberry Pi 3 sous Raspbian Strech ( marche aussi sous Jessie ):

mardi 5 septembre 2017

Créer une WebRadio avec AirTime & SHOUTcast sur Raspberry Pi 3 sous Raspbian Jessie



Cet article fait suite à l'article du 8 novembre 2012 "Comment créer sa WebRadio avec AirTime & SHOUTcast".

Airtime sur un Raspberry Pi est la plus petite station de radio du monde.
Airtime est un programme Opensource de gestion de radio sur internet en mode direct (aussi via ICEcast et ShoutCast) développé par SourceFabric.
Site officiel : https://www.sourcefabric.org/en/airtime/

Airtime permet:
- de gérer plusieurs flux différents: choix du Codec et de la qualité. Un même contenu peut être diffusé par exemple en mp3 et OGG Vobis,
- de gérer les rôles des utilisateurs,
- une utilisation facile grâce à une interface simplifiée avec gestion du calendrier de diffusion , playlist, etc ...
- le support des formats FLAC,WAV, AAC,MP3,
- le choix de l'entrée du flux: direct (micro) , playlist, re-diffusion d'un stream ami etc..
- l'upload automatique sur SoundCloud,
- la diffusion en plusieurs bandes passantes vers des serveurs relais Icecast ou Shoutcast,
- l'affichage des informations (Json) via les widgets sur des sites tiers.
- la localisation en 11 langues.


Avantages d'AirTime sur Raspberry Pi 3:

- Taille réduite de Raspberry Pi
- Silence absolu de fonctionnement du Rasberry Pi
- Consommation électrique minimum : 5V, 2,5A
- Le Raspberry Pi 3 embarque la Wifi, en natif, d'où le choix d'utilisation en Wifi ou RJ45.
- Possibilité de prise en main à distance si le RasPi est headless ( sans ecrann et clavier ) via Vnc, Xrdp ou Teamviewer  comme expliqué dans l'article "Contrôler à distance un Raspberry Pi 3 sous Raspbian Jessie avec VNC."
- Puissance du RaspPi 3 model B suffisante  pour faire tourner confortablement Raspbian Jessie et AirTime, l'utilisation du processeur ne dépasse jamais beaucoup plus de 30%, toutefois le Raspberry devra être entièrement dédié à cette tâche sous peine de saccades de la transmission  :

    Processeur ARMv7 Broadcom BCM2837 – 4 Cœurs – 64 bits
    Fréquence d’horloge de 1.2Ghz (+33% par rapport au Pi 2)
    Port Ethernet 10/100
    1GB RAM (toujours)
    WiFi intégré à la carte 802.11 b/g/n (BCM43438)
    Bluetooth Low Energy intégré à la carte (BCM43438)
    HDMI 1.3a

- Airtime, maintenu par SourceFabric, est Opensource et s'appuie sur des logiciels libres et solides : PHP (pear, amqplib, soundcloud php api , propel), Jquery, PostGrSql, mutagen, liquidsoap.
Airtime peut tourner sans trop de problèmes sous Debian, Rasbian et Ubuntu.

- Cout réduit du Raspberry Pi 3 : environ 30€

Inconvénients:

- Risque d'instabilités du RaspPi dues le plus souvent à une alimentation insuffisante 5V, 2.5A
- Attention aux traitement de son, particulièrement l'encodage en MP3 qui a tendances à être très gourmand en ressource et cela pourrait interrompre / saccader le stream.  Le moins gourmand en ressources processeur semblerait être le format FLAC ...mais ce format consomme beaucoup de bande passante.
- Le projet Opensource d'Airtime est un peu délaissé, et donc plus très à jour, ce qui implique quelques ajustements techniques lors de l'installation. D'autre part, Airtime nécessite une ancienne version de Raspbian : "Rasbian Jessie".

Principe du streaming audio via un serveur relai SHOUTcast ( ou ICEcast ) :