Madsonic: Встановіть сервер потокового передавання музики на Raspberry Pi

У цьому підручнику я розповім, як встановити сервер потокового передавання музики (мадсонік) в с Raspberry Pi з ArchLinux ARM.
Щоб переглянути підручник із встановлення Arch Linux на Raspberry Pi ви можете подивитися на це після.

Не рекомендується встановлювати графічне середовище на Raspberry Pi, оскільки воно використовує багато пам'яті. Натомість краще завжди працювати за допомогою з'єднання ssh.

Основними особливостями madsonic є наступні:

  • Інтуїтивно зрозумілий веб-інтерфейс
  • Підтримує перекодування в різні формати (Наприклад, FLAC> mp3)
  • У нього є клієнти для Android та iOS

Обмежити оперативну пам'ять для створення графічного процесора та області обміну (SWAP)

Наступні кроки є необов’язковими, але я рекомендую робити їх, щоб уникнути, що в Raspberry не вистачає оперативної пам'яті.

Сервер madsonic працює під Java, тому на 256 Мб оперативної пам'яті Raspberry Pi він використовує близько 50% оперативної пам'яті. У цьому випадку я рекомендую створити файл площа обміну (обмін), щоб у Raspberry Pi не вистачало пам'яті.

1. Ми створюємо файл, який буде використовуватися як область обміну файлами, і призначаємо йому простір 512 МБ

# fallocate -l 512M / файл підкачки

2. Ми призначаємо файлу дозволи на читання та запис.

# chmod 600 / файл підкачки

3. Ми форматуємо як своп

# mkswap / swapfile

3. Ми активуємо своп

# swapon / swapfile

4. Додаємо наступний рядок до файлу / etc / fstab для автоматичного встановлення свопу.

/ swapfile немає swap за замовчуванням 0 0

5. Ми модифікуємо файл /etc/sysctl.d/99-sysctl.conf так що запис у підкачку робиться лише в тому випадку, якщо у нас мало оперативної пам'яті. Додаємо наступний рядок

vm.swappiness = 10

6. Використання команди вільний-х Ми перевіряємо обсяг оперативної пам'яті, який у нас є.
Потокова оперативна пам’ять


7. Ми модифікуємо файл /boot/config.txt залежно від моделі Raspberry Pi, яку ми маємо, обмежити обсяг оперативної пам'яті, виділеної для графіки.

СТЕРЕЖИСЬ! Якщо ми введемо занадто мало оперативної пам'яті для графічного процесора, Raspberry не запуститься, і нам доведеться вводити SD-карту на комп'ютер для відновлення файлу /boot/config.txt

