Madsonic: Zainstaluj Music Streaming Server na Raspberry Pi

W tym samouczku wyjaśnię, jak zainstalować serwer strumieniowego przesyłania muzyki (madsoniczny) w Raspberry Pi z Ramię ArchLinux.
Aby zobaczyć samouczek dotyczący instalacji Arch Linux na Raspberry Pi możesz na to spojrzeć pisać.

Zaleca się, aby nie instalować środowiska graficznego na Raspberry Pi, ponieważ zużywa dużo pamięci. Zamiast tego lepiej jest zawsze pracować przy użyciu połączenia ssh.

Główne cechy Madsonic to:

  • Intuicyjny interfejs sieciowy
  • Obsługuje transkodowanie do różnych formatów (np. FLAC> mp3)
  • Ma klientów na Androida i iOS

Ograniczenie pamięci RAM do tworzenia GPU i obszaru wymiany (SWAP)

Poniższe kroki są opcjonalne, ale polecam je wykonać, aby uniknąć wyczerpania pamięci RAM w Raspberry.

Serwer madsonic działa pod Javą, dlatego na 256MB RAM Raspberry Pi zużywa około 50% pamięci RAM. W takim przypadku polecam utworzenie pliku obszar wymiany (zamień), aby zapobiec wyczerpaniu pamięci w Raspberry Pi.

1. Tworzymy plik, który będzie używany jako obszar wymiany plików i przydzielamy mu przestrzeń 512 MB

# fallocate -l 512M / swapfile

2. Do pliku przypisujemy uprawnienia do odczytu i zapisu.

# chmod 600 / swapfile

3. Formatujemy jako swap

# mkswap / swapfile

3. Aktywujemy swap

# swapon / swapfile

4. Dodajemy następujący wiersz do pliku / etc / fstab aby automatycznie zamontować swap.

/ plik wymiany brak wartości domyślnych wymiany 0 0

5. Modyfikujemy plik /etc/sysctl.d/99-sysctl.conf tak, że zapis w zamianie jest wykonywany tylko w przypadku, gdy mamy mało dostępnej pamięci RAM. Dodajemy następujący wiersz

vm.swappiness = 10

6. Użyj polecenia wolny -h sprawdzamy ilość pamięci RAM, którą mamy.
Strumieniowa pamięć RAM


7. Modyfikujemy plik /boot/config.txt w zależności od posiadanego modelu Raspberry Pi, ogranicza ilość pamięci RAM przeznaczonej na grafikę.

UWAŻAJ! Jeśli wstawimy za mało pamięci RAM dla GPU, Raspberry nie uruchomi się i będziemy musieli wprowadzić kartę SD do komputera, aby naprawić plik /boot/config.txt

Na grafikę przeznaczymy 64 MB pamięci RAM.

  • Dla Raspberry Pi model A (z 256 MB pamięci RAM) modyfikujemy linię gpu_mem_256 = 128 przez gpu_mem_256 = 64
  • Dla Raspberry Pi model B (z 512 MB pamięci RAM) modyfikujemy linię gpu_mem_512 = 316 przez gpu_mem_512 = 64

Przetaktowywanie (opcja)

Zalecam użycie źródła chłodzącego, aby zapobiec przegrzaniu Maliny

Zmodyfikujemy plik /boot/config.txt i odkomentujemy niektóre opcje przetaktowywania znajdujące się na końcu pliku.

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

Użyłem opcji Modest (prędkość 800), z tą prędkością moja Raspberry Pi To dobrze działa.

Instalacja Madsonic

Madsonic jest w Repozytorium użytkowników Arch Linux (AUR), dlatego potrzebujemy pakietu base-devel, aby móc kompilować programy AUR.

Instalujemy niezbędne pakiety:

# pacman -S wget curl base-devel yajl libcups środowiska wykonawczego java

Tworzymy katalog do kompilacji i pobieramy madsonic z AUR.

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

Rozpakowujemy pliki i edytujemy plik Pkgbuild. aby dodać obsługę procesorów ARM. Szukamy linii arch = ('i686' 'x86_64') i dodajemy
„armv6h”.

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

Używamy polecenia makepkg aby pobrać i skompilować kod madsonic. Może to zająć dużo czasu. Bądź cierpliwy.

$ makepkg -g >> PKGBUILD $ makepkg

Polecenie makepkg Wygeneruje plik z rozszerzeniem .xz, ten plik można zainstalować za pomocą programu pacman.

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

Instalowanie Java Oracle for ARM

Po zainstalowaniu madsonic zauważyłem to openjdk wykorzystuje prawie 100% procesor, co oznacza niską wydajność Raspberry Pi.

