Madsonic: Cài đặt Máy chủ phát trực tuyến nhạc trên Raspberry Pi

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.

Bạn không nên cài đặt môi trường đồ họa trên Raspberry Pi, vì nó sử dụng rất nhiều bộ nhớ. Thay vào đó, tốt hơn là luôn làm việc bằng kết nối ssh.

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)

Các bước sau là tùy chọn, nhưng tôi khuyên bạn nên thực hiện chúng để tránh Raspberry sắp hết RAM.

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ó.
Truyền trực tuyến RAM


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.

COI CHỪNG! Nếu chúng ta đặt quá ít RAM cho GPU, Raspberry sẽ không khởi động và chúng ta sẽ phải đưa Thẻ SD vào máy tính để sửa tệp /boot/config.txt

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)

Tôi khuyên bạn nên sử dụng nguồn làm mát để ngăn Raspberry bị quá nóng

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
Hãy nhớ thay đổi UUID, đối với UUID thu được từ các lệnh trên

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.

điên cuồng

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


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   x11tete11x dijo

    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

    1.    xói mòn dijo

      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.

    2.    RONAL dijo

      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?

  2.   tanrax dijo

    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í?

    1.    xói mòn dijo

      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.

  3.   msx dijo

    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.

    1.    xói mòn dijo

      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.

      1.    eliotime3000 dijo

        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.

  4.   rolo dijo

    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

    1.    xói mòn dijo

      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

  5.   Op dijo

    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.

    1.    xói mòn dijo

      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/.