В този урок ще обясня как да инсталирам сървър за стрийминг на музика (madsonic) в Raspberry Pi с ArchLinux ARM.
За да видите урок за това как да инсталирате Arch Linux на Raspberry Pi можете да погледнете това пускат.
Основните характеристики на madsonic са следните:
- Интуитивен уеб интерфейс
- Поддържа прекодиране в различни формати (напр. FLAC> mp3)
- Има клиенти за Android и iOS
Ограничете RAM за създаване на GPU и суап област (SWAP)
Сървърът 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, което имаме.
7. Ние модифицираме файла /boot/config.txt в зависимост от модела Raspberry Pi, който имаме, за да ограничим количеството RAM, разпределено за графиката.
Ще отделим 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
Рестартираме Raspberry Pi и твърдият диск ще се монтира автоматично.
Накрая стартираме услугата madsonic:
# systemctl стартира madsonic.service
Ако искаме услугата да стартира автоматично всеки път, когато системата се зареди.
# systemctl активира madsonic.service
И voila, ние имаме нашия сървър за стрийминг на музика.
След като услугата на madsonic, можем да влезем от предпочитания от нас браузър до IP адреса на нашата Raspberry Pi заедно с порт 4040, в моя случай е така 192.168.17.1:4040 и въвеждаме с помощта на данните потребител = администратор парола = администратор.
Вече в рамките на уеб интерфейса можем да добавяме нови потребители и да променяме паролата по подразбиране.
Е, това е първият ми принос, надявам се да ви хареса.
Фуентес:
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 a хиляди завъртания, Това, което би ме интересувало много, би било да знам дали можете да предавате поточно чрез "WAN" и дали е чрез по-сигурен протокол, защото mediatomb позволява да се управлява чрез мрежата, но не с https, а също така (така далеч намерих само клиент за android) стрийминг с mediatomb през WAN (ако от мобилния телефон, докато съм навсякъде, мога да пускам музика от домашния си сървър), тъй като се съмнявам в сигурността на протокола, поставям пароли, които не поддържат никаква връзка с тези, които обикновено използвам, и същата mediatomb е разрешена за разрешения, така че в случай че някой има достъп, не може да докосне нищо xD
Здравейте, не съм използвал mediatomb. По отношение на вашите въпроси, разбира се, можете да използвате madsonic чрез WAN, аз използвам madsonic през WAN и ми работи много добре. Madsonic разрешава използването на https, просто трябва да го активирате във вашия конфигурационен файл: madsonic_https_port = 8443 и това е 🙂
По отношение на приложенията за android, използвам ултразвуков разговор, това е много добре, позволява ви да съхранявате песни в кеш, за да слушате без връзка xD
Поздрави.
Приятелю, какъв опит имаш с Arch ARM? Аз съм потребител на Arch .. инсталирам rasbian. Но се уморих от проблемите с репо-сделките. Искам Arch.Ами пакетите, които не са в официалното репо. Например пакетите AUR, могат ли да се компилират?
Много интересна статия!
Направих бързо търсене, за да видя клиента ви на Android и видях, че той е платен. Има ли безплатна алтернатива?
Здравейте, ако има безплатни алтернативи, използвам ултразвук.
https://play.google.com/store/apps/details?id=com.thejoshwa.ultrasonic.androidapp&hl=es
Поздрави.
Subsonic е звяр и не използва Java тор. Ако не се лъжа, ownCloud може също така да предава аудио и видео и е свръхлек - поне в сравнение с JVM, работещ и тежко друго приложение.
Java трябва да умре - същото като Flash.
Всъщност ownCloud има основна услуга за стрийминг, предимството, което виждам за дозвуковото, е възможността за прекодиране, в случай че имат много flac музика например. И вие също сте прав, използването на java е тежка програма, но засега не съм имал проблеми с използването на 256MB RAM 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/.