Trong hướng dẫn này, tôi sẽ giải thích cách cài đặt máy chủ phát trực tuyến nhạc (điên cuồng) trong Raspberry Pi với ArchLinux ARM.
Để xem hướng dẫn về cách cài đặt Arch Linux trên Raspberry Pi, bạn có thể xem gửi.
Các tính năng chính của madsonic là:
- Giao diện web trực quan
- Hỗ trợ chuyển mã sang nhiều định dạng khác nhau (Ví dụ: FLAC> mp3)
- Nó có ứng dụng khách cho Android và iOS
Giới hạn RAM cho GPU và tạo vùng hoán đổi (SWAP)
Máy chủ madsonic chạy dưới Java, do đó, trên Raspberry Pi RAM 256MB, nó sử dụng khoảng 50% RAM. Trong trường hợp này, tôi khuyên bạn nên tạo khu trao đổi (hoán đổi) để ngăn Raspberry Pi hết bộ nhớ.
1. Chúng tôi tạo một tệp sẽ được sử dụng làm vùng trao đổi tệp và gán cho nó một không gian 512 MB
# fallocate -l 512M / swapfile
2. Chúng tôi chỉ định quyền đọc và ghi cho tệp.
# chmod 600 / swapfile
3. Chúng tôi định dạng là hoán đổi
# mkswap / swapfile
3. Chúng tôi kích hoạt hoán đổi
# swapon / swapfile
4. Chúng tôi thêm dòng sau vào tệp / etc / fstab để gắn kết trao đổi tự động.
/ swapfile không trao đổi mặc định 0 0
5. Chúng tôi sửa đổi tệp /etc/sysctl.d/99-sysctl.conf để việc ghi trong swap chỉ được thực hiện trong trường hợp chúng ta có ít RAM. Chúng tôi thêm dòng sau
vm.swappiness = 10
6. Sử dụng lệnh miễn phí -h Chúng tôi kiểm tra dung lượng RAM mà chúng tôi có.
7. Chúng tôi sửa đổi tệp /boot/config.txt tùy thuộc vào kiểu Raspberry Pi mà chúng ta có, để giới hạn lượng RAM được phân bổ cho đồ họa.
Chúng tôi sẽ phân bổ 64MB RAM cho đồ họa.
- Đối với Raspberry Pi kiểu A (với 256 MB RAM), chúng tôi sửa đổi dòng gpu_mem_256 = 128 qua gpu_mem_256 = 64
- Đối với Raspberry Pi kiểu B (với 512 MB RAM), chúng tôi sửa đổi dòng gpu_mem_512 = 316 qua gpu_mem_512 = 64
Ép xung (Tùy chọn)
Chúng tôi sẽ chỉnh sửa tệp /boot/config.txt và chúng tôi sẽ bỏ ghi chú một số tùy chọn ép xung được tìm thấy ở cuối tệp.
##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
Tôi đã sử dụng tùy chọn Modest (tốc độ 800), với tốc độ này Raspberry Pi Nó hoạt động tốt.
Cài đặt Madsonic
Madsonic đang ở Kho lưu trữ người dùng Arch Linux (AUR), do đó chúng ta cần gói base-devel để có thể biên dịch các chương trình AUR.
Chúng tôi cài đặt các gói cần thiết:
# pacman -S wget Curl base-devel yajl java-runtime libcups
Chúng tôi tạo một thư mục để biên dịch và tải xuống madsonic từ AUR.
$ mkdir build $ cd build $ wget https://aur.archlinux.org/packages/ma/madsonic/madsonic.tar.gz
Chúng tôi giải nén các tệp và chỉnh sửa tệp PKGBUILD để thêm hỗ trợ cho bộ xử lý ARM. Chúng tôi tìm kiếm dòng Arch = ('i686' 'x86_64') và chúng tôi thêm
'armv6h'.
$ tar zxf madsonic.tar.gz $ cd madsonic $ nano PKGBUILD ... Arch = ('i686' 'x86_64' 'armv6h')
Chúng tôi sử dụng lệnh trang điểm để tải xuống và biên dịch mã madsonic. Điều này có thể mất nhiều thời gian. Kiên nhẫn.
$ makepkg -g >> PKGBUILD $ makepkg
Lệnh trang điểm Nó sẽ tạo ra một tệp có phần mở rộng .xz, tệp này có thể được cài đặt bằng pacman.
# pacman -U madsonic-5.0.3860-1-armv6h.pkg.tar.xz
Cài đặt Java Oracle cho ARM
Sau khi cài đặt madsonic tôi đã nhận thấy rằng openjdk sử dụng bộ xử lý gần như 100% và do đó điều này thể hiện hiệu suất kém của Raspberry Pi.
Giải pháp cho vấn đề này là sử dụng Oracle Java cho kiến trúc ARM. Để biết thêm thông tin về chủ đề này, bạn có thể kiểm tra bài viết oracle nơi họ hiển thị Điểm chuẩn Oracle Java và OpenJDK trong phần này Link.
Chúng tôi tải xuống Java Oracle cho kiến trúc 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 "
Giải nén tệp trong đường dẫn / opt / java-oracle /
# mkdir / opt / java-oracle # tar -zxf jdk-7u55-linux-arm-vfp-hflt.tar.gz -C / opt / java-oracle
Chúng tôi tạo biến môi trường Java Home và sao lưu các tệp thực thi Java OpenJDK.
# JHome = / opt / java-oracle / jdk1.7.0_55 # test -L / usr / bin / java && mv /usr/bin/java[,.backup}
Chúng tôi tạo các liên kết tượng trưng cho Java y tiếng Java.
# 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
Bây giờ chúng ta có thể kiểm tra cài đặt java bằng lệnh java -version
[eroland @ alertmpi ~] $ 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, hỗn hợp)
Chúng tôi chỉnh sửa tệp cấu hình madsonic để nó sử dụng Java Oracle chứ không phải Java OpenJDK.
# nano /var/madsonic/madsonic.sh
Và chúng tôi sửa đổi dòng JAVA_HOME để nó như sau:
JAVA_HOME = / opt / java-oracle / jdk1.7.0_55 / jre: / usr / lib / jvm / java-7-openjdk
Cấu hình Madsonic
Cấu hình madsonic được thực hiện trong tệp /var/madsonic/madsonic.sh, điều đầu tiên chúng tôi làm là hỗ trợ nó.
cp /var/madsonic/madsonic.sh[,.backup}
Trong tệp này, bạn có thể sửa đổi cổng mà madsonic sẽ sử dụng (theo mặc định nó sử dụng cổng 4040), đường dẫn của thư mục lưu trữ các bài hát, v.v.
Chúng tôi sẽ thêm một Ổ cứng ngoài được kết nối bằng USB nơi chúng tôi sẽ đưa các bài hát để phát.
Nếu ổ cứng được định dạng NTFS, bạn cần cài đặt gói ntfs-3g để gắn đĩa.
#pacman -S ntfs-3g
Chúng tôi tạo thư mục nơi ổ cứng sẽ được gắn kết và chúng tôi cấp cho nó các quyền cần thiết
# mkdir / mnt / Dữ liệu # chmod 775 / mnt / Dữ liệu
Chúng tôi nhận được điểm gắn kết của Hard Drive
$ ls -l / dev / disk / by-label / total 0 lrwxrwxrwx 1 root root 10 tháng 31 1969 2 Dữ liệu -> ../../sda1 lrwxrwxrwx 10 root root 31 tháng 1969 3 1 PSXNUMX -> ../../ sdaXNUMX
Trong trường hợp của tôi, tôi quan tâm đến đĩa có nhãn Dữ liệu được tìm thấy trong / dev / sda2
Tuy nhiên, việc sử dụng nhãn để gắn đĩa không được khuyến khích lắm, vì nếu nhãn thay đổi, đĩa không thể được gắn.
Chúng tôi nhận được số nhận dạng duy nhất (UUID) từ ổ cứng của chúng tôi.
ls -l / dev / disk / by-uuid /
Chúng ta sẽ có một kết quả tương tự như sau:
[eroland @ alertmpi ~] $ ls -l / dev / disk / by-uuid / total 0 lrwxrwxrwx 1 root root 10/31/1969 19F4-1917 -> ../../sda1 lrwxrwxrwx 1 root root 15/31/1969 2300 -4E18 -> ../../mmcblk0p1 lrwxrwxrwx 1 root root 10 tháng 31, 1969 58F6AA78F6AA55D2 -> ../../sda2 lrwxrwxrwx 1 root root 15 Dec 31, 1969 b471cde8-2a15-44e7-acce-e9a2a54511 - /../mmcblk6p0
Chúng tôi ghi lại UUID của ổ cứng (trong trường hợp này 58F6AA78F6AA55D2)
Chúng tôi thêm dòng sau vào cuối tệp / etc / fstab
UUID = 58F6AA78F6AA55D2 / mnt / Dữ liệu ntfs-3g mặc định 0 0
Chúng tôi khởi động lại Raspberry Pi của mình và ổ cứng sẽ tự động gắn kết.
Cuối cùng, chúng tôi bắt đầu dịch vụ madsonic:
# systemctl bắt đầu madsonic.service
Nếu chúng ta muốn dịch vụ tự động khởi động mỗi khi hệ thống tải.
# systemctl bật madsonic.service
Và thì đấy, chúng tôi có máy chủ phát trực tuyến nhạc của mình.
Một khi dịch vụ của điên cuồng, chúng tôi có thể nhập từ trình duyệt ưa thích của mình vào địa chỉ IP của Raspberry Pi cùng với cổng 4040, trong trường hợp của tôi, đó là 192.168.17.1:4040 và chúng tôi nhập bằng cách sử dụng dữ liệu user = admin password = admin.
Ngay trong giao diện web, chúng tôi có thể thêm người dùng mới và thay đổi mật khẩu mặc định.
Đây là đóng góp đầu tiên của tôi, tôi hy vọng bạn thích nó.
Nguồn:
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
Tôi không hiểu lắm nhưng nếu một máy chủ phát trực tuyến tại nhà xD, bạn đã bao giờ sử dụng mediatomb chưa? Nếu vậy, bạn có thể cho tôi biết so với cái này thì sao? Tôi sử dụng mediatomb, thoạt nhìn, giao diện madsonic mang lại cho dàn máy xD một nghìn lượt, Điều khiến tôi rất quan tâm là biết liệu bạn có thể thực hiện phát trực tuyến qua "WAN" hay không và nếu nó là thông qua một giao thức bảo mật tốt hơn, bởi vì mediatomb cho phép nó được quản lý thông qua web nhưng không phải với https và cũng có thể (cho đến nay tôi chỉ tìm thấy một ứng dụng khách cho android) phát trực tuyến với mạng trung gian qua mạng WAN (nếu từ điện thoại di động khi đang ở bất kỳ đâu, tôi có thể phát nhạc từ máy chủ tại nhà của mình) vì tôi nghi ngờ tính bảo mật của giao thức, tôi đặt mật khẩu không giữ bất kỳ mối liên hệ nào với mật khẩu tôi thường sử dụng và cùng một phương thức truyền phát được bật quyền để trong trường hợp ai đó truy cập, họ không thể chạm vào bất kỳ thứ gì xD
Xin chào, tôi đã không sử dụng trung gian. Về câu hỏi của bạn, tất nhiên bạn có thể sử dụng madsonic qua WAN, tôi sử dụng madsonic qua WAN và nó hoạt động rất tốt cho tôi. Madsonic không cho phép sử dụng https, bạn chỉ cần kích hoạt nó trong tệp cấu hình của mình: madsonic_https_port = 8443 và thế là xong 🙂
Về ứng dụng cho android thì mình dùng gọi siêu âm, cái này rất hay, nó cho phép lưu bài hát vào bộ nhớ đệm để nghe mà không cần kết nối xD
Chúc mừng.
Bạn ơi, bạn có kinh nghiệm gì với Arch ARM? Tôi là người dùng Arch .. cài đặt rasbian. Nhưng tôi cảm thấy mệt mỏi với các vấn đề với repo. Tôi muốn Arch. Còn những gói không có trong repo chính thức thì sao. Ví dụ các gói AUR, chúng có thể được biên dịch không?
Bài viết rất thú vị!
Tôi đã thực hiện một tìm kiếm nhanh để xem khách hàng của bạn trên Android và tôi thấy rằng nó được trả tiền. Có một thay thế miễn phí?
Xin chào, nếu có lựa chọn thay thế miễn phí, tôi sử dụng sóng siêu âm.
https://play.google.com/store/apps/details?id=com.thejoshwa.ultrasonic.androidapp&hl=es
Chúc mừng.
Subsonic là một con quái thú và không sử dụng phân Java. Nếu tôi không nhầm, ownCloud cũng có thể phát trực tuyến âm thanh và video và siêu nhẹ - ít nhất là so với việc chạy JVM và một ứng dụng nặng khác.
Java phải chết - giống như Flash.
Thật vậy ownCloud có một dịch vụ phát trực tuyến cơ bản, ưu điểm mà tôi thấy đối với cận âm là khả năng chuyển mã, trong trường hợp họ có nhiều nhạc flac chẳng hạn. Và bạn cũng đúng, khi sử dụng java nó là một chương trình nặng, tuy nhiên, hiện tại tôi không gặp vấn đề gì khi sử dụng Raspberry RAM 256MB.
Chà, OpenJDK 7 (không phải 6 như Oracle cho thấy) ổn định hơn nhiều về mặt hiệu suất. Tuy nhiên, nếu có một phiên bản không có Java, xin chúc mừng (ít nhất nó là một thay thế tốt cho Spotify).
Và nhân tiện, OWnCloud có cho Streaming không ?! Có vẻ như tại 4shared.
Tôi sử dụng minidlna, nó không tốn gì cả và bạn có thể truy cập vào video, ảnh và nhạc và tôi chụp chúng từ trình phát video trên máy tính hoặc trên TV, nó cũng cung cấp khả năng đặt một trang web rất hạn chế.
Một điều nữa, Madsonic là dịch vụ phát trực tuyến hay streamer? «… Madsonic là một trình phát trực tuyến đa phương tiện dựa trên web và máy hát tự động của Subsonic…. , Madsonic hỗ trợ chuyển đổi trực tuyến và phát trực tuyến hầu như mọi định dạng âm thanh,… »Tôi không biết có bao nhiêu sự khác biệt giữa thuật ngữ này và thuật ngữ khác
Tôi không chắc sự khác biệt là gì, đối với tôi, có vẻ như streamer được sử dụng để nói rằng phần mềm có khả năng phát trực tuyến, nhưng tôi nhắc lại, tôi không chắc xD
Hiện tại mình dùng Ampache, của Subsonic theo mình thấy là phần mềm miễn phí, bản quyền GPL3 nhưng muốn có đủ đặc điểm thì phải trả key bản quyền cho máy chủ gắn subsonic, còn đối với madsonic thì mình không biết nên test thử, các bạn cho mình hỏi nhé. Tôi có thể có những lợi ích gì nếu tôi sử dụng madsonic thay vì ampache.
Chào bạn, madsonic là ngã ba của cận âm, chỉ có ở madsonic là không cần trả key bạn nhé. Về Ampache, tôi chưa sử dụng nó, - và tôi không thể cho bạn biết ưu điểm của madsonic đối với ampache là gì, trên google tôi đã tìm thấy liên kết này, có lẽ nó có thể giúp ích: http://www.brunobense.com/2013/04/subsonic_ftw/.