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 у цьому за посиланням.

Ми завантажуємо 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