J’ai installé Volumio sur mon Raspberry pi avec une carte HifiBerry.
Je voudrai sonoriser ma maison: avoir plusieurs ordinateurs/amplis jouant la même musique en même temps.
Volumio ne permet que de diffuser du son sur le raspberry, il me faut donc une solution de streaming audio.
Après quelques recherches il semble qu’Icecast soit une solution pour moi.
Installation d’IceCast
root@volumio:~# apt-get update root@volumio:~# apt-get install icecast2 ... Selecting previously unselected package icecast2. (Reading database ... 36175 files and directories currently installed.) Unpacking icecast2 (from .../icecast2_2.4.0-1.1_armhf.deb) ... Setting up icecast2 (2.4.0-1.1) ... locale: Cannot set LC_ALL to default locale: No such file or directory Configuring icecast2.. Done Configuring icecast2.. [FAIL] Starting streaming media server: icecast2[....] icecast2 daemon is disabled - read /etc/default/icecast2 ... failed! . ok localepurge: Disk space freed in /usr/share/locale: 0 KiB localepurge: Disk space freed in /usr/share/man: 0 KiB Total disk space freed by localepurge: 0 KiB
Configuration d’IceCast
Fichier /etc/default/icecast2
CONFIGFILE="/etc/icecast2/icecast.xml" USERID=icecast2 GROUPID=icecast ENABLE=true
Fichier /etc/icecast2/icecast.xml (extrait)
<authentication> <source-password>volumio</source-password> <relay-password>volumio</relay-password> <admin-user>volumio</admin-user> <admin-password>volumio</admin-password> </authentication>
Configuration de Music Player Deamon (MPD)
Maintenant il faut dire à MPD d’envoyer la musique vers IceCast.
Fichier /etc/mpd.conf (lignes à rajouter)
audio_output { type "shout" encoding "ogg" name "my cool stream" host "localhost" port "8000" mount "/mpd.ogg" password "volumio" bitrate "64" format "44100:16:1" user "source" }
Redémarrage des services
root@volumio:~# /etc/init.d/mpd restart root@volumio:~# /etc/init.d/icecast2 start
Conclusion
Tout fonctionne correctement par contre il y a un décalage entre le son du RaspBerry Pi et le client IceCast, décalage de 2 ou 3 secondes. Cette solution n’est donc pas satisfaisante.