Dans l’article précédent, j’ai détaillé comment transformer un Raspberry Pi en lecteur Spotify. Mais tout le monde n’utilise pas Spotify, Deezer, Qobuz ou Google Music. Voici comment installer un serveur de streaming pour vos mp3 sur un Raspberry Pi.

Matériel nécessaire

Installation

Comme bien souvent, on va partir d’un Raspberry Pi sur lequel est déjà installé Raspbian Lite et auquel je me connecte en SSH avec Putty.

On va commencer par installer NodeJS et git :

curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash -
sudo apt install -y nodejs git

Puis nous installons mStream comme ceci :

git clone https://github.com/IrosTheBeggar/mStream.git
cd mStream
npm install --only=production
sudo npm link

On peut ensuite démarrer mStream avec la commande suivante :

mstream

Votre serveur de streaming est maintenant accessible depuis votre PC ou votre smartphone à l’adresse de votre Raspberry Pi suivi du port 3000. Exemple : http://192.168.1.179:3000/

Sauf qu’il n’y a aucune musique présente… Revenons donc au terminal dans lequel on a lancé mStream. Faites un petit CTRL+C pour tuer le serveur. Puis créez un dossier musique dans /home/pi :

mkdir /home/pi/musique

Copiez ensuite votre musique dans ce dossier avec WinSCP.

Ensuite, on va relancer mStream en le faisant pointer sur notre dossier musique :

mstream -m /home/pi/musique/

Et on retourne à l’adresse précédente sur son PC (ou son smartphone) : http://192.168.1.xxx:3000/

mstream sur Raspberry Pi

Joie ! Tout fonctionne ! Ou pas… Si votre navigateur ne trouve pas le serveur mStream, une petite configuration est nécessaire.

Tapez mstream -w pour lancer le Wizard. Vous devrez naviguer dans le Wizard avec les flèches et la touche Entrée.

Allez dans Server Options :

Puis allez dans Address :

Entrez l’adresse IP 0.0.0.0 et appuyez sur entrer

Revenez en arrière avec Go Back :

Terminez avec Save and Exit :

Essayez à nouveau de démarrer mStream avec l’option indiquée par le Wizard :

mstream -j /home/pi/mStream/save/default.json
Merci le Wizard

Normalement, le serveur mstream est maintenant accessible depuis votre pc ou votre smartphone à l’adresse de votre Pi sur le port 3000. Exemple : http://192.168.1.xxx:3000/

Pour finir, on va faire en sorte que le serveur se lance seul au démarrage du Raspberry Pi. On crée un petit script qui contiendra nos réglages de répertoire de musique :

echo 'mstream -m /home/pi/musique/' > /home/pi/mstream.sh
ATTENTION : Si vous avez utilisé le Wizard pour rendre mstream accessible, utilisez cette commande :
echo 'mstream -m /home/pi/musique/ -j /home/pi/mStream/save/default.json' > /home/pi/mstream.sh 

chmod +x /home/pi/mstream.sh

Ensuite, on édite le fichier /etc/rc.local pour le lancement automatique :

sudo nano /etc/rc.local

Et on ajoute la ligne suivante avant le exit(0) :

bash /home/pi/mstream.sh

On sauvegarde le fichier rc.local avec CTRL+x, puis Y et entrée pour confirmer le nom de fichier.

