Madsonic: I-install ang Music Streaming Server sa isang Raspberry Pi

Sa tutorial na ito ipapaliwanag ko kung paano mag-install ng isang music streaming server (baliw na baliw) sa Prambuwesas Lara sa ArchLinux ARM.
Upang makita ang isang tutorial sa kung paano mag-install Arch Linux sa isang Raspberry Pi maaari mong tingnan ito magpaskil.

Inirerekumenda na huwag mag-install ng isang grapikong kapaligiran sa Raspberry Pi, dahil gumagamit ito ng maraming memorya. Sa halip, mas mahusay na palaging gumana gamit ang isang koneksyon sa ssh.

Ang mga pangunahing tampok ng madsonic ay ang mga sumusunod:

  • Matalinong web interface
  • Sinusuportahan ang transcoding sa iba't ibang mga format (Hal. FLAC> mp3)
  • Mayroon itong mga kliyente para sa Android at iOS

Limitahan ang RAM para sa GPU at paggawa ng lugar ng pagpapalit (SWAP)

Ang mga sumusunod na hakbang ay opsyonal, ngunit inirerekumenda kong gawin ang mga ito upang maiwasan ang Raspberry na tumatakbo nang mababa sa RAM.

Ang madsonic server ay tumatakbo sa ilalim ng Java, samakatuwid sa isang 256MB RAM Raspberry Pi gumagamit ito ng halos 50% ng RAM. Sa kasong ito inirerekumenda ko ang paglikha ng a lugar ng palitan (Ipagpalit) upang maiwasan ang Raspberry Pi mula sa mababa ang memorya.

1. Lumilikha kami ng isang file na gagamitin bilang isang lugar ng palitan ng file at bibigyan ito ng isang puwang na 512 MB

# fallocate -l 512M / swapfile

2. Nagtatalaga kami ng mga pahintulot na basahin at isulat ang file.

# chmod 600 / swapfile

3. Nag-format kami bilang swap

# mkswap / swapfile

3. Aktibo namin ang pagpapalit

# swapon / swapfile

4. Idinagdag namin ang sumusunod na linya sa file / etc / fstab upang mai-mount ang swap nang awtomatiko.

/ swapfile walang pagpapalit ng mga default 0 0

5. Binabago namin ang file /etc/sysctl.d/99-sysctl.conf upang ang pagsulat sa pagpapalit ay tapos na lamang kung sakaling mayroon kaming maliit na magagamit na RAM. Idagdag namin ang sumusunod na linya

vm. swappiness = 10

6. Gamit ang command libre -h sinusuri namin ang dami ng RAM na mayroon kami.
Pag-streaming ng RAM


7. Binabago namin ang file /boot/config.txt depende sa modelo ng Raspberry Pi na mayroon kami, upang limitahan ang dami ng inilalaan na RAM sa mga graphic.

TINGNAN MO! Kung naglalagay kami ng napakaliit na RAM para sa GPU, ang Raspberry ay hindi magsisimula at kailangan naming ipakilala ang SD Card sa isang computer upang ayusin ang file /boot/config.txt

Maglalaan kami ng 64MB ng RAM para sa mga graphic.

  • Para sa modelo ng Raspberry Pi A (na may 256 MB ng RAM) binago namin ang linya gpu_mem_256 = 128 sa pamamagitan ng gpu_mem_256 = 64
  • Para sa modelo ng Raspberry Pi B (na may 512 MB ng RAM) binabago namin ang linya gpu_mem_512 = 316 sa pamamagitan ng gpu_mem_512 = 64

Overclocking (Opsyonal)

Inirerekumenda ko ang paggamit ng isang mapagkukunan ng paglamig upang maiwasan ang Raspberry mula sa sobrang pag-init

I-e-edit namin ang file /boot/config.txt at bibigyan namin ng puna ang ilan sa mga pagpipilian ng overclock na matatagpuan sa dulo ng file.

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

