Madsonic: Инсталирайте Music Streaming Server на Raspberry Pi

В този урок ще обясня как да инсталирам сървър за стрийминг на музика (madsonic) в Raspberry Pi с ArchLinux ARM.
За да видите урок за това как да инсталирате Arch Linux на Raspberry Pi можете да погледнете това пускат.

Препоръчително е да не инсталирате графична среда на Raspberry Pi, тъй като тя използва много памет. Вместо това е по-добре винаги да работите с помощта на ssh връзка.

Основните характеристики на madsonic са следните:

  • Интуитивен уеб интерфейс
  • Поддържа прекодиране в различни формати (напр. FLAC> mp3)
  • Има клиенти за Android и iOS

Ограничете RAM за създаване на GPU и суап област (SWAP)

Следващите стъпки не са задължителни, но препоръчвам да ги направите, за да избегнете изчерпването на RAM на Raspberry.

Сървърът madsonic работи под Java, следователно на 256MB RAM Raspberry Pi използва около 50% от RAM. В този случай препоръчвам да създадете зона за обмен (суап), за да се предотврати изчерпването на паметта на Raspberry Pi.

1. Създаваме файл, който ще се използва като зона за обмен на файлове и му присвояваме пространство от 512 MB

# fallocate -l 512M / swapfile

2. Присвояваме разрешения за четене и запис на файла.

# chmod 600 / swapfile

3. Форматираме като суап

# mkswap / swapfile

3. Активираме суап

# swapon / swapfile

4. Добавяме следния ред към файла / И т.н. / fstab за да монтирате суапа автоматично.

/ swapfile няма swap по подразбиране 0 0

5. Ние модифицираме файла /etc/sysctl.d/99-sysctl.conf така че писането в суап се извършва само в случай, че разполагаме с малко RAM. Добавяме следния ред

vm.swappiness = 10

6. Използване на командата free -h проверяваме количеството RAM, което имаме.
Потокова RAM


7. Ние модифицираме файла /boot/config.txt в зависимост от модела Raspberry Pi, който имаме, за да ограничим количеството RAM, разпределено за графиката.

ВНИМАВАЙ! Ако поставим твърде малко RAM за графичния процесор, Raspberry няма да се стартира и ще трябва да въведем SD картата на компютър, за да поправим файла /boot/config.txt

Ще отделим 64MB RAM за графика.

  • За Raspberry Pi модел A (с 256 MB RAM) модифицираме линията gpu_mem_256 = 128 от gpu_mem_256 = 64
  • За Raspberry Pi модел B (с 512 MB RAM) модифицираме линията gpu_mem_512 = 316 от gpu_mem_512 = 64

Овърклок (по избор)

Препоръчвам да използвате охлаждащ източник, за да предотвратите прегряване на малината

Ще редактираме файла /boot/config.txt и ще коментираме някои от опциите за овърклок, намерени в края на файла.

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

Използвах опцията Modest (800 скорост), с тази скорост моя Raspberry Pi Той работи добре.

Инсталация на Madsonic

Madsonic е в Потребителско хранилище на Arch Linux (AUR), следователно се нуждаем от базовия пакет, за да можем да компилираме AUR програми.

Инсталираме необходимите пакети:

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

Създаваме директория за компилацията и изтегляме madsonic от AUR.

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

Извличаме файловете и редактираме файла PKGBUILD за да добавите поддръжка за ARM процесори. Търсим линията арх = ('i686' 'x86_64') и добавяме
'armv6h'.

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

Използваме командата makepkg за да изтеглите и компилирате код на madsonic. Това може да отнеме много време. Бъди търпелив.

$ makepkg -g >> PKGBUILD $ makepkg

Командата makepkg ще генерира файл с разширение .xz, този файл може да бъде инсталиран с помощта на pacman.

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

Инсталиране на Java Oracle за ARM

След инсталирането на madsonic забелязах това openjdk той използва почти 100% процесор и следователно това представлява ниска производителност на Raspberry Pi.

Решението на този проблем е да се използва Oracle Java за ARM архитектура. За повече информация по тази тема можете да проверите статията на oracle, където те показват Oracle Java срещу OpenJDK Benchmark в това връзка.

Изтегляме Java Oracle за ARM архитектура

wget --no-cookies \ --no-check-certificate --header "Бисквитка: 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 "