Rozwiązaniem tego problemu jest użycie Oracle Java dla architektury ARM. Aby uzyskać więcej informacji na ten temat, możesz zapoznać się z artykułem oracle, w którym przedstawiają test porównawczy Oracle Java vs OpenJDK w tym link.

Pobieramy Java Oracle dla architektury ARM

wget --no-cookies \ --no-check-certificate --header "Plik 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 ”

Rozpakuj plik w ścieżce / opt / java-oracle /

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

Tworzymy zmienną środowiskową Java Home i wykonujemy kopię zapasową plików wykonywalnych Java OpenJDK.

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

Tworzymy dowiązania symboliczne do Jawa 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

Teraz możemy przetestować instalację javy poleceniem 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, tryb mieszany)

Edytujemy plik konfiguracyjny madsonic, aby używał Java Oracle, a nie Java OpenJDK.

# nano /var/madsonic/madsonic.sh

I modyfikujemy linię JAVA_HOME tak, aby wyglądało to następująco:

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

Konfiguracja Madsonic

Konfiguracja madsonic jest wykonywana w pliku /var/madsonic/madsonic.sh, pierwszą rzeczą, jaką robimy, jest wsparcie.

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

W tym pliku możesz zmodyfikować port, z którego będzie korzystał madsonic (domyślnie używa portu 4040), ścieżkę do folderu, w którym będą przechowywane utwory itp.

Dodamy plik Zewnętrzny dysk twardy podłączony przez USB, gdzie umieścimy utwory do odtwarzania.

Jeśli dysk twardy jest sformatowany NTFS, aby zamontować dysk, musisz zainstalować pakiet ntfs-3g.

# pacman -S ntfs-3g

Tworzymy folder, w którym zostanie zamontowany dysk twardy i nadajemy mu niezbędne uprawnienia

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

Otrzymujemy punkt montowania naszego dysk twardy

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

W moim przypadku interesuje mnie dysk z etykietą Data w formacie / Dev / sda2

Jednak użycie etykiety do zamontowania dysku nie jest wysoce zalecane, ponieważ w przypadku zmiany etykiety dysk nie może zostać zamontowany.

Otrzymujemy unikalny identyfikator (UUID) z naszego dysku twardego.

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

Otrzymamy wynik podobny do tego:

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

Zapisujemy UUID naszego dysku twardego (w tym przypadku 58F6AA78F6AA55D2)

Na końcu pliku dodajemy następujący wiersz / etc / fstab

UUID = 58F6AA78F6AA55D2 / mnt / Data ntfs-3g domyślnie 0 0
Pamiętaj o zmianie UUID na ten uzyskany z poleceń powyżej

Ponownie uruchamiamy nasze Raspberry Pi, a dysk twardy zostanie automatycznie zamontowany.

Wreszcie zaczynamy usługę madsonic:

# systemctl uruchom madsonic.service

Jeśli chcemy, aby usługa uruchamiała się automatycznie przy każdym ładowaniu systemu.

# systemctl włącz madsonic.service

I voila, mamy nasz serwer strumieniowego przesyłania muzyki.

Kiedyś usługa madsoniczny, możemy wejść z naszej preferowanej przeglądarki na adres IP naszego Raspberry Pi wraz z portem 4040, w moim przypadku jest to 192.168.17.1:4040 i wchodzimy za pomocą danych użytkownik = admin hasło = admin.

madsoniczny

Już w interfejsie WWW możemy dodawać nowych użytkowników i zmieniać domyślne hasło.

Cóż, to mój pierwszy wkład, mam nadzieję, że Ci się spodoba.

