Madsonic: Installer musikstreaming-server på en Raspberry Pi

I denne vejledning forklarer jeg, hvordan du installerer en musikstreamingserver (madsonic) i raspberry Pi med ArchLinux ARM.
For at se en tutorial om, hvordan du installerer Arch Linux på en Raspberry Pi kan du se på dette indlæg.

Det anbefales ikke at installere et grafisk miljø på Raspberry Pi, da det bruger meget hukommelse. I stedet er det bedre at altid arbejde ved hjælp af en ssh-forbindelse.

De vigtigste funktioner i madsonic er følgende:

  • Intuitiv webgrænseflade
  • Understøtter kodning til forskellige formater (f.eks. FLAC> mp3)
  • Det har klienter til Android og iOS

Begræns RAM til oprettelse af GPU og swap-område (SWAP)

Følgende trin er valgfri, men jeg anbefaler at gøre dem for at undgå, at Raspberry løber tør for RAM.

Madsonic-serveren kører under Java, og derfor bruger den på en 256 MB RAM Raspberry Pi ca. 50% af RAM-en. I dette tilfælde anbefaler jeg at oprette en udvekslingsområde (swap) for at forhindre, at Raspberry Pi løber tør for hukommelse.

1. Vi opretter en fil, der vil blive brugt som et område til filudveksling og tildeler den en plads på 512 MB

# fallocate -l 512M / swapfile

2. Vi tildeler læse- og skrivetilladelser til filen.

# chmod 600 / swapfile

3. Vi formaterer som swap

# mkswap / swapfile

3. Vi aktiverer swap

# swapon / swapfile

4. Vi tilføjer følgende linje til filen / Etc / fstab at montere swap automatisk.

/ swapfile ingen swap-standard 0 0

5. Vi ændrer filen /etc/sysctl.d/99-sysctl.conf så skrivningen i swap kun sker, hvis vi har lidt RAM til rådighed. Vi tilføjer følgende linje

vm.swappiness = 10

6. Brug kommandoen fri -h Vi kontrollerer mængden af ​​RAM, vi har.
Streaming af RAM


7. Vi ændrer filen /boot/config.txt afhængigt af den Raspberry Pi-model, vi har, for at begrænse mængden af ​​RAM, der er allokeret til grafikken.

PAS PÅ! Hvis vi lægger for lidt RAM til GPU'en, starter Raspberry ikke, og vi bliver nødt til at introducere SD-kortet til en computer for at reparere filen /boot/config.txt

Vi tildeler 64 MB RAM til grafik.

  • For Raspberry Pi model A (med 256 MB RAM) ændrer vi linjen gpu_mem_256 = 128 af gpu_mem_256 = 64
  • For Raspberry Pi model B (med 512 MB RAM) ændrer vi linjen gpu_mem_512 = 316 af gpu_mem_512 = 64

Overclocking (valgfri)

Jeg anbefaler at bruge en kølekilde for at forhindre, at hindbær overophedes

Vi redigerer filen /boot/config.txt og vi vil fjerne kommentar til nogle af de overclock-muligheder, der findes i slutningen af ​​filen.

##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

Jeg brugte den beskedne mulighed (800 hastigheder), med denne hastighed min raspberry Pi Det fungerer godt.

Madsonic Installation

Madsonic er i Arch Linux User Repository (AUR), derfor har vi brug for basisudviklingspakken for at kunne kompilere AUR-programmer.

Vi installerer de nødvendige pakker:

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

Vi opretter en mappe til kompilering og download af madsonic fra AUR.

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

Vi udpakker filerne og redigerer filen PKGBUILD for at tilføje support til ARM-processorer. Vi kigger efter linjen arch = ('i686' 'x86_64') og vi tilføjer
'armv6h'.

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

Vi bruger kommandoen makepkg for at downloade og kompilere madsonic-koden. Dette kan tage lang tid. Vær tålmodig.

$ makepkg -g >> PKGBUILD $ makepkg

Kommandoen makepkg det genererer en fil med filtypen .xz, denne fil kan installeres ved hjælp af pacman.

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

Installation af Java Oracle til ARM

Efter installation af madsonic har jeg bemærket det åbenjdk det bruger næsten 100% processor, og det repræsenterer derfor en lav ydeevne for Raspberry Pi.

Løsningen på dette problem er at bruge Oracle Java til ARM-arkitektur. For mere information om dette emne, kan du kontrollere oracle-artiklen, hvor de viser Oracle Java vs OpenJDK Benchmark i dette link.

