Madsonic: installer le serveur de diffusion de musique sur un Raspberry Pi

Dans ce tutoriel, je vais vous expliquer comment installer un serveur de streaming musical (madsonique) dans la Raspberry Pi avec Arc Linux ARM.
Pour voir un didacticiel sur l'installation Arch Linux sur un Raspberry Pi, vous pouvez regarder ceci poster.

Il est recommandé de ne pas installer d'environnement graphique sur le Raspberry Pi, car il utilise beaucoup de mémoire. Au lieu de cela, il est préférable de toujours travailler en utilisant une connexion ssh.

Les principales caractéristiques de madsonic sont les suivantes:

  • Interface Web intuitive
  • Prend en charge le transcodage vers divers formats (ex. FLAC> mp3)
  • Il a des clients pour Android et iOS

Limiter la RAM pour la création de GPU et de zone de swap (SWAP)

Les étapes suivantes sont facultatives, mais je recommande de les faire pour éviter que le Raspberry ne manque de RAM.

Le serveur madsonic fonctionne sous Java, donc sur un Raspberry Pi de 256 Mo de RAM, il utilise environ 50% de la RAM. Dans ce cas, je recommande de créer un zone d'échange (swap) pour empêcher le Raspberry Pi de manquer de mémoire.

1. Nous créons un fichier qui servira de zone d'échange de fichiers et lui attribuons un espace de 512 Mo

# fallocate -l 512M / fichier d'échange

2. Nous attribuons des autorisations de lecture et d'écriture au fichier.

# chmod 600 / fichier d'échange

3. Nous formons comme swap

# mkswap / swapfile

3. Nous activons le swap

# swapon / swapfile

4. Nous ajoutons la ligne suivante au fichier / etc / fstab pour monter le swap automatiquement.

/ swapfile aucun échange par défaut 0 0

5. Nous modifions le fichier /etc/sysctl.d/99-sysctl.conf de sorte que l'écriture dans le swap ne se fait qu'au cas où nous aurions peu de RAM disponible. Nous ajoutons la ligne suivante

vm.swappiness = 10

6. Utilisation de la commande gratuit -h Nous vérifions la quantité de RAM dont nous disposons.
RAM en streaming


7. Nous modifions le fichier /boot/config.txt selon le modèle de Raspberry Pi que nous avons, pour limiter la quantité de RAM allouée aux graphiques.

FAIS ATTENTION! Si nous mettons trop peu de RAM pour le GPU, le Raspberry ne démarrera pas et nous devrons introduire la carte SD sur un ordinateur pour réparer le fichier /boot/config.txt

Nous allouerons 64 Mo de RAM pour les graphiques.

  • Pour le Raspberry Pi modèle A (avec 256 Mo de RAM) nous modifions la ligne gpu_mem_256 = 128 par gpu_mem_256 = 64
  • Pour le Raspberry Pi modèle B (avec 512 Mo de RAM) nous modifions la ligne gpu_mem_512 = 316 par gpu_mem_512 = 64

Overclocking (facultatif)

Je recommande d'utiliser une source de refroidissement pour éviter que la framboise ne surchauffe

Nous éditerons le fichier /boot/config.txt et nous décommenterons certaines des options d'overclocking trouvées à la fin du fichier.

##Modest
arm_freq=800
core_freq=300
sdram_freq=400
over_voltage=0
##Medium
#arm_freq=900
#core_freq=333
#sdram_freq=450
#over_voltage=2
##High
#arm_freq=950
#core_freq=450
#sdram_freq=450
#over_voltage=6
##Turbo
#arm_freq=1000
#core_freq=500
#sdram_freq=500
#over_voltage=6

J'ai utilisé l'option Modest (vitesse 800), avec cette vitesse mon Raspberry Pi CA marche bien.

Installation Madsonic

Madsonic est dans le Référentiel d'utilisateurs Arch Linux (AUR), nous avons donc besoin du package base-devel pour pouvoir compiler les programmes AUR.

Nous installons les packages nécessaires:

# pacman -S wget curl base-devel yajl java-runtime libcups

