Установка и настройка Icecast2
sudo apt install icecast2
Перед вами откроется установщик :
Потребуется ввести полное доменное имя сервера:
Затем вас попросят указать три пароля, два из них будут использоваться для подключения источников вещания, третий для входа в веб-панель администратора.
откроем конфигурационный файл:
sudo nano /etc/icecast2/icecast.xml
Секция описания сервера:
<location>Earth</location>
<admin>icemaster@localhost</admin>
Секция <limits> где нас интересуют две опции:
<clients>100</clients>
<sources>2</sources>
Колличество клиентов и колличество потоков
Далее настройки аутентификации, здесь задаются те самые пароли, которые вы вводили при настройке пакета (если делали эту настройку), обязательно задайте все три пароля: для источников, релеев и админ-панели, также, опционально, можете изменить имя учетной записи администратора:
<authentication>
<!-- Sources log in with username 'source' -->
<source-password>password</source-password>
<!-- Relays log in with username 'relay' -->
<relay-password>password</relay-password><!-- Admin logs in with the username given below -->
<admin-user>admin</admin-user>
<admin-password>password</admin-password>
</authentication>
Ниже следует указать полное доменное имя:
<hostname>local.admiralhub.ru</hostname>
<listen-socket>
<port>8000</port>
<bind-address>ваш адрес</bind-address>
<!-- <shoutcast-mount>/stream</shoutcast-mount> -->
</listen-socket>
Обязательно раскоментируйте строки :
<bind-address></bind-address>
и впишите свой ip адрес выданный роутером или localhost
Перезагружаем icecast2 :
sudo systemctl restart icecast2
открыть в браузере адрес ваш,домен:8000 и, если все сделано правильно, вы увидите веб-интерфейс сервера онлайн-вещания:
Icecast 2 - это сервер вещания ему нужно передать поток, который он будет транслировать в сеть,поэтому устанавливаем ices:
Установка и настройка Ices
sudo apt install ices2
После скопируйте пример конфигурационного файла в /etc/icecast2
cp /usr/share/doc/ices2/examples/ices-playlist.xml /etc/icecast2/ices.xml
Открываем файл:
sudo nano /etc/icecast2/ices.xml
сразу разрешим процессу работать в фоне:
<background>1</background>
За поток отвечает секция <stream> если потоков много секцию нужно продублировать:
Секция начинается с описания (заполняем по желанию)
<metadata>
<name>Example stream name</name>
<genre>Example genre</genre>
<description>A short description of your stream</description>
</metadata>
Далее следует настройка источника :
<input>
<module>playlist</module>
<param name="type">basic</param>
<param name="file">playlist.txt</param>
<!-- random play -->
<param name="random">0</param>
<!-- if the playlist get updated that start at the beginning -->
<param name="restart-after-reread">0</param>
<!-- if set to 1 , plays once through, then exits. -->
<param name="once">0</param>
</input>
param name="file" - путь к файлу плейлиста, мы будем хранить его рядом с конфигурационными файлами
param name="random" - случайный порядок воспроизведения, 0 - выключено
param name="restart-after-reread" - начинать проигрывание заново при обновлении плейлиста, 0 - выключено
param name="once" - проиграть плейлист только один раз, 0 - выключено
Секция <instance> отвечает за соединение с сервером вещания, зададим параметры подключения:
<hostname>Ваш адрес</hostname>
<port>8000</port>
<password>пароль</password>
<mount>/radio.ogg</mount>
<yp>0</yp>
В <hostname> вписывать не домен а локальный адрес
Секция <encode> отвечает за битрейт потока, частоту дискретизации и число каналов:
<encode>
<nominal-bitrate>64000</nominal-bitrate>
<samplerate>44100</samplerate>
<channels>2</channels>
</encode>
на этом конфигурация завершена
Так как mp3 не поддерживается ices перекодируем файлы в ogg :
sudo apt install dir2ogg
Он позволяет пакетно преобразовывать форматы MP3, M4A, WMA, FLAC, и WAV в открытый формат OGG
dir2ogg -r --delete-input /путь/до/папки с музыкой
Если нужно сохранить файлы mp3 в каталоге запустите команду без --delete-input
dir2ogg -r /путь /до /папки с музыкой
Создать или обновить плейлист командой:
find /путь /до/папки/ -iname "*.ogg" -print > /etc/icecast2/playlist.txt
Запускаем службу проигрывателя:
sudo nano /etc/rc.local
В файл пишем:
#!/bin/sh
sleep 10
/usr/bin/ices2 /etc/icecast2/ices.xml
exit 0
Делаем файл исполняемым и включаем rc.local в ubuntu он по умолчанию выключен:
chmod +x /etc/rc.local
systemctl enable rc-local.service
Для тех у кого есть сертификаты ssl можно запилить шифрование :
cat/путь/до/сертификата/fullchain.pem/путь/до/сертификата/privkey.pem >/etc/icecast2/icecast.pem
Открываем /etc/icecast2/icecast.xml
раскоментируем :
<listen-socket>
<port>8443</port>
<ssl>1</ssl>
</listen-socket>
И ниже раскоментируем и правим строку:
<ssl-certificate>/etc/icecast2/icecast.pem</ssl-certificate>
Заходим по адресу https:// ваш.домен:8443 и видим :
Версия Icecast2 для windows