Ginamit ko ang katamtaman na pagpipilian (800 bilis), na may ganitong bilis na aking Prambuwesas Lara Ito ay gumagana nang maayos.

Pag-install ng Madsonic

Si Madsonic ay nasa Repository ng Arch Linux User (AUR), samakatuwid kailangan namin ang base-devel package upang makapag-compile ng mga programa ng AUR.

Nag-i-install kami ng mga kinakailangang package:

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

Lumilikha kami ng isang direktoryo para sa pagtitipon at pag-download ng madsonic mula sa AUR.

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

Kinukuha namin ang mga file at ini-edit ang file PKGBUILD upang magdagdag ng suporta para sa mga processor ng ARM. Hahanapin namin ang linya arko = ('i686 "x86_64') at nagdagdag kami
'armv6h'.

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

Ginagamit namin ang utos makepkg upang i-download at i-compile ang madsonic code. Maaaring magtagal ito. Pagpasensyahan mo

$ makepkg -g >> PKGBUILD $ makepkg

Ang utos makepkg Lilikha ito ng isang file na may isang extension na .xz, maaari naming mai-install ang file na ito gamit ang pacman.

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

Pag-install ng Java Oracle para sa ARM

Matapos i-install ang madsonic napansin ko iyon openjdk gumagamit ng halos 100% na processor at samakatuwid ito ay kumakatawan sa hindi magandang pagganap ng Raspberry Pi.

Ang solusyon sa problemang ito ay ang paggamit ng Oracle Java para sa arkitekturang ARM. Para sa karagdagang impormasyon sa paksang ito, maaari mong suriin ang artikulo ng orakulo kung saan ipinakita nila ang Oracle Java vs OpenJDK Benchmark dito link.

Ina-download namin ang Java Oracle para sa arkitekturang 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 "

I-zip ang file sa path / opt / java-oracle /

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

Lumilikha kami ng variable ng kapaligiran sa Java Home at nai-back up ang OpenJDK Java executable.

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

Lumilikha kami ng mga simbolikong link para sa Dyaba y Javanese.

# 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

Ngayon ay maaari naming subukan ang pag-install ng java gamit ang utos java -version

[eroland @ alarmpi ~] $ java -version java bersyon "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)

Ina-edit namin ang madsonic config file upang magamit nito ang Java Oracle at hindi Java OpenJDK.

# nano /var/madsonic/madsonic.sh

At binabago namin ang linya JAVA_HOME sa gayon ito ay ang mga sumusunod:

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

Madsonic na pagsasaayos

Ang madsonic config ay tapos na sa file /var/madsonic/madsonic.sh, ang unang bagay na ginagawa namin ay suportahan ito.

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

Sa file na ito maaari mong baguhin ang port na gagamitin ng madsonic (bilang default gumagamit ito ng port 4040), ang path ng folder kung saan maiimbak ang mga kanta, atbp.

Magdaragdag kami ng a Panlabas na hard drive konektado sa pamamagitan ng USB kung saan ilalagay namin ang mga kanta upang i-play.

Kung ang hard drive ay nai-format NTFS, kailangan mong i-install ang ntfs-3g package upang mai-mount ang disk.

# pacman -S ntfs-3g

Lumilikha kami ng folder kung saan mai-mount ang hard drive at binibigyan namin ito ng mga kinakailangang pahintulot

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

Nakukuha namin ang mount point ng aming Hard drive

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

Sa aking kaso, interesado ako sa disk na may label na Data na matatagpuan sa / Dev / sda2

Gayunpaman, ang paggamit ng label upang mai-mount ang disc ay hindi lubos na inirerekomenda, na parang nagbago ang label, hindi maaaring mai-mount ang disc.

Nakukuha namin ang natatanging identifier (Uuid) mula sa aming hard drive.

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

Magkakaroon kami ng isang resulta na katulad nito:

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