Un petit reboot (sudo reboot) pour vérifier que mstream se lance bien au démarrage… Et normalement, si vous avez bien suivi les instructions, vous pourrez écouter votre musique à l’adresse précédente (http://192.168.1.179:3000/ dans mon cas).

Bonus : Si vous ajoutez winamp dans l’URL (http://192.168.1.179:3000/winamp), le lecteur aura le look de ce bon vieux media player !!

Enfin, une petite capture d’écran du rendu sur mobile :

C’est tout pour ce tuto. Vous savez maintenant faire un serveur de streaming avec un Raspberry Pi. Si vous avez des questions, n’hésitez pas à les poser en commentaire. Je réponds généralement rapidement à toutes les demandes d’aide.


18 commentaires

Poupou · 15 octobre 2019 à 3 h 42 min

Bonjour, très interessant et une solution qui semble très simple, serait il possible de faire jouer sa playlist par un Google home ?
En utilisant une commande vocale au Google home qui pourrait aller chercher la musique sur ce serveur ?
Merci de votre retour …
Cordialement

POUPOU · 25 octobre 2019 à 21 h 14 min

Bonjour
je suis en train de suivre votre tuto et je bloque dès la commande
npm install –only=production qui me renvoie la réponse -bash: npm: command not found
pourriez vous m’aider ?

    makerhelp · 26 octobre 2019 à 8 h 32 min

    Bonjour, si vous voyez le message « npm: command not found », c’est que nodejs n’est pas installé. Vous avez raté ces 2 lignes de la 1ère étape du tuto :
    curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
    sudo apt install -y nodejs git

    npm est le gestionnaire de paquet de Node JS (Node Package Manager). Pour vérifier qu’il est bien installé, tapez
    npm --version
    et npm doit normalement vous afficher son numéro de version.

POUPOU · 26 octobre 2019 à 11 h 53 min

Bonjour, merci pour votre suivi … je n’avais pas zappé les 2 premières lignes mais effectivement pas de réponse à la commande npm –version.
j’ai donc lu à la fin de la commande curl et j’ai fait sudo apt install mais sans git à la fin et cela a bien fonctionné.

petite question est il possible de faire en sorte que mStream puisse lire des musique se trouvant sur un chemin réseau ? et si oui comment le configurer ?

vd · 2 novembre 2019 à 19 h 35 min

En début de tuto, Il manque la commande suivante:
sudo apt install -y curl

Pour le noobs

ayato · 18 novembre 2020 à 1 h 59 min

Bonjour,

Je n’arrive pas à accéder à la page du lecteur depuis mon pc
Ai-je loupé quelque chose ?

    makerhelp · 18 novembre 2020 à 8 h 08 min

    Bonjour
    Première chose à vérifier : L’IP de votre Raspberry Pi. Est-ce que vous appelez la bonne IP depuis votre PC ? Si vous avez un doute, jetez un oeil à cet article. Sinon, réessayez les différentes étapes et copier-coller les éventuelles erreurs dans un commentaire.
    Je vais vérifier de mon côté si ce tuto fonctionne toujours ou si les évolutions de mStream ont entraîné des changements.

    makerhelp · 23 novembre 2020 à 18 h 11 min

    J’ai trouvé la solution et j’ai mis à jour le tuto. Regardez la partie sur le Wizard puis modifier votre fichier /home/pi/mstream.sh pour qu’il prenne en compte le fichier de configuration du Wizard. Tout devrait marcher après ça et un petit reboot.

Thomas · 22 novembre 2020 à 13 h 20 min

Bonjour,
merci pour ce tuto, malheureusement impossible d »acceder a l »interface web depuis une autre machine du reseau local, « l »adresse IP n »autorise pas la connexion » pourtant c »est bien la bonne IP. Jai teste d »installer le serveur sur d »autres machine pas de probleme pour y acceder mais avec mon raspberry pi 4 impossible meme avec Ubuntu a la place de raspbian.

    makerhelp · 23 novembre 2020 à 9 h 08 min

    Bonjour, je vais faire un test de mon côté sur une installation toute fraiche de Raspbian sur Raspberry Pi 4 et je reviens vers vous.

    makerhelp · 23 novembre 2020 à 18 h 10 min

    J’ai trouvé la solution et j’ai mis à jour le tuto. Regardez la partie sur le Wizard puis modifier votre fichier /home/pi/mstream.sh pour qu’il prenne en compte le fichier de configuration du Wizard. Tout devrait marcher après ça et un petit reboot.

jm · 3 décembre 2020 à 14 h 01 min

bjr, j’ai installé sur un raspberry mstream, (wifi sur mon reseau), de mon pc (wifi) pas de probleme j’accede bien avec l’url, mais sur mon tel android l’url ne marche pas, une idée ?

    makerhelp · 3 décembre 2020 à 15 h 08 min

    Bonjour, le tel android est-il relié au même WIFI que le raspberry ?

      jm · 3 décembre 2020 à 15 h 45 min

      oui

      makerhelp · 3 décembre 2020 à 16 h 00 min

      Comme URL, vous prenez l’IP ou le hostname du Raspberry ? Si c’est l’IP, je n’ai plus d’idée. Si c’est le hostname, essayez avec « .local ». Exemple : http://raspberrypi.local:3000/

      jm · 3 décembre 2020 à 16 h 19 min

      je mets l’ip…

      makerhelp · 3 décembre 2020 à 16 h 23 min

      Alors là, si le serveur est accessible depuis un PC en WIFI et pas depuis un téléphone avec le même WIFI et si ce n’est pas un problème de résolution de nom de domaine, désolé je ne vois pas…

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *