Madsonic: Installera Music Streaming Server på en Raspberry Pi

I denna handledning kommer jag att förklara hur man installerar en musikstreamingserver (madsonic) i hallon Pi med ArchLinux ARM.
För att se en handledning om hur du installerar Arch Linux på en Raspberry Pi kan du titta på det här inlägg.

Det rekommenderas att du inte installerar en grafisk miljö på Raspberry Pi, eftersom den använder mycket minne. Istället är det bättre att alltid arbeta med en ssh-anslutning.

De viktigaste funktionerna i madsonic är följande:

  • Intuitivt webbgränssnitt
  • Stöder omkodning till olika format (Ex. FLAC> mp3)
  • Det har klienter för Android och iOS

Begränsa RAM för skapande av GPU och bytesområde (SWAP)

Följande steg är valfria, men jag rekommenderar att du gör dem för att undvika att Raspberry har låg RAM-minne.

Madsonic-servern körs under Java, därför använder den på en 256 MB RAM Raspberry Pi cirka 50% av RAM-minnet. I det här fallet rekommenderar jag att du skapar en utbytesområde (swap) för att förhindra att Raspberry Pi tar slut på minnet.

1. Vi skapar en fil som kommer att användas som ett filutbytesområde och tilldelar den ett utrymme på 512 MB

# fallocate -l 512M / swapfile

2. Vi tilldelar läs- och skrivbehörigheter till filen.

# chmod 600 / swapfile

3. Vi formaterar som byte

# mkswap / swapfile

3. Vi aktiverar swap

# swapon / swapfile

4. Vi lägger till följande rad i filen / Etc / fstab för att montera bytet automatiskt.

/ swapfile ingen swap-standard 0 0

5. Vi ändrar filen /etc/sysctl.d/99-sysctl.conf så att skrivningen i swap bara görs om vi har lite RAM-minne tillgängligt. Vi lägger till följande rad

vm.swappiness = 10

6. Använd kommandot gratis -h vi kontrollerar mängden RAM-minne vi har.
Strömmande RAM


7. Vi ändrar filen /boot/config.txt beroende på vilken Raspberry Pi-modell vi har, för att begränsa mängden RAM som tilldelats grafiken.

SE UPP! Om vi ​​lägger för lite RAM för GPU kommer Raspberry inte att starta och vi måste introducera SD-kortet till en dator för att reparera filen /boot/config.txt

Vi kommer att tilldela 64 MB RAM-minne för grafik.

  • För Raspberry Pi-modell A (med 256 MB RAM) ändrar vi linjen gpu_mem_256 = 128 av gpu_mem_256 = 64
  • För Raspberry Pi-modell B (med 512 MB RAM) ändrar vi linjen gpu_mem_512 = 316 av gpu_mem_512 = 64

Överklockning (tillval)

Jag rekommenderar att du använder en kylkälla för att förhindra att hallon överhettas

Vi redigerar filen /boot/config.txt och vi kommer att avmarkera några av de överklockningsalternativ som finns i slutet av 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

Jag använde alternativet Modest (800 hastigheter), med den här hastigheten min hallon Pi Det funkar bra.

Madsonic Installation

Madsonic är i Arch Linux User Repository (AUR), därför behöver vi basutvecklingspaketet för att kunna sammanställa AUR-program.

Vi installerar nödvändiga paket:

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

Vi skapar en katalog för sammanställning och nedladdning av madsonic från AUR.

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

