Как настроить сервер Icecast для трансляции звука в моей сети?

Трансляция выходного сигнала звуковой карты в виде потока интернет-радио является надежным способом потоковой передачи звука в сети. Это удобно использовать, например, для передачи звука в беспроводной локальной сети на другой компьютер или любое другое устройство, способное воспроизводить потоки интернет-радио.

Однако я не нашел простого пошагового руководства о том, как это настроить.

1 ответ

Решение

Трансляция аудио с Icecast2


1. Установите Icecast2 Установить icecast2


2. Отредактируйте конфигурацию Icecast2

Открыть файл /etc/icecast2/icecast.xml как корень в редакторе. В целях безопасности вы должны установить пароли в <authentication> раздел:

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

Если вы изменили <source-password> или же <relay-password> Вы должны сделать это на стороне источника или реле. Это значит, оставить его по умолчанию или изменить его в файле ices2.xml (см. Ниже). То же самое необходимо сделать в файлах конфигурации Ices или Darkice.

Вам также необходимо определить имя хоста, по которому может быть достигнут ваш поток:

<hostname>localhost</hostname>

Оставьте его как localhost (не нужно указывать разрешенный IP-адрес), если вы хотите передавать только в своей локальной сети. Порт по умолчанию для прослушивания - 8000. Изменяйте его только при необходимости.


3. Изменить значения по умолчанию

Открой /etc/default/icecast2 файл как корень в редакторе. Последняя строка должна быть изменена на

ENABLE=true

Это все для Icecast2. Конечно, есть еще много настроек, с которыми вы можете играть. В файлах конфигурации есть пояснения к параметрам.

4. Запуск / остановка Icecast

Сервер запускается и останавливается следующими командами:

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

Во время работы сервер Icecast можно администрировать из любого браузера по адресу http://localhost:8000/admin/ после ввода учетных данных администратора, определенных на шаге 1. Дополнительная документация доступна на сайте http://icecast.org/.

Stream2ip - это графический интерфейс, позволяющий быстро запускать и останавливать потоки, в которых базовая настройка для Ices2, Ices или Darkice уже выполнена.


Ices2 Установить ices2 для потоковой передачи аудио OGG Vorbis с локальной звуковой карты

Чтобы настроить pulseaudio для включения записи со звуковой карты, см. Примечание для Darkice ниже.

Сделать каталоги для Ices2

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

Отредактируйте XML-файл конфигурации Ices2

Ices2 будет работать с использованием XML-файла настроек. Глагольные примеры конфигураций можно найти в /usr/share/doc/ices2/examples/, Эти файлы должны быть отредактированы в соответствии с вашими потребностями и могут быть скопированы в любом месте, лучше всего в вашем домашнем каталоге. В зависимости от файла конфигурации Ices2 использует список воспроизведения в формате Ogg Vorbis (ices-playlist.xml) или выход из вашей звуковой карты (ices-alsa.xml) в качестве потокового источника для Icecast2.

В разделе <input> вам может потребоваться заменить устройство, если вы настроили звуковую систему на PulseAudio. Для этого отредактируйте соответствующую строку:

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

Имя потока для принимающего клиента определено в следующем разделе.

<mount>/example1.ogg</mount>

Начать потоковую передачу

Потоки с вашей звуковой карты будут запущены, сначала запустив сервер Icecast2, а затем запустив Ices2, используя следующие команды:

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

Настройка приемника

На стороне приемника настроена ваша радиостанция: <serverIP>:8000/example1.ogg где <serverIP> это IP-адрес вашего сервера потоковой передачи, за которым следует порт, определенный вами в файле icecast.xml (по умолчанию 8000).

Завершить потоковую передачу

Потоки прекращаются путем уничтожения Ices2 и / или прекращения работы сервера Icecast2:

killall ices2
/etc/init.d/icecast2 stop

Льды для трансляции плейлистов mp3

Трансляция списка воспроизведения, содержащего mp3-файлы, не может быть выполнена с помощью Ices2. Нам нужно установить IceS, который мы должны установить из исходного кода.

После настройки файла конфигурации с адресом сервера, паролем и свойствами потоковой передачи (хорошо документированный пример можно найти в /usr/share/doc/ices/examples) мы можем транслировать аудиофайлы mp3 из списков воспроизведения (например, в формате.m3u) через сервер Icecast2 с помощью:

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

Для дальнейших опций прочитайте документацию на довольно сложной странице руководства от man ices,


Darkice Установить Darkice для прямой трансляции

Мы можем транслировать вывод локальной звуковой карты как OGG Vorbis или как поток mp3, используя Darkice. Чтобы включить потоковую передачу локальной звуковой карты, нам может понадобиться сначала определить устройство записи для Darkice в pulseaudio. Это можно сделать с помощью pavucontrol Установить павуконтроль, На вкладке Запись выберите Monitor of <your soundcard> для "плагина ALSA [darkice]".

Файл конфигурации (хорошо документированный пример приведен в /usr/share/doc/darkice/examples) должен быть адаптирован к серверу Icecast и локальной звуковой среде:

[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

После сохранения этой конфигурации (например, в ~/music/darkice.cfg) сначала мы запускаем сервер Icecast, а затем можем транслировать выходные данные pulseaudio с локальной звуковой карты, вызывая:

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

На ресивере настраиваемся на http://<localhost>:8000/mystream.mp3 для прослушивания. <localhost> IP-адрес сервера Icecast

Другие вопросы по тегам