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.
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)
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.
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.
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)
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
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.
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
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
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.
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?
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?
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.
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.
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.
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.
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
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
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.
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/.