Źródła:
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


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   x11tete11x powiedział

    Nie mam zgrzyta, ale jeśli domowy serwer strumieniowy xD, czy kiedykolwiek używałeś mediatomb? Jeśli tak, co możesz mi powiedzieć w porównaniu z tym? Używam mediatomb, na pierwszy rzut oka interfejs madsonic daje mediatomb xD tysięcy tur, co by mnie bardzo zaciekawiło, to wiedzieć, czy można przesyłać strumieniowo przez "WAN" i czy jest to przez lepiej zabezpieczony protokół, ponieważ mediatomb pozwala na zarządzanie przez internet, ale nie przez https, a także ( do tej pory znalazłem tylko klienta na androida) streaming z mediatomb przez WAN (jeśli z telefonu komórkowego będąc gdziekolwiek mogę odtwarzać muzykę z mojego serwera domowego) ponieważ wątpię w bezpieczeństwo protokołu umieszczam hasła, które nie zachowują żadnego związku z tymi, których zwykle używam, i ta sama mediatomb jest włączona z uprawnieniami, więc jeśli ktoś wejdzie, nie będzie mógł niczego dotykać xD

    1.    eroland powiedział

      Witam, nie korzystałem z mediatomb. Jeśli chodzi o twoje pytania, oczywiście możesz użyć madsonic przez WAN, ja używam madsonic przez WAN i działa to bardzo dobrze. Madsonic zezwala na używanie https, wystarczy włączyć go w swoim pliku konfiguracyjnym: madsonic_https_port = 8443 i to wszystko 🙂
      Jeśli chodzi o aplikacje na androida to używam wywołania ultradźwiękowego, jest to bardzo dobre, pozwala na przechowywanie utworów w pamięci podręcznej do słuchania bez połączenia xD

      Pozdrowienia.

    2.    Ronal powiedział

      Przyjacielu, jakie masz doświadczenie z Arch ARM? Jestem użytkownikiem Arch. Zainstaluj rasbian. Ale zmęczyły mnie problemy z repozytoriami. Chcę Arch. A co z pakietami, których nie ma w oficjalnym repozytorium. Na przykład pakiety AUR, czy można je skompilować?

  2.   tanraks powiedział

    Bardzo ciekawy artykuł!
    Zrobiłem szybkie wyszukiwanie, aby zobaczyć twojego klienta na Androidzie i zobaczyłem, że jest płatny. Czy istnieje bezpłatna alternatywa?

    1.    eroland powiedział

      Witam, jeśli są darmowe alternatywy, używam ultradźwięków.
      https://play.google.com/store/apps/details?id=com.thejoshwa.ultrasonic.androidapp&hl=es

      Pozdrowienia.

  3.   msx powiedział

    Subsonic to bestia i nie używa łajna Java. Jeśli się nie mylę, ownCloud może również przesyłać strumieniowo audio i wideo i jest bardzo lekki - przynajmniej w porównaniu z uruchomioną maszyną JVM i inną ciężką aplikacją na wierzchu.

    Java musi umrzeć - tak samo jak Flash.

    1.    eroland powiedział

      Rzeczywiście ownCloud ma podstawową usługę przesyłania strumieniowego, zaletą, którą widzę dla subsonic, jest możliwość transkodowania, na przykład w przypadku, gdy mają dużo muzyki flac. I masz rację, używając javy jest to ciężki program, jednak na razie nie miałem problemów z użyciem 256MB RAM Raspberry.

      1.    Eliotime3000 powiedział

        Cóż, OpenJDK 7 (a nie 6, jak pokazuje Oracle) jest znacznie bardziej stabilny pod względem wydajności. Jeśli jednak istnieje wersja bez Javy, to gratuluję (przynajmniej jest to dobra alternatywa dla Spotify).

        A tak przy okazji, czy OWnCloud ma do przesyłania strumieniowego ?! Wydaje się, że to już 4shared

  4.   Rolo powiedział

    Używam minidlny, nic nie zużywa i możesz mieć dostęp do filmów, zdjęć i muzyki, a ja je przechwytuję z odtwarzacza wideo na komputerze lub telewizorze, daje to również możliwość umieszczenia bardzo ograniczonej strony internetowej.

    Inna sprawa, Madsonic to usługa przesyłania strumieniowego lub streamer? «… Madsonic to internetowy odtwarzacz multimediów i widelec z szafą grającą firmy Subsonic…. , Madsonic obsługuje konwersję w locie i przesyłanie strumieniowe praktycznie dowolnego formatu audio… »Nie wiem, jaka jest różnica między jednym terminem a drugim

    1.    eroland powiedział

      Nie jestem pewien, jaka jest różnica, wydaje mi się, że streamer jest używany do mówienia, że ​​oprogramowanie jest w stanie streamować, ale powtarzam, nie jestem pewien xD

  5.   Op powiedział

    Obecnie używam Ampache, od Subsonic jak widziałem to jest wolne oprogramowanie, licencja GPL3 ale jeśli chcesz mieć wszystkie cechy to musisz zapłacić klucz licencyjny dla serwera, który jest zamontowany z subsonic, jak dla madsonic nie wiedziałem o tym , to będzie kwestia przetestowania tego, możesz mi powiedzieć, jakie korzyści mogę mieć, jeśli użyję madsonic zamiast ampache.

    1.    eroland powiedział

      Cześć, madsonic to fork subsonic, tylko w madsonic nie ma potrzeby płacenia za klucz. Jeśli chodzi o Ampache, nie korzystałem z niego - i nie mogłem powiedzieć, jakie są zalety madsonic w stosunku do ampache, w google znalazłem ten link, być może mógłby pomóc: http://www.brunobense.com/2013/04/subsonic_ftw/.