Ми виділимо 64 Мб оперативної пам'яті для графіки.

  • Для Raspberry Pi моделі A (з 256 МБ оперативної пам'яті) ми модифікуємо лінію gpu_mem_256 = 128 по gpu_mem_256 = 64
  • Для Raspberry Pi моделі B (з 512 МБ оперативної пам'яті) ми модифікуємо лінійку gpu_mem_512 = 316 по gpu_mem_512 = 64

Розгін (необов’язково)

Я рекомендую використовувати джерело охолодження, щоб запобігти перегріванню Raspberry

Ми відредагуємо файл /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

Я скористався скромним варіантом (швидкість 800), з цією швидкістю мій Raspberry Pi Це добре працює.

Інсталяція Madsonic

Madsonic знаходиться в Репозиторій користувачів Arch Linux (AUR), тому нам потрібен пакет base-devel для компіляції програм 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 у цьому link.

Ми завантажуємо Java Oracle для архітектури 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 "

Розпакуйте файл у шляху / 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-версія

[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, змішаний режим)

Ми редагуємо файл конфігурації 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 / total 0 lrwxrwxrwx 1 кореневий корінь 10 грудня 31 1969 19F4-1917 -> ../../sda1 lrwxrwxrwx 1 кореневий корінь 15 грудня 31 1969 2300 -4E18 -> ../../mmcblk0p1 lrwxrwxrwx 1 кореневий корінь 10 грудня 31 1969 58F6AA78F6AA55D2 -> ../../sda2 lrwxrwxrwx 1 кореневий корінь 15 грудня 31 1969 b471cde8-2a15-44e7-acce-e9a2a54511 /../mmcblk6p0

Ми записуємо UUID нашого жорсткого диска (у цьому випадку 58F6AA78F6AA55D2)

Додаємо наступний рядок у кінці файлу / etc / fstab

UUID = 58F6AA78F6AA55D2 / mnt / Дані ntfs-3g за замовчуванням 0 0
Не забудьте змінити UUID на той, який отримано з наведених вище команд

Ми перезапускаємо Raspberry Pi, і жорсткий диск буде автоматично встановлений.

Нарешті, ми запускаємо службу madsonic:

# systemctl запустити madsonic.service

Якщо ми хочемо, щоб служба запускалася автоматично при кожному завантаженні системи.

# systemctl увімкнути madsonic.service

І вуаля, у нас є сервер для потокової передачі музики.

Одного разу послуга мадсонік, ми можемо ввести з улюбленого браузера на IP-адресу нашої Raspberry Pi разом із портом 4040, в моєму випадку це так 192.168.17.1:4040 і ми вводимо, використовуючи дані користувач = адміністратор пароль = адміністратор.

мадсонік

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

Ну, це мій перший внесок, сподіваюся, вам сподобається.

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


12 коментарі, залиште свій

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

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

  1.   x11tete11x - сказав він

    У мене немає рашпиля, але якщо на домашньому сервері потокового передавання xD, ви коли-небудь використовували mediatomb? Якщо так, що ви можете сказати мені порівняно з цим? Я використовую mediatomb, на перший погляд, інтерфейс madsonic надає xD mediatomb тисячу оборотів, Мені б дуже цікаво було б знати, чи можна робити трансляцію через "WAN", і якщо це за кращим захищеним протоколом, оскільки mediatomb дозволяє керувати нею через Інтернет, але не за допомогою https, а також (поки що я знайшов лише клієнта для android) я можу це зробити потокове передавання з mediatomb через WAN (якщо з мобільного телефону, перебуваючи в будь-якому місці, я можу відтворювати музику з домашнього сервера), оскільки я сумніваюся в безпеці протоколу, я ставлю паролі, які не мають жодного зв’язку з тими, якими я зазвичай користуюся, і та сама mediatomb увімкнена дозволів, так що якщо хтось звертається, він не може торкнутися нічого xD

    1.    eroland - сказав він

      Здрастуйте, я не використовував mediatomb. Щодо ваших питань, звичайно, ви можете використовувати madsonic через WAN, я використовую madsonic через WAN, і це дуже добре для мене працює. Madsonic дозволяє використовувати https, вам просто потрібно його увімкнути у своєму файлі конфігурації: madsonic_https_port = 8443 та voila vo
      Щодо програм для android, я використовую ультразвуковий дзвінок, це дуже добре, це дозволяє зберігати пісні в кеші для прослуховування без підключення xD

      Привіт.

    2.    Ronal - сказав він

      Друже, який ти маєш досвід роботи з 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 - сказав він

    Дозвуковий - звір і не використовує Java-навоз. Якщо я не помиляюся, ownCloud також може передавати аудіо та відео та є надлегким - принаймні порівняно з тим, що працює JVM та важка інша програма.

    Java повинна померти - те саме, що Flash.

    1.    eroland - сказав він

      Справді, ownCloud має базову послугу потокового передавання, перевагою, яку я бачу для дозвукової, є можливість перекодування, якщо у них, наприклад, багато музики flac. І ви також маєте рацію, використовуючи java - важка програма, однак наразі у мене не було проблем із використанням 256 Мб оперативної пам'яті Raspberry.

      1.    eliotime3000 - сказав він

        Ну, OpenJDK 7 (а не 6, як показує Oracle) набагато стабільніший з точки зору продуктивності. Однак, якщо існує версія без Java, вітаємо (принаймні, це хороша альтернатива Spotify).

        І до речі, чи є OWnCloud для потокового передавання ?! Це вже здається 4shared.

  4.   роло - сказав він

    Я використовую 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/.