Vi extraherar filerna och redigerar filen PKGBUILD för att lägga till stöd för ARM-processorer. Vi letar efter linjen arch = ('i686' x86_64 ') och vi lägger till
'armv6h'.

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

Vi använder kommandot makepkg för att ladda ner och kompilera madsonic-koden. Det kan ta lång tid. Ha tålamod.

$ makepkg -g >> PKGBUILD $ makepkg

Kommandot makepkg det genererar en fil med ett .xz-tillägg, den här filen kan installeras med pacman.

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

Installera Java Oracle för ARM

Efter att ha installerat madsonic har jag märkt det öppenjdk använder nästan 100% processor och därför representerar detta dålig prestanda för Raspberry Pi.

Lösningen på detta problem är att använda Oracle Java för ARM-arkitektur. För mer information om detta ämne kan du kontrollera oracle-artikeln där de visar Oracle Java vs OpenJDK Benchmark i detta länk.

Vi laddar ner Java Oracle för 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 "

Packa upp filen i sökvägen / opt / java-oracle /

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

Vi skapar Java Home-miljövariabeln och säkerhetskopierar OpenJDK Java-körbara filer.

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

Vi skapar symboliska länkar för till Java y javanesiska.

# 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 testa java-installationen med kommandot java -version

[eroland @ alarmpi ~] $ java -version Java-version "1.7.0_55" Java (TM) SE Runtime-miljö (bygg 1.7.0_55-b13) Java HotSpot (TM) Client VM (bygg 24.55-b03, blandat läge)

Vi redigerar madsonic-konfigurationsfilen så att den använder Java Oracle och inte Java OpenJDK.

# nano /var/madsonic/madsonic.sh

Och vi ändrar linjen JAVA_HOME så att det blir som följer:

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

Madsonic-konfiguration

Madsonic-konfigurationen görs i filen /var/madsonic/madsonic.sh, det första vi gör är att stödja det.

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

I den här filen kan du ändra den port som madsonic kommer att använda (som standard använder den port 4040), sökvägen till mappen där låtarna kommer att lagras etc.

Vi lägger till en Extern hårddisk ansluten med USB där vi kommer att spela låtarna.

Om hårddisken är formaterad NTFSmåste du installera ntfs-3g-paketet för att kunna montera disken.

# pacman -S ntfs -3g

Vi skapar mappen där hårddisken ska monteras och vi ger den nödvändiga behörigheter

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

Vi får vår monteringspunkt Hard Drive

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

I mitt fall är jag intresserad av skivan med dataetiketten i / Dev / sda2

Det rekommenderas dock inte att använda etiketten för att montera skivan, som om etiketten ändras kan skivan inte monteras.

Vi får den unika identifieraren (UUID) från vår hårddisk.

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

Vi kommer att ha ett liknande resultat:

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

Vi skriver ner UUID på hårddisken (i det här fallet 58F6AA78F6AA55D2)

Vi lägger till följande rad i slutet av filen / Etc / fstab

UUID = 58F6AA78F6AA55D2 / mnt / Data ntfs-3g standard 0 0
Kom ihåg att ändra UUID för den som erhålls från kommandona ovan

Vi startar om vår Raspberry Pi och hårddisken monteras automatiskt.

Slutligen startar vi madsonic-tjänsten:

# systemctl startar madsonic.service

Om vi ​​vill att tjänsten ska starta automatiskt varje gång systemet laddas.

# systemctl aktiverar madsonic.service

Och voila, vi har vår musikstreamingserver.

När tjänsten av madsonickan vi gå in från vår föredragna webbläsare till IP-adressen till vår Raspberry Pi tillsammans med port 4040, i mitt fall är det 192.168.17.1:4040 och vi går in med hjälp av data användare = admin lösenord = admin.

madsonic

Redan inom webbgränssnittet kan vi lägga till nya användare och ändra standardlösenordet.

Det här är mitt första bidrag, jag hoppas att du gillar det.

Källor:
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


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   x11tete11x sade

    Jag har ingen rasp men om en hemströmningsserver xD, har du någonsin använt mediatomb? Om så är fallet, vad kan du berätta för mig jämfört med den här? Jag använder mediatomb, vid första anblicken ger madsonic-gränssnittet xD-mediatomb en tusen varv, Vad skulle intressera mig mycket skulle vara att veta om du kan göra streaming via "WAN" och om det är genom ett bättre säkert protokoll, eftersom mediatomb gör det möjligt att hantera det via webben men inte med https, och även ( hittills hittade jag bara en klient för Android) Jag kan göra streaming med mediatomb via WAN (om från mobiltelefonen medan jag befinner mig någonstans kan jag spela musik från min hemserver) eftersom jag tvivlar på säkerheten för protokollet jag lägger till lösenord som inte behålla någon relation med de jag brukar använda, och samma mediatomb är aktiverad av behörigheter så att om någon kommer åt kan de inte röra vid något xD

    1.    eroland sade

      Hej, jag har inte använt mediatomb. När det gäller dina frågor kan du naturligtvis använda madsonic via WAN, jag använder madsonic via WAN och det fungerar väldigt bra för mig. Madsonic tillåter att använda https, du måste bara aktivera det i din konfigurationsfil: madsonic_https_port = 8443 och det är det 🙂
      När det gäller applikationerna för Android använder jag ett ultraljudssamtal, det här är mycket bra, det gör det möjligt att lagra låtar i cache för att lyssna utan anslutning xD

      Hälsningar.

    2.    Ronal sade

      Vän, vilken erfarenhet har du av Arch ARM? Jag är en Arch-användare .. installera rasbian. Men jag blev trött på problemen med reporna. Jag vill ha Arch. Hur är det med paketen som inte finns i den officiella repo? Till exempel AUR-paket, kan de sammanställas?

  2.   tanrax sade

    Mycket intressant artikel!
    Jag har gjort en snabb sökning för att se din klient på Android och jag har sett att den är betald. Finns det ett gratis alternativ?

    1.    eroland sade

      Hej, om det finns gratis alternativ använder jag ultraljud.
      https://play.google.com/store/apps/details?id=com.thejoshwa.ultrasonic.androidapp&hl=es

      Hälsningar.

  3.   MSX sade

    Subsonic är ett odjur och använder inte Java-gödsel. Om jag inte tar fel kan ownCloud också strömma ljud och video och är hyperlätt - åtminstone jämfört med att ha en JVM som kör och en annan tung applikation på toppen.

    Java måste dö - samma som Flash.

    1.    eroland sade

      I själva verket ownCloud har en grundläggande streamingtjänst, fördelen som jag ser för subsonic är möjligheten till omkodning, om de till exempel har mycket flac-musik. Och du har också rätt, när du använder java är det ett tungt program, men för tillfället har jag inte haft några problem med att använda ett 256 MB RAM-hallon.

      1.    eliotime3000 sade

        Tja, OpenJDK 7 (inte 6 som Oracle visar) är mycket mer stabil när det gäller prestanda. Men om det finns en version utan Java, gratulationer (åtminstone är det ett bra alternativ till Spotify).

        Och förresten, har OWnCloud för streaming?! Det verkar redan 4 delat.

  4.   Rolo sade

    Jag använder minidlna, det förbrukar ingenting och du kan ha tillgång till videor, foton och musik och jag fångar dem från en videospelare på datorn eller på tv: n, det ger också möjlighet att sätta en mycket begränsad webbsida.

    En annan sak, Madsonic är att en streamingtjänst eller streamer? «... Madsonic är en webbaserad mediestreamer och jukebox-gaffel av Subsonic .... , Madsonic stöder on-the-fly-konvertering och streaming av praktiskt taget alla ljudformat, ... »Jag vet inte hur stor skillnad det är mellan en term och en annan

    1.    eroland sade

      Jag är inte säker på vad skillnaden är, det verkar som om streamer används för att säga att programvaran kan strömma, men jag upprepar, jag är inte säker xD

  5.   Op sade

    För närvarande använder jag Ampache, från Subsonic eftersom jag sett det är fri programvara, GPL3-licens men om du vill ha alla egenskaper måste du betala en licensnyckel för servern som är monterad med subsonic, som för madsonic visste jag inte det , det kommer att handla om att testa det, du kan säga mig vilka fördelar kan jag ha om jag använder madsonic istället för ampache.

    1.    eroland sade

      Hej, madsonic är en gaffel med subsonic, bara i madsonic behöver du inte betala för en nyckel. När det gäller Ampache har jag inte använt det, och jag kunde inte berätta för dig vad som är fördelarna med madsonic med avseende på ampache, på Google hittade jag den här länken, kanske det kan vara till hjälp: http://www.brunobense.com/2013/04/subsonic_ftw/.