ในบทช่วยสอนนี้ฉันจะอธิบายวิธีการติดตั้งเซิร์ฟเวอร์สตรีมเพลง (บ้าโซนิค) ใน ราสเบอร์รี่ Pi กับ ArchLinux ARM.
หากต้องการดูบทแนะนำเกี่ยวกับวิธีการติดตั้ง Arch ลินุกซ์ บน Raspberry Pi คุณสามารถดูสิ่งนี้ได้ เสา.
คุณสมบัติหลักของ madsonic มีดังต่อไปนี้:
- เว็บอินเตอร์เฟสที่ใช้งานง่าย
- รองรับการแปลงรหัสเป็นรูปแบบต่างๆ (เช่น FLAC> mp3)
- มีไคลเอนต์สำหรับ Android และ iOS
จำกัด RAM สำหรับ GPU และการสร้างพื้นที่แลกเปลี่ยน (SWAP)
เซิร์ฟเวอร์ madsonic ทำงานภายใต้ Java ดังนั้นบน RAM 256MB Raspberry Pi จึงใช้ RAM ประมาณ 50% ในกรณีนี้ฉันแนะนำให้สร้างไฟล์ พื้นที่แลกเปลี่ยน (swap) เพื่อป้องกันไม่ให้ Raspberry Pi หน่วยความจำหมด
1. เราสร้างไฟล์ที่จะใช้เป็นพื้นที่แลกเปลี่ยนไฟล์และกำหนดพื้นที่ 512 MB
# fallocate -l 512M / swapfile
2. เรากำหนดสิทธิ์ในการอ่านและเขียนให้กับไฟล์
# chmod 600 / swapfile
3. เราจัดรูปแบบเป็น swap
# mkswap / swapfile
3. เราเปิดใช้งานการแลกเปลี่ยน
# swapon / swapfile
4. เราเพิ่มบรรทัดต่อไปนี้ในไฟล์ / etc / fstab เพื่อติดตั้ง swap โดยอัตโนมัติ
/ swapfile ไม่มีค่าเริ่มต้นการแลกเปลี่ยน 0 0
5. เราแก้ไขไฟล์ /etc/sysctl.d/99-sysctl.conf เพื่อให้การเขียน swap ทำได้ในกรณีที่เรามี RAM น้อยเท่านั้น เราเพิ่มบรรทัดต่อไปนี้
vm.swappiness = 10
6. ใช้คำสั่ง ฟรี -h เราตรวจสอบจำนวน RAM ที่เรามี
7. เราแก้ไขไฟล์ /boot/config.txt ขึ้นอยู่กับรุ่น Raspberry Pi ที่เรามีเพื่อ จำกัด จำนวน RAM ที่จัดสรรให้กับกราฟิก
เราจะจัดสรร RAM 64MB สำหรับกราฟิก
- สำหรับ Raspberry Pi รุ่น A (พร้อม RAM 256 MB) เราปรับเปลี่ยนบรรทัด gpu_mem_256 = 128 โดย gpu_mem_256 = 64
- สำหรับ Raspberry Pi รุ่น B (พร้อม RAM 512 MB) เราปรับเปลี่ยนบรรทัด 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) ด้วยความเร็วนี้ของฉัน ราสเบอร์รี่ Pi มันทำงานได้ดี
การติดตั้ง Madsonic
Madsonic อยู่ใน ที่เก็บผู้ใช้ Arch Linux (AUR) ดังนั้นเราจึงจำเป็นต้องมีแพ็คเกจพื้นฐานเพื่อให้สามารถคอมไพล์โปรแกรม AUR ได้
เราติดตั้งแพ็คเกจที่จำเป็น:
# pacman -S wget curl ฐานพัฒนา yajl java-runtime libcups
เราสร้างไดเร็กทอรีสำหรับการคอมไพล์และดาวน์โหลด madsonic จาก AUR.
$ mkdir สร้าง $ cd สร้าง $ wget https://aur.archlinux.org/packages/ma/madsonic/madsonic.tar.gz
เราแตกไฟล์และแก้ไขไฟล์ PKGBUILD เพื่อเพิ่มการรองรับโปรเซสเซอร์ ARM เรามองหาเส้น arch = ('i686' 'x86_64') และเราเพิ่ม
'armv6h'.
$ tar zxf madsonic.tar.gz $ cd madsonic $ nano PKGBUILD ... arch = ('i686' 'x86_64' 'armv6h')
เราใช้คำสั่ง แต่งหน้ากก เพื่อดาวน์โหลดและรวบรวมโค้ด madsonic อาจใช้เวลานาน อดทน
$ makepkg -g >> PKGBUILD $ 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 -version
[eroland @ alarmpi ~] $ java -version เวอร์ชัน java "1.7.0_55" Java (TM) SE Runtime Environment (build 1.7.0_55-b13) Java HotSpot (TM) Client VM (build 24.55-b03, mixed mode)
เราแก้ไขไฟล์คอนฟิกูเรชัน madsonic เพื่อให้ใช้ Java Oracle ไม่ใช่ Java OpenJDK
# นาโน /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) เส้นทางของโฟลเดอร์ที่จะเก็บเพลง ฯลฯ
เราจะเพิ่มไฟล์ ฮาร์ดไดรฟ์ภายนอก เชื่อมต่อด้วย USB ซึ่งเราจะใส่เพลงที่จะเล่น
หากฟอร์แมตฮาร์ดไดรฟ์ NTFSคุณต้องติดตั้งแพ็คเกจ ntfs-3g เพื่อติดตั้งดิสก์
# pacman -S ntfs-3g
เราสร้างโฟลเดอร์ที่จะติดตั้งฮาร์ดไดรฟ์และให้สิทธิ์ที่จำเป็น
# mkdir / mnt / ข้อมูล # 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 / ดิสก์ / by-uuid /
เราจะได้ผลลัพธ์คล้ายกับสิ่งนี้:
[eroland @ alarmpi ~] $ ls -l / dev / disk / by-uuid / total 0 lrwxrwxrwx 1 root root 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-e9 --a2 .. / mmcblk54511p6
เราเขียน UUID ของฮาร์ดไดรฟ์ของเรา (ในกรณีนี้ 58F6AA78F6AA55D2)
เราเพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์ / etc / fstab
UUID = 58F6AA78F6AA55D2 / mnt / ข้อมูล ntfs-3g ค่าเริ่มต้น 0 0
เรารีสตาร์ท Raspberry Pi ของเราและฮาร์ดไดรฟ์จะติดตั้งโดยอัตโนมัติ
ในที่สุดเราก็เริ่มบริการ madsonic:
# systemctl เริ่ม madsonic.service
หากเราต้องการให้บริการเริ่มต้นโดยอัตโนมัติทุกครั้งที่ระบบโหลด
# systemctl เปิดใช้งาน madsonic.service
และ voila เรามีเซิร์ฟเวอร์สตรีมเพลงของเรา
เมื่อบริการของ บ้าโซนิคเราสามารถป้อนจากเบราว์เซอร์ที่เราต้องการไปยังที่อยู่ 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 🙂
เกี่ยวกับแอปพลิเคชั่นสำหรับ Android ฉันใช้การโทรแบบอัลตราโซนิคซึ่งดีมากช่วยให้สามารถจัดเก็บเพลงในแคชเพื่อฟังโดยไม่ต้องเชื่อมต่อ xD
อาศิรพจน์
เพื่อนคุณมีประสบการณ์อย่างไรกับ Arch ARM? ฉันเป็นผู้ใช้ Arch .. ติดตั้ง rasbian แต่ฉันเบื่อกับปัญหาเกี่ยวกับ repos ฉันต้องการ Arch แล้วแพ็คเกจที่ไม่มีใน repo อย่างเป็นทางการล่ะ ตัวอย่างเช่นแพ็คเกจ AUR สามารถคอมไพล์ได้หรือไม่?
บทความน่าสนใจมาก!
ฉันได้ทำการค้นหาอย่างรวดเร็วเพื่อดูลูกค้าของคุณบน Android และฉันเห็นว่าได้รับเงินแล้ว มีทางเลือกอื่นฟรีหรือไม่?
สวัสดีถ้ามีทางเลือกฟรีฉันใช้อัลตราโซนิก
https://play.google.com/store/apps/details?id=com.thejoshwa.ultrasonic.androidapp&hl=es
อาศิรพจน์
Subsonic เป็นสัตว์ร้ายและไม่ใช้มูลของ Java ถ้าฉันไม่เข้าใจผิด ownCloud ยังสามารถสตรีมเสียงและวิดีโอได้และมีน้ำหนักเบามาก - อย่างน้อยเมื่อเทียบกับการใช้ JVM และแอปพลิเคชันอื่น ๆ ที่อยู่ด้านบน
Java ต้องตาย - เช่นเดียวกับ Flash
อันที่จริง ownCloud มีบริการสตรีมขั้นพื้นฐานข้อดีที่ฉันเห็นสำหรับ subsonic คือความเป็นไปได้ในการแปลงรหัสในกรณีที่พวกเขามีเพลง flac จำนวนมากเช่น และคุณก็พูดถูกเช่นกันการใช้ java เป็นโปรแกรมที่หนักหน่วงอย่างไรก็ตามตอนนี้ฉันไม่มีปัญหาในการใช้ Raspberry RAM 256MB
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/.