Разархивирайте файла в пътя / opt / java-oracle /

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

Създаваме променлива на средата на Java Home и архивираме изпълнимите файлове на OpenJDK Java.

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

Ние създаваме символни връзки за Ява y явански.

# 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

Сега можем да тестваме инсталацията на java с командата java -version

[eroland @ alarmpi ~] $ java -version java version "1.7.0_55" Java (TM) SE Runtime Environment (компилация 1.7.0_55-b13) Java HotSpot (TM) Client VM (компилация 24.55-b03, смесен режим)

Редактираме конфигурационния файл на madsonic, за да използва Java Oracle, а не Java OpenJDK.

# nano /var/madsonic/madsonic.sh

И ние модифицираме линията JAVA_HOME така че да е както следва:

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

Madsonic конфигурация

Конфигурирането на madsonic се извършва във файла /var/madsonic/madsonic.sh, първото нещо, което правим, е да го подкрепим.

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

В този файл можете да промените порта, който ще използва madsonic (по подразбиране използва порт 4040), пътя на папката, в която ще се съхраняват песните и т.н.

Ще добавим a Външен твърд диск свързан чрез USB, където ще пуснем песните да се възпроизвеждат.

Ако твърдият диск е форматиран NTFS, трябва да инсталирате пакета ntfs-3g, за да монтирате диска.

# pacman -S ntfs -3g

Създаваме папката, в която ще бъде монтиран твърдият диск, и му даваме необходимите разрешения

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

Получаваме точката на монтиране на нашата твърд диск

$ ls -l / dev / disk / by-label / общо 0 lrwxrwxrwx 1 корен корен 10 декември 31 1969 г. Данни -> ../../sda2 lrwxrwxrwx 1 корен корен 10 декември 31 1969 PS3 -> ../../ sda1

В моя случай се интересувам от диска с етикет с данни, намерен в / Dev / sda2

Използването на етикета за монтиране на диска обаче не е силно препоръчително, тъй като ако етикетът се промени, дискът не може да бъде монтиран.

Получаваме уникалния идентификатор (UUID) от нашия твърд диск.

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

Ще имаме резултат, подобен на този:

[eroland @ alarmpi ~] $ ls -l / dev / disk / by-uuid / общо 0 lrwxrwxrwx 1 корен корен 10 дек 31 1969 19F4-1917 -> ../../sda1 lrwxrwxrwx 1 корен корен 15 дек 31 1969 2300 -4E18 -> ../../mmcblk0p1 lrwxrwxrwx 1 корен корен 10 декември 31 г. 1969F58AA6F78AA6D55 -> ../../sda2 lrwxrwxrwx 2 корен корен 1 декември 15 31 b1969cde471-8a2-15e44-acce-e7a9a2 .. / mmcblk54511p6

Записваме UUID на нашия твърд диск (в този случай 58F6AA78F6AA55D2)

Добавяме следния ред в края на файла / И т.н. / fstab

UUID = 58F6AA78F6AA55D2 / mnt / Data ntfs-3g по подразбиране 0 0
Не забравяйте да промените UUID за този, получен от командите по-горе

Рестартираме Raspberry Pi и твърдият диск ще се монтира автоматично.

Накрая стартираме услугата madsonic:

# systemctl стартира madsonic.service

Ако искаме услугата да стартира автоматично всеки път, когато системата се зареди.

# systemctl активира madsonic.service

И voila, ние имаме нашия сървър за стрийминг на музика.

След като услугата на madsonic, можем да влезем от предпочитания от нас браузър до IP адреса на нашата Raspberry Pi заедно с порт 4040, в моя случай е така 192.168.17.1:4040 и въвеждаме с помощта на данните потребител = администратор парола = администратор.

madsonic

Вече в рамките на уеб интерфейса можем да добавяме нови потребители и да променяме паролата по подразбиране.

Е, това е първият ми принос, надявам се да ви хареса.