Vi downloader Java Oracle til ARM-arkitektur

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 "

Pak filen ud af stien / opt / java-oracle /

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

Vi opretter Java Home-miljøvariablen og sikkerhedskopierer OpenJDK Java-eksekverbare filer.

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

Vi opretter symbolske links til Java y javanesisk.

# 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

Nu kan vi teste java-installationen med kommandoen java-version

[eroland @ alarmpi ~] $ java -version java version "1.7.0_55" Java (TM) SE Runtime Environment (build 1.7.0_55-b13) Java HotSpot (TM) Client VM (build 24.55-b03, mixed mode)

Vi redigerer madsonic-konfigurationsfilen for at bruge Java Oracle og ikke Java OpenJDK.

# nano /var/madsonic/madsonic.sh

Og vi ændrer linjen JAVA_HOME således at det er som følger:

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

Madsonic-konfiguration

Madsonic-konfigurationen udføres i filen /var/madsonic/madsonic.sh, det første vi gør er at støtte det.

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

I denne fil kan du ændre den port, som madsonic vil bruge (som standard bruger den port 4040), stien til mappen, hvor sangene skal gemmes osv.

Vi tilføjer en Ekstern harddisk tilsluttet via USB, hvor vi vil sætte sangene til at spille.

Hvis harddisken er formateret NTFS, skal du installere ntfs-3g-pakken for at montere disken.

# pacman -S ntfs -3g

Vi opretter mappen, hvor harddisken skal monteres, og vi giver den de nødvendige tilladelser

# mkdir / mnt / Data # chmod 775 / mnt / Data

Vi får vores monteringspunkt Hard Drive

$ ls -l / dev / disk / by-label / total 0 lrwxrwxrwx 1 rodrod 10. december 31 1969 Data -> ../../sda2 lrwxrwxrwx 1 rodrod 10. december 31 1969 PS3 -> ../../ sda1

I mit tilfælde er jeg interesseret i disken med datamærket, der findes i / Dev / sda2

Brug af etiketten til montering af disken anbefales dog ikke stærkt, som hvis etiketten ændres, kan disken ikke monteres.

Vi får den unikke identifikator (UUID) fra vores harddisk.

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

Vi får et lignende resultat:

[eroland @ alarmpi ~] $ ls -l / dev / disk / by-uuid / total 0 lrwxrwxrwx 1 rodrod 10. dec. 31 1969F19-4 -> ../../sda1917 lrwxrwxrwx 1 rodrod 1. december 15. 31 1969 -2300E4 -> ... /../mmcblk18p0

Vi nedskriver UUID på vores harddisk (i dette tilfælde 58F6AA78F6AA55D2)

Vi tilføjer følgende linje i slutningen af ​​filen / Etc / fstab

UUID = 58F6AA78F6AA55D2 / mnt / Data ntfs-3g standard 0 0
Husk at ændre UUID for den der fås fra ovenstående kommandoer

Vi genstarter vores Raspberry Pi, og harddisken monteres automatisk.

Endelig starter vi madsonic-tjenesten:

# systemctl start madsonic.service

Hvis vi ønsker, at tjenesten skal starte automatisk hver gang systemet indlæses.

# systemctl aktiver madsonic.service

Og voila, vi har vores musikstreamingserver.

Når tjenesten af madsonic, kan vi gå ind fra vores foretrukne browser til IP-adressen på vores Raspberry Pi sammen med port 4040, i mit tilfælde er det 192.168.17.1:4040 og vi indtaster ved hjælp af dataene bruger = admin adgangskode = admin.

madsonic

Allerede inden for webgrænsefladen kan vi tilføje nye brugere og ændre standardadgangskoden.

Nå, dette er mit første bidrag, jeg håber du kan lide det.

