Làm cách nào để thiết lập máy chủ Icecast để phát âm thanh trong mạng của tôi?


63

Phát sóng đầu ra của soundcard dưới dạng luồng radio trên internet là một cách đáng tin cậy để truyền phát âm thanh trong mạng. Điều này có thể được sử dụng độc đáo để truyền âm thanh trong mạng LAN không dây sang máy tính khác hoặc bất kỳ thiết bị nào khác có khả năng phát các luồng radio internet.

Tuy nhiên tôi không tìm thấy hướng dẫn từng bước dễ dàng về cách thiết lập tính năng này.

Câu trả lời:


75

Phát âm thanh với Icecast2


1. Cài đặt Icecast2 Cài đặt icecast2


2. Chỉnh sửa cấu hình Icecast2

Mở tệp /etc/icecast2/icecast.xmldưới dạng root trong một trình soạn thảo. Vì lý do bảo mật, bạn nên thiết lập mật khẩu trong <authentication>phần:

<admin-user>admin</admin-user>
<admin-password>hackme</admin-password> 

Nếu bạn thay đổi <source-password>hoặc <relay-password>bạn cũng cần phải làm như vậy ở phía nguồn hoặc rơle. Điều đó có nghĩa là để mặc định hoặc thay đổi nó trong tệp ices2.xml (xem bên dưới). Điều tương tự sẽ cần phải được thực hiện trong các tệp cấu hình Ices hoặc Darkice.

Bạn cũng cần xác định tên máy chủ nơi có thể truy cập luồng của mình:

<hostname>localhost</hostname>

Để nó dưới dạng localhost (không cần cung cấp IP được giải quyết ở đó) khi bạn chỉ muốn truyền phát trong mạng cục bộ của mình. Cổng mặc định để nghe là 8000. Chỉ thay đổi nó khi cần.


3. Chỉnh sửa mặc định

Mở /etc/default/icecast2tệp dưới dạng root trong một trình soạn thảo. Dòng cuối cùng cần được thay đổi thành

ENABLE=true

Đó là tất cả cho Icecast2. Tất nhiên có nhiều cài đặt hơn bạn có thể chơi với. Trong các tập tin cấu hình có ghi chú giải thích về các tham số.

4. Bắt đầu / Dừng Icecast

Máy chủ được khởi động và dừng bởi các lệnh sau:

/etc/init.d/icecast2 start
/etc/init.d/icecast2 stop

Trong khi chạy máy chủ Icecast có thể được quản trị từ bất kỳ trình duyệt nào http://localhost:8000/admin/sau khi nhập thông tin đăng nhập của quản trị viên được xác định trong bước 1. Tài liệu khác có sẵn từ Icecast.org .

Stream2ip là một giao diện đồ họa để nhanh chóng bắt đầu và dừng các luồng trong đó thiết lập cơ bản cho Ices2, Ices hoặc Darkice đã được thực hiện.


Ices2 Cài đặt ices2 để truyền phát âm thanh OGG Vorbis từ soundcard cục bộ

Để thiết lập pulseaudio để cho phép ghi âm từ soundcard, hãy xem ghi chú cho Darkice bên dưới.

Tạo thư mục cho Ices2

mkdir /var/log/ices   # in case you need logfiles.  
mkdir /etc/ices2      # for putting ices stuff in.  

Chỉnh sửa cấu hình Ices2 .xml

Ices2 sẽ chạy bằng tệp .xml để cài đặt. Ví dụ chi tiết về cấu hình có thể được tìm thấy trong /usr/share/doc/ices2/examples/. Những tập tin này cần được chỉnh sửa để đáp ứng nhu cầu của bạn và có thể được sao chép ở bất cứ đâu, tốt nhất trong thư mục nhà của bạn. Tùy thuộc vào tệp cấu hình, Ices2 sử dụng danh sách phát ở định dạng Ogg Vorbis ( ices-playlist.xml) hoặc đầu ra từ soundcard ( ices-alsa.xml) của bạn làm nguồn phát trực tuyến cho Icecast2.

Trong phần <input>bạn có thể cần thay thế thiết bị nếu bạn đã thiết lập hệ thống âm thanh của mình thành PulseAudio. Để thực hiện việc này, chỉnh sửa dòng tương ứng thành:

<param name="device">pulse</param>

Tên của luồng cho máy khách nhận được xác định trong phần sau.

<mount>/example1.ogg</mount>

Bắt đầu truyền phát

Các luồng từ soundcard của bạn sẽ được bắt đầu bằng cách trước tiên chạy máy chủ Icecast2 và sau đó chạy Ices2 bằng các lệnh sau:

/etc/init.d/icecast2 start
ices2 /home/user/somewhere/ices-pulse.xml # or any other name from .xml file

Thiết lập nhận