Фуентес:
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


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   x11tete11x каза той

    Нямам рашпил, но ако сървър за домашно стрийминг xD, използвал ли си някога mediatomb? Ако да, какво можеш да ми кажеш в сравнение с този? Използвам mediatomb, на пръв поглед madsonic интерфейсът дава xD mediatomb a хиляди завъртания, Това, което би ме интересувало много, би било да знам дали можете да предавате поточно чрез "WAN" и дали е чрез по-сигурен протокол, защото mediatomb позволява да се управлява чрез мрежата, но не с https, а също така (така далеч намерих само клиент за android) стрийминг с mediatomb през WAN (ако от мобилния телефон, докато съм навсякъде, мога да пускам музика от домашния си сървър), тъй като се съмнявам в сигурността на протокола, поставям пароли, които не поддържат никаква връзка с тези, които обикновено използвам, и същата mediatomb е разрешена за разрешения, така че в случай че някой има достъп, не може да докосне нищо xD

    1.    eroland каза той

      Здравейте, не съм използвал mediatomb. По отношение на вашите въпроси, разбира се, можете да използвате madsonic чрез WAN, аз използвам madsonic през WAN и ми работи много добре. Madsonic разрешава използването на https, просто трябва да го активирате във вашия конфигурационен файл: madsonic_https_port = 8443 и това е 🙂
      По отношение на приложенията за android, използвам ултразвуков разговор, това е много добре, позволява ви да съхранявате песни в кеш, за да слушате без връзка xD

      Поздрави.

    2.    Невроналните каза той

      Приятелю, какъв опит имаш с Arch ARM? Аз съм потребител на Arch .. инсталирам rasbian. Но се уморих от проблемите с репо-сделките. Искам Arch.Ами пакетите, които не са в официалното репо. Например пакетите AUR, могат ли да се компилират?

  2.   Танракс каза той

    Много интересна статия!
    Направих бързо търсене, за да видя клиента ви на Android и видях, че той е платен. Има ли безплатна алтернатива?

    1.    eroland каза той

      Здравейте, ако има безплатни алтернативи, използвам ултразвук.
      https://play.google.com/store/apps/details?id=com.thejoshwa.ultrasonic.androidapp&hl=es

      Поздрави.

  3.   MSX каза той

    Subsonic е звяр и не използва Java тор. Ако не се лъжа, ownCloud може също така да предава аудио и видео и е свръхлек - поне в сравнение с JVM, работещ и тежко друго приложение.

    Java трябва да умре - същото като Flash.

    1.    eroland каза той

      Всъщност ownCloud има основна услуга за стрийминг, предимството, което виждам за дозвуковото, е възможността за прекодиране, в случай че имат много flac музика например. И вие също сте прав, използването на java е тежка програма, но засега не съм имал проблеми с използването на 256MB RAM Raspberry.

      1.    eliotime3000 каза той

        Е, OpenJDK 7 (не 6, както показва Oracle) е много по-стабилен по отношение на производителността. Ако обаче има версия без Java, поздравления (поне това е добра алтернатива на Spotify).

        И между другото, OWnCloud има ли за стрийминг?! Вече изглежда 4shared.

  4.   Rolo каза той

    Използвам minidlna, той не консумира нищо и можете да имате достъп до видеоклипове, снимки и музика и ги заснемам от видео плейър на компютъра или на телевизора, а също така дава възможност за поставяне на много ограничена уеб страница.

    Друго нещо, Madsonic е услуга за стрийминг или стример? «... Madsonic е уеб базиран медиен стриймър и вилица за джубокс на Subsonic…. , Madsonic поддържа текущо преобразуване и стрийминг на практически всеки аудио формат, ... »Не знам колко голяма е разликата между един и друг термин

    1.    eroland каза той

      Не съм сигурен каква е разликата, струва ми се, че стримерът се използва, за да се каже, че софтуерът е в състояние да стрийминг, но повтарям, не съм сигурен xD

  5.   Оп каза той

    Понастоящем използвам Ampache от Subsonic, тъй като видях, че това е безплатен софтуер, лиценз GPL3, но ако искате да притежавате всички характеристики, трябва да платите лицензен ключ за сървъра, монтиран с дозвук, тъй като за madsonic не го знаех , ще бъде въпрос на тестване, можете да ми кажете какви предимства бих могъл да имам, ако използвам madsonic вместо ampache.

    1.    eroland каза той

      Здравейте, madsonic е вилица на дозвук, само че в madsonic няма нужда да плащате за ключ. По отношение на Ampache, не съм го използвал - и не можах да ви кажа какви са предимствата на madsonic по отношение на ampache, в google намерих тази връзка, може би може да бъде от помощ: http://www.brunobense.com/2013/04/subsonic_ftw/.