Nous créons un répertoire pour la compilation et téléchargeons madsonic depuis AUR.

$ mkdir build $ cd build $ wget https://aur.archlinux.org/packages/ma/madsonic/madsonic.tar.gz

Nous extrayons les fichiers et éditons le fichier PKGBUILD pour ajouter la prise en charge des processeurs ARM. Nous cherchons la ligne arch = ('i686' 'x86_64') et nous ajoutons
"armv6h".

$ tar zxf madsonic.tar.gz $ cd madsonic $ nano PKGBUILD ... arch = ('i686' 'x86_64' 'armv6h')

Nous utilisons la commande makepkg pour télécharger et compiler le code madsonic. Cela peut prendre du temps. Sois patient.

$ makepkg -g >> PKGBUILD $ makepkg

La commande makepkg Il générera un fichier avec une extension .xz, nous pouvons installer ce fichier en utilisant pacman.

# pacman -U madsonic-5.0.3860-1-armv6h.pkg.tar.xz

Installation de Java Oracle pour ARM

Après avoir installé madsonic, j'ai remarqué que ouvertjdk utilise presque 100% de processeur et cela représente donc de mauvaises performances du Raspberry Pi.

La solution à ce problème consiste à utiliser Oracle Java pour l'architecture ARM. Pour plus d'informations sur ce sujet, vous pouvez consulter l'article oracle où ils montrent le benchmark Oracle Java vs OpenJDK dans ce lien.

Nous téléchargeons Java Oracle pour l'architecture ARM

wget --no-cookies \ --no-check-certificate --header "Cookie: gpw_e24 = http% 3A% 2F% 2Fwww.oracle.com% 2F; \ oraclelicense = accept-securebackup-cookie" \ "http: / /download.oracle.com/otn-pub/java/jdk/7u55-b13/jdk-7u55-linux-arm-vfp-hflt.tar.gz "

Décompressez le fichier dans le chemin / opt / java-oracle /

 # mkdir / opt / java-oracle # tar -zxf jdk-7u55-linux-arm-vfp-hflt.tar.gz -C / opt / java-oracle

Nous créons la variable d'environnement Java Home et sauvegardons les exécutables Java d'OpenJDK.

# JHome = / opt / java-oracle / jdk1.7.0_55 # test -L / usr / bin / java && mv /usr/bin/java[,.backup}

Nous créons des liens symboliques pour Java y javac.

# ln -sf /opt/java-oracle/jdk1.7.0_55/bin/java / usr / bin / java # ln -sf /opt/java-oracle/jdk1.7.0_55/bin/javac / usr / bin / javac

Nous pouvons maintenant tester l'installation java avec la commande java -version

[eroland @ alarmpi ~] $ java -version version java "1.7.0_55" Environnement d'exécution Java (TM) SE (build 1.7.0_55-b13) VM client Java HotSpot (TM) (build 24.55-b03, mode mixte)

Nous éditons le fichier de configuration madsonic pour qu'il utilise Java Oracle et non Java OpenJDK.

# nano /var/madsonic/madsonic.sh

Et nous modifions la ligne JAVA_HOME de sorte que ce soit comme suit:

JAVA_HOME = / opt / java-oracle / jdk1.7.0_55 / jre: / usr / lib / jvm / java-7-openjdk

Configuration madsonique

La configuration madsonic se fait dans le fichier /var/madsonic/madsonic.sh, la première chose que nous faisons est de la soutenir.

cp /var/madsonic/madsonic.sh[,.backup}

Dans ce fichier, vous pouvez modifier le port que madsonic utilisera (par défaut, il utilise le port 4040), le chemin du dossier où les chansons seront stockées, etc.

Nous ajouterons un Disque dur externe connecté par USB où nous mettrons les chansons à jouer.

Si le disque dur est formaté NTFS, vous devez installer le package ntfs-3g pour monter le disque.

# pacman-S ntfs-3g

Nous créons le dossier dans lequel le disque dur sera monté et nous lui donnons les autorisations nécessaires

# mkdir / mnt / Données # chmod 775 / mnt / Données

Nous obtenons le point de montage de notre Disque dur

$ ls -l / dev / disk / by-label / total 0 lrwxrwxrwx 1 racine racine 10 31 décembre 1969 Données -> ../../sda2 lrwxrwxrwx 1 racine racine 10 31 décembre 1969 PS3 -> ../../ sda1

Dans mon cas, je suis intéressé par le disque avec l'étiquette de données trouvée dans / Dev / sda2

Cependant, l'utilisation de l'étiquette pour monter le disque n'est pas fortement recommandée, car si l'étiquette change, le disque ne peut pas être monté.

Nous obtenons l'identifiant unique (UUID) de notre disque dur.

ls -l / dev / disk / by-uuid /

Nous aurons un résultat similaire à celui-ci:

[eroland @ alarmpi ~] $ ls -l / dev / disk / by-uuid / total 0 lrwxrwxrwx 1 racine racine 10 décembre 31 1969 19F4-1917 -> ../../sda1 lrwxrwxrwx 1 racine racine 15 décembre 31 1969 2300 -4E18 -> ../../mmcblk0p1 lrwxrwxrwx 1 racine racine 10 déc 31 1969 58F6AA78F6AA55D2 -> ../../sda2 lrwxrwxrwx 1 racine racine 15 déc 31 1969 b471cde8-2a15-44e7-acce-e9a2a54511 - /../mmcblk6p0

Nous notons l'UUID de notre disque dur (dans ce cas 58F6AA78F6AA55D2)

On ajoute la ligne suivante à la fin du fichier / etc / fstab

UUID = 58F6AA78F6AA55D2 / mnt / Données ntfs-3g par défaut 0 0
N'oubliez pas de changer l'UUID, pour celui obtenu à partir des commandes ci-dessus

Nous redémarrons notre Raspberry Pi et le disque dur se montera automatiquement.

Enfin, nous démarrons le service madsonic:

# systemctl démarre madsonic.service

Si nous voulons que le service démarre automatiquement à chaque fois que le système se charge.

# systemctl activer madsonic.service

Et voila, nous avons notre serveur de streaming musical.

Une fois le service de madsonique, nous pouvons entrer depuis notre navigateur préféré vers l'adresse IP de notre Raspberry Pi avec le port 4040, dans mon cas c'est 192.168.17.1:4040 et nous entrons en utilisant les données utilisateur = admin mot de passe = admin.

madsonique

Dans l'interface Web, nous pouvons ajouter de nouveaux utilisateurs et modifier le mot de passe par défaut.

Eh bien, c'est ma première contribution, j'espère qu'elle vous plaira.

Fuentes:
http://d.stavrovski.net/blog/post/set-up-home-media-streaming-server-with-madsonic-archlinux-and-cubieboard2
http://www.techjawab.com/2013/06/how-to-setup-mount-auto-mount-usb-hard.html


