У цьому підручнику я розповім, як встановити сервер потокового передавання музики (мадсонік) в с Raspberry Pi з ArchLinux ARM.
Щоб переглянути підручник із встановлення Arch Linux на Raspberry Pi ви можете подивитися на це після.
Основними особливостями madsonic є наступні:
- Інтуїтивно зрозумілий веб-інтерфейс
- Підтримує перекодування в різні формати (Наприклад, FLAC> mp3)
- У нього є клієнти для Android та iOS
Обмежити оперативну пам'ять для створення графічного процесора та області обміну (SWAP)
Сервер 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, яку ми маємо, обмежити обсяг оперативної пам'яті, виділеної для графіки.
Ми виділимо 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
Розгін (необов’язково)
Ми відредагуємо файл /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
Ми перезапускаємо 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
У мене немає рашпиля, але якщо на домашньому сервері потокового передавання xD, ви коли-небудь використовували mediatomb? Якщо так, що ви можете сказати мені порівняно з цим? Я використовую mediatomb, на перший погляд, інтерфейс madsonic надає xD mediatomb тисячу оборотів, Мені б дуже цікаво було б знати, чи можна робити трансляцію через "WAN", і якщо це за кращим захищеним протоколом, оскільки mediatomb дозволяє керувати нею через Інтернет, але не за допомогою https, а також (поки що я знайшов лише клієнта для android) я можу це зробити потокове передавання з mediatomb через WAN (якщо з мобільного телефону, перебуваючи в будь-якому місці, я можу відтворювати музику з домашнього сервера), оскільки я сумніваюся в безпеці протоколу, я ставлю паролі, які не мають жодного зв’язку з тими, якими я зазвичай користуюся, і та сама mediatomb увімкнена дозволів, так що якщо хтось звертається, він не може торкнутися нічого xD
Здрастуйте, я не використовував mediatomb. Щодо ваших питань, звичайно, ви можете використовувати madsonic через WAN, я використовую madsonic через WAN, і це дуже добре для мене працює. Madsonic дозволяє використовувати https, вам просто потрібно його увімкнути у своєму файлі конфігурації: madsonic_https_port = 8443 та voila vo
Щодо програм для android, я використовую ультразвуковий дзвінок, це дуже добре, це дозволяє зберігати пісні в кеші для прослуховування без підключення xD
Привіт.
Друже, який ти маєш досвід роботи з Arch ARM? Я користувач Arch .. встановити rasbian. Але я втомився від проблем із репо. Я хочу Arch.А як щодо пакетів, яких немає в офіційному репо. Наприклад, пакети AUR, чи можна їх скомпілювати?
Дуже цікава стаття!
Я зробив швидкий пошук, щоб побачити вашого клієнта на Android, і я переконався, що він оплачується. Чи існує безкоштовна альтернатива?
Привіт, якщо є безкоштовні альтернативи, я використовую ультразвук.
https://play.google.com/store/apps/details?id=com.thejoshwa.ultrasonic.androidapp&hl=es
Привіт.
Дозвуковий - звір і не використовує Java-навоз. Якщо я не помиляюся, ownCloud також може передавати аудіо та відео та є надлегким - принаймні порівняно з тим, що працює JVM та важка інша програма.
Java повинна померти - те саме, що Flash.
Справді, ownCloud має базову послугу потокового передавання, перевагою, яку я бачу для дозвукової, є можливість перекодування, якщо у них, наприклад, багато музики flac. І ви також маєте рацію, використовуючи java - важка програма, однак наразі у мене не було проблем із використанням 256 Мб оперативної пам'яті Raspberry.
Ну, OpenJDK 7 (а не 6, як показує Oracle) набагато стабільніший з точки зору продуктивності. Однак, якщо існує версія без Java, вітаємо (принаймні, це хороша альтернатива Spotify).
І до речі, чи є OWnCloud для потокового передавання ?! Це вже здається 4shared.
Я використовую minidlna, він нічого не споживає, і ви можете мати доступ до відео, фотографій та музики, і я захоплюю їх із відеоплеєра на ПК або на телевізорі, це також дає можливість розміщення дуже обмеженої веб-сторінки.
Інша річ, Madsonic - це послуга потокової передачі чи стример? «... Madsonic - це веб-медіа-стример та форк музичного автомата Subsonic…. , Madsonic підтримує поточне перетворення та потокове передавання практично будь-якого аудіоформату,… »Я не знаю, наскільки велика різниця між одним терміном та іншим
Я не впевнений, у чому різниця, мені здається, що стример використовується, щоб сказати, що програмне забезпечення здатне до потокової передачі, але я повторюю, я не впевнений xD
В даний час я використовую Ampache від Subsonic, оскільки я бачив, що це безкоштовне програмне забезпечення, ліцензія GPL3, але якщо ви хочете мати всі характеристики, ви повинні заплатити ліцензійний ключ для сервера, який встановлений з дозвуковою системою, як для madsonic, я цього не знав , це буде питання його тестування, ви могли б сказати мені, які переваги я міг би мати, якщо я використовую madsonic замість ampache.
Привіт, madsonic - це вилка дозвукової, тільки в madsonic немає необхідності платити за ключ. Щодо Ampache, я ним не користувався, - і я не міг сказати вам, які переваги madsonic по відношенню до ampache, у google я знайшов це посилання, можливо, це може допомогти: http://www.brunobense.com/2013/04/subsonic_ftw/.