Trên máy thu bên radio "trạm" giai điệu của bạn về: <serverIP>:8000/example1.oggnơi <serverIP>là IP của máy chủ streaming của bạn tiếp theo là cổng mà bạn định nghĩa trong file icecast.xml (mặc định 8000).

Chấm dứt truyền phát

Các luồng bị chấm dứt bằng cách giết Ices2 và / hoặc ngừng chạy máy chủ Icecast2:

killall ices2
/etc/init.d/icecast2 stop

Ices để phát danh sách nhạc mp3

Không thể phát một danh sách phát chứa các tệp mp3 với Ices2. Chúng ta cần cài đặt IceS , cái mà chúng ta phải cài đặt từ nguồn .

Sau khi đã thiết lập tệp cấu hình với địa chỉ máy chủ, mật khẩu và thuộc tính phát trực tuyến (ví dụ tài liệu tốt sẽ được tìm thấy /usr/share/doc/ices/examples), chúng tôi có thể truyền tệp âm thanh mp3 từ danh sách phát (ví dụ: ở định dạng .m3u) qua máy chủ Icecast2 bằng cách:

/etc/init.d/icecast2 start
ices -c <path_to_config_file> -F <path_to_playlist>

Để biết thêm tùy chọn đọc tài liệu trong trang người đàn ông khá công phu từ man ices.


Darkice Cài đặt darkice để phát trực tiếp

Chúng tôi có thể truyền phát đầu ra của card âm thanh cục bộ dưới dạng OGG Vorbis hoặc dưới dạng luồng mp3 bằng Darkice . Để cho phép truyền phát soundcard cục bộ, trước tiên chúng ta có thể cần xác định thiết bị ghi âm cho Darkice trong pulseaudio. Điều này có thể được thực hiện với pavucontrol Cài đặt pavucontrol . Trong Recording tab chọn Monitor of <your soundcard>cho "ALSA plug-in [darkice]" .

Tệp cấu hình (ví dụ được ghi lại rõ ràng /usr/share/doc/darkice/examples) cần phải được điều chỉnh phù hợp với máy chủ Icecast và môi trường âm thanh cục bộ:

[general]
duration        = 0      # duration in s, 0 forever
bufferSecs      = 1      # buffer, in seconds
reconnect       = yes    # reconnect if disconnected

[input]
device          = default # or `pulse' for Pulseaudio
sampleRate      = 44100   # sample rate 11025, 22050 or 44100
bitsPerSample   = 16      # bits
channel         = 2       # 2 = stereo

[icecast2-0]
bitrateMode     = vbr       # variable bit rate (`cbr' constant, `abr' average)
quality         = 1.0       # 1.0 is best quality
format          = mp3       # format. Choose `vorbis' for OGG Vorbis
bitrate         = 256       # bitrate
server          = localhost # or IP
port            = 8000      # port for IceCast2 access
password        = hackme    # source password to the IceCast2 server
mountPoint      = mystream.mp3  # mount point on the IceCast2 server .mp3 or .ogg
name            = mystream

Sau khi lưu cấu hình này (ví dụ: trong ~/music/darkice.cfg), trước tiên chúng tôi chạy máy chủ Icecast và sau đó có thể truyền phát đầu ra pulseaudio từ thẻ âm thanh cục bộ bằng cách gọi:

/etc/init.d/icecast2 start
darkice -c ~/music/darkice.cfg

Trên máy thu, chúng tôi điều chỉnh để http://<localhost>:8000/mystream.mp3nghe. <localhost>là IP của máy chủ Icecast.


3
Về phần "Để nó là localhost khi bạn chỉ muốn phát trực tuyến trong mạng cục bộ", điều này không cần phải là IP hoặc giao diện có thể truy cập mạng để người khác phát hiện có thể kết nối?
Oli

quản trị viên và mật khẩu quản trị viên có liên quan đến người dùng / mật khẩu máy không?
Charbel

1
@Charbel: không, chúng không liên quan. Chọn bất kỳ mật khẩu nào bạn thích. Bạn ví dụ cần họ truy cập vào giao diện web quản trị viên icecast ( localhost: 8000 / admin ).
Takkat

Đây là một câu trả lời tuyệt vời, cảm ơn bạn. Trong rất nhiều hướng dẫn, tôi thấy icecast và mpd được đề cập cùng nhau, làm việc cùng nhau. Tôi không hiểu mối quan hệ giữa icecast và mpd - bạn có thể làm rõ không? Mỗi vai trò phục vụ gì?
CoolUserName

1
Lưu ý rằng mật khẩu Icecast2 được lưu trữ (và được sử dụng trong Darkice) dưới dạng văn bản rõ ràng. Đừng sử dụng lại mật khẩu rất bí mật của bạn ở đây.
elomage
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.