Laisser un commentaire

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

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   x11tête11x dit

    Je n'ai pas de râpe mais si un serveur de streaming domestique xD, avez-vous déjà utilisé mediatomb? Si oui, que pouvez-vous me dire par rapport à celui-ci? J'utilise mediatomb, à première vue, l'interface madsonic donne au xD mediatomb un mille tours, ce qui m'intéresserait beaucoup serait de savoir si vous pouvez faire du streaming via "WAN" et si c'est via un protocole mieux sécurisé, car mediatomb permet de le gérer via le web mais pas avec https, et aussi ( jusqu'ici je n'ai trouvé qu'un client pour android) streaming avec mediatomb via WAN (si depuis le téléphone portable tout en étant n'importe où je peux écouter de la musique depuis mon serveur domestique) car je doute de la sécurité du protocole je mets des mots de passe qui ne gardent aucune relation avec ceux que j'utilise habituellement, et le même mediatomb est activé pour les permissions de sorte qu'au cas où quelqu'un accède, il ne puisse rien toucher xD

    1.    éroland dit

      Bonjour, je n'ai pas utilisé mediatomb. Concernant vos questions, bien sûr vous pouvez utiliser madsonic via WAN, j'utilise madsonic via WAN et cela fonctionne très bien pour moi. Madsonic autorise l'utilisation de https, il vous suffit de l'activer dans votre fichier de configuration: madsonic_https_port = 8443 et c'est tout 🙂
      Concernant les applications pour android, j'utilise un appel ultrasonique, c'est très bien, cela permet de stocker des chansons en cache pour les écouter sans connexion xD

      Salutations.

    2.    Ronal dit

      Ami, quelle expérience avez-vous avec Arch ARM? Je suis un utilisateur Arch .. installez rasbian. Mais j'en ai eu assez des problèmes avec les pensions. Je veux Arch. Et les packages qui ne sont pas dans le dépôt officiel. Par exemple, les packages AUR peuvent-ils être compilés?

  2.   tanrax dit

    Article très intéressant!
    J'ai fait une recherche rapide pour voir votre client sur Android et j'ai vu qu'il est payant. Existe-t-il une alternative gratuite?

    1.    éroland dit

      Bonjour, s'il existe des alternatives gratuites, j'utilise les ultrasons.
      https://play.google.com/store/apps/details?id=com.thejoshwa.ultrasonic.androidapp&hl=es

      Salutations.

  3.   msx dit

    Subsonic est une bête et n'utilise pas de bouse de Java. Si je ne me trompe pas, ownCloud peut également diffuser de l'audio et de la vidéo et est hyper léger - du moins par rapport à une JVM en cours d'exécution et une autre application lourde en plus.

    Java doit mourir - comme Flash.

    1.    éroland dit

      En effet ownCloud a un service de streaming de base, l'avantage que je vois pour subsonic est la possibilité de transcodage, au cas où ils auraient beaucoup de musique flac par exemple. Et vous avez également raison, l'utilisation de java est un programme lourd, mais pour l'instant, je n'ai eu aucun problème avec un Raspberry de 256 Mo de RAM.

      1.    éliotime3000 dit

        Eh bien, OpenJDK 7 (et non 6 comme le montre Oracle) est beaucoup plus stable en termes de performances. Cependant, s'il existe une version sans Java, félicitations (au moins, c'est une bonne alternative à Spotify).

        Et au fait, OWnCloud a-t-il pour le streaming?! Il semble déjà 4shared.

  4.   Rolo dit

    J'utilise minidlna, ça ne consomme rien et on peut avoir accès à des vidéos, des photos et de la musique et je les capture depuis un lecteur vidéo sur le pc ou sur la télé, ça donne aussi la possibilité de mettre une page web très limitée.

    Une autre chose, Madsonic est-ce un service de streaming ou un streamer? «… Madsonic est un streamer multimédia basé sur le Web et un jukebox fork de Subsonic…. , Madsonic prend en charge la conversion et le streaming à la volée de pratiquement tous les formats audio,… »Je ne sais pas quelle différence il y a entre un terme et un autre

    1.    éroland dit

      Je ne sais pas quelle est la différence, il me semble que le streamer est utilisé pour dire que le logiciel est capable de diffuser, mais je le répète, je ne suis pas sûr que xD

  5.   L'op dit

    Actuellement j'utilise Ampache, de Subsonic comme je l'ai vu c'est un logiciel libre, licence GPL3 mais si vous voulez avoir toutes les caractéristiques il faut payer une clé de licence pour le serveur qui est monté avec subsonic, comme pour madsonic je ne le savais pas, il s'agira de le tester, vous pourriez me dire Quels avantages pourrais-je avoir si j'utilise madsonic au lieu d'ampache.

    1.    éroland dit

      Salut, madsonic est un fork de subsonic, seulement en madsonic il n'y a pas besoin de payer pour une clé. Concernant Ampache, je ne l'ai pas utilisé, - et je ne pourrais pas vous dire quels sont les avantages de madsonic par rapport à ampache, dans google j'ai trouvé ce lien, peut-être qu'il pourrait être utile: http://www.brunobense.com/2013/04/subsonic_ftw/.