Kilder:
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


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   x11tete11x sagde han

    Jeg har ikke et rasp, men hvis en hjemmestreamingserver xD, har du nogensinde brugt mediatomb? Hvis ja, hvad kan du fortælle mig i forhold til denne? Jeg bruger mediatomb, ved første øjekast giver madsonic-grænsefladen xD-mediatomb en tusind omdrejninger, hvad der ville interessere mig meget, ville være at vide, om du kan streame via "WAN", og hvis det er ved en bedre sikker protokol, fordi mediatomb tillader, at det styres via internettet, men ikke med https, og også ( indtil videre fandt jeg kun en klient til android) Jeg kan streame med mediatomb via WAN (hvis fra mobiltelefonen, mens jeg er hvor som helst, kan jeg afspille musik fra min hjemmeserver), da jeg tvivler på sikkerheden i protokollen, jeg sætter adgangskoder, der ikke beholde ethvert forhold til dem, jeg normalt bruger, og den samme mediatomb er aktiveret af tilladelser, så hvis nogen får adgang, kan de ikke røre ved noget xD

    1.    eroland sagde han

      Hej, jeg har ikke brugt mediatomb. Med hensyn til dine spørgsmål kan du selvfølgelig bruge madsonic via WAN, jeg bruger madsonic via WAN, og det fungerer meget godt for mig. Madsonic tillader brug af https, du skal bare aktivere det i din konfigurationsfil: madsonic_https_port = 8443 og det er det 🙂
      Med hensyn til applikationerne til Android bruger jeg et ultralydsopkald, det er meget godt, det giver mulighed for at gemme sange i cachen for at lytte uden forbindelse xD

      Greetings.

    2.    Ronal sagde han

      Ven, hvilken erfaring har du med Arch ARM? Jeg er Arch-bruger .. installer rasbian. Men jeg blev træt af problemerne med repos. Jeg vil have Arch. Hvad med de pakker, der ikke er i den officielle repo. Kan f.eks. AUR-pakker kompileres?

  2.   tanrax sagde han

    Meget interessant artikel!
    Jeg har foretaget en hurtig søgning for at se din klient på Android, og jeg har set, at den er betalt. Er der et gratis alternativ?

    1.    eroland sagde han

      Hej, hvis der er gratis alternativer, bruger jeg ultralyd.
      https://play.google.com/store/apps/details?id=com.thejoshwa.ultrasonic.androidapp&hl=es

      Greetings.

  3.   MSX sagde han

    Subsonic er et udyr og bruger ikke Java-gødning. Hvis jeg ikke tager fejl, kan ownCloud også streame lyd og video og er hyper let - i det mindste sammenlignet med at have en JVM kørende og en anden tung applikation på toppen.

    Java skal dø - det samme som Flash.

    1.    eroland sagde han

      Faktisk har ownCloud en grundlæggende streamingtjeneste, den fordel, som jeg ser for subsonic, er muligheden for transkodning, hvis de f.eks. Har meget flac-musik. Og du har også ret, ved hjælp af java er et tungt program, men for nu har jeg ikke haft problemer med at bruge et 256 MB RAM Hindbær.

      1.    eliotime3000 sagde han

        Nå, OpenJDK 7 (ikke 6 som Oracle viser) er meget mere stabil med hensyn til ydeevne. Men hvis der er en version uden Java, tillykke (i det mindste er det et godt alternativ til Spotify).

        Og forresten, har OWnCloud til streaming?! Det ser allerede ud til at være delt.

  4.   Rolo sagde han

    Jeg bruger minidlna, det bruger intet, og du kan få adgang til videoer, fotos og musik, og jeg fanger dem fra en videoafspiller på pc'en eller på tv'et, det giver også muligheden for at lægge en meget begrænset webside.

    En anden ting, Madsonic er, at en streamingtjeneste eller streamer? «... Madsonic er en webbaseret mediestreamer og jukebox-gaffel af Subsonic…. , Madsonic understøtter on-the-fly konvertering og streaming af stort set ethvert lydformat, ... »Jeg ved ikke, hvor stor forskel der er mellem et udtryk og et andet

    1.    eroland sagde han

      Jeg er ikke sikker på, hvad forskellen er, det ser ud til, at streamer bruges til at sige, at softwaren er i stand til at streame, men jeg gentager, jeg er ikke sikker på xD

  5.   Op sagde han

    Jeg bruger i øjeblikket Ampache, fra Subsonic, da jeg har set det er fri software med en GPL3-licens, men hvis du vil have alle de funktioner, skal du betale en licensnøgle til serveren, der er monteret med subsonic, som for madsonic vidste jeg ikke det, det vil være et spørgsmål om at teste det, du kunne fortælle mig Hvilke fordele kan jeg have, hvis jeg bruger madsonic i stedet for ampache.

    1.    eroland sagde han

      Hej, madsonic er en fork af subsonic, kun i madsonic er der ingen grund til at betale for en nøgle. Med hensyn til Ampache har jeg ikke brugt det - og jeg kunne ikke fortælle dig, hvad der er fordelene ved madsonic med hensyn til ampache, i google fandt jeg dette link, måske kunne det være til hjælp: http://www.brunobense.com/2013/04/subsonic_ftw/.