Isusulat namin ang UUID ng aming hard drive (sa kasong ito 58F6AA78F6AA55D2)

Idinagdag namin ang sumusunod na linya sa dulo ng file / etc / fstab

UUID = 58F6AA78F6AA55D2 / mnt / Data ntfs-3g default 0 0
Tandaan na baguhin ang UUID, para sa isang nakuha mula sa mga utos sa itaas

I-restart namin ang aming Raspberry Pi at ang hard drive ay awtomatikong mai-mount.

Sa wakas sinisimulan namin ang madsonic service:

# systemctl simulan ang madsonic.service

Kung nais naming awtomatikong magsimula ang serbisyo sa tuwing naglo-load ang system.

# systemctl paganahin ang madsonic.service

At voila, mayroon kaming aming music streaming server.

Kapag ang serbisyo ng baliw na baliw, maaari kaming ipasok mula sa aming ginustong browser sa IP address ng aming Raspberry Pi kasama ang port 4040, sa aking kaso ito ay 192.168.17.1:4040 at pumapasok kami gamit ang data gumagamit = admin password = admin.

baliw na baliw

Nasa loob na ng web interface maaari kaming magdagdag ng mga bagong gumagamit at baguhin ang default na password.

Sa gayon, ito ang aking unang kontribusyon, sana ay magustuhan mo ito.

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


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   x11tete11x dijo

    Wala akong rasp ngunit kung ang isang home streaming server xD, nakagamit ka na ba ng mediatomb? Kung gayon, ano ang masasabi mo sa akin kumpara sa isang ito? Gumagamit ako ng mediatomb, sa unang tingin, binibigyan ng madsonic interface ang xD mediatomb ng isang libu-libong liko, Kung ano ang interesado ako ng marami ay malalaman kung maaari mong gawin ang streaming sa pamamagitan ng "WAN" at kung ito ay sa pamamagitan ng isang mas mahusay na secure na protokol, dahil pinapayagan ito ng mediatomb na pamahalaan sa pamamagitan ng web ngunit hindi sa https, at pati na rin ( Sa ngayon nakahanap lang ako ng isang kliyente para sa android) Maaari akong mag-streaming sa mediatomb sa pamamagitan ng WAN (kung mula sa cell phone habang nasa kahit saan maaari akong maglaro ng musika mula sa aking server sa bahay) dahil nag-aalinlangan ako sa seguridad ng protocol na inilalagay ko ang mga password na hindi panatilihin ang anumang kaugnayan sa mga karaniwang ginagamit ko, at ang parehong mediatomb ay pinagana ng mga pahintulot upang kung may mag-access ay hindi nila mahawakan ang anumang xD

    1.    eroland dijo

      Kumusta, hindi ako gumamit ng mediatomb. Tungkol sa iyong mga katanungan, syempre maaari mong gamitin ang madsonic sa pamamagitan ng WAN, gumagamit ako ng madsonic sa pamamagitan ng WAN at gumagana ito nang napakahusay para sa akin. Pinapayagan ng Madsonic ang paggamit ng https, kailangan mo lamang itong paganahin sa iyong file sa pagsasaayos: madsonic_https_port = 8443 at voila 🙂
      Tungkol sa mga application para sa android, gumagamit ako ng isang ultrasonic call, napakahusay nito, pinapayagan itong mag-imbak ng mga kanta sa cache upang makinig nang walang koneksyon xD

      Pagbati.

    2.    Ronal dijo

      Kaibigan, anong karanasan ang mayroon ka sa Arch ARM? Gumagamit ako ng Arko .. mag-install ng rasbian. Ngunit napagod ako sa mga problema sa mga repos. Gusto ko si Arch. Paano ang tungkol sa mga package na wala sa opisyal na repo. Halimbawa ng AUR packages, maaari ba silang maiipon?

  2.   tanrax dijo

    Napakainteresyong artikulo!
    Nagawa ko ang isang mabilis na paghahanap upang makita ang iyong kliyente sa Android at nakita ko na ito ay binabayaran. Mayroon bang isang libreng alternatibo?

    1.    eroland dijo

      Kumusta, kung may mga libreng kahalili, gumagamit ako ng ultrasonic.
      https://play.google.com/store/apps/details?id=com.thejoshwa.ultrasonic.androidapp&hl=es

      Pagbati.

  3.   msx dijo

    Ang Subsonic ay isang hayop at hindi gumagamit ng dumi ng Java. Kung hindi ako nagkakamali, ang sarilingCloud ay maaari ring mag-stream ng audio at video at sobrang ilaw - hindi bababa sa kumpara sa pagkakaroon ng JVM na tumatakbo at isa pang mabibigat na application.

    Dapat mamatay ang Java - kapareho ng Flash.

    1.    eroland dijo

      Sa katunayan ang sarilingCloud ay may pangunahing serbisyo sa streaming, ang kalamangan na nakikita ko para sa subsonic ay ang posibilidad ng transcoding, kung sakaling mayroon silang maraming flac na musika halimbawa. At tama ka rin, ang paggamit ng java ay isang mabigat na programa, subalit sa ngayon wala akong mga problema sa paggamit ng isang 256MB RAM Raspberry.

      1.    eliotime3000 dijo

        Sa gayon, ang OpenJDK 7 (hindi 6 tulad ng ipinakita ng Oracle) ay mas matatag sa mga tuntunin ng pagganap. Gayunpaman, kung mayroong isang bersyon nang walang Java, binabati kita (hindi bababa sa, ito ay isang mahusay na kahalili sa Spotify).

        At sa pamamagitan ng paraan, mayroon bang OWnCloud para sa Streaming?! Tila 4shared na.

  4.   rolo dijo

    Gumagamit ako ng minidlna, walang kinakain ito at maaari kang magkaroon ng pag-access sa mga video, larawan at musika at kinukuha ko sila mula sa isang video player sa pc o sa tv, nagbibigay din ito ng posibilidad na maglagay ng isang napaka-limitadong web page.

    Isa pang bagay, ang Madsonic ay ang isang streaming service o streamer? «… Ang Madsonic ay isang web-based media streamer at jukebox fork ng Subsonic…. , Sinusuportahan ng Madsonic ang on-the-fly na pag-convert at streaming ng halos anumang audio format,… »Hindi ko alam kung magkano ang pagkakaiba sa pagitan ng isang term sa isa pa

    1.    eroland dijo

      Hindi ako sigurado kung ano ang pagkakaiba, tila sa akin ang streamer ay ginagamit upang sabihin na ang software ay may kakayahang mag-streaming, ngunit inuulit ko, hindi ako sigurado xD

  5.   Ang op dijo

    Kasalukuyan akong gumagamit ng Ampache, mula sa Subsonic tulad ng nakita kong ito ay libreng software na may lisensya ng GPL3 ngunit kung nais mong magkaroon ng lahat ng mga tampok dapat kang magbayad ng isang key ng lisensya para sa server na naka-mount sa subsonic, tulad ng para sa madsonic na hindi ko alam ito, ito ay magiging isang bagay ng pagsubok ito, maaari mong sabihin sa akin Ano ang mga pakinabang na maaaring mayroon ako kung gumamit ako ng madsonic sa halip na ampache.

    1.    eroland dijo

      Kumusta, ang madsonic ay isang tinidor ng subsonic, sa madsonic lamang hindi na kailangang magbayad para sa isang susi. Tungkol sa Ampache, hindi ko ito nagamit, - at hindi ko masabi sa iyo kung ano ang mga kalamangan ng madsonic patungkol sa ampache, sa google nahanap ko ang link na ito, marahil maaari itong maging tulong: http://www.brunobense.com/2013/04/subsonic_ftw/.