Рылся в своих старых записях и решил поделится с Вами инструкцией как просто и быстро поднять нормальный сервер для он лайн транслирования своего радио (mp3 файлы) и для ретрансляции внешних радиостанций.
Кому интересно прошу под кат.
Я использовал сервер под управлением FreeBSD. Считаем, что у нас есть свежее дерево портов. Начнем установки icecast:
#cd /usr/ports/audio/icecast2
#make install clean
Далее создаем пользователя для инет радио radio и группу radio и создаем каталог где это все будет лежать.
#mkdir /var/icecast
#pw group add radio
# adduser
Username:radio
Full name: Radio user
Uid (Leave empty for default):
Login group [radio]:
Login group is radio. Invite jru into other groups? []:
Login class [default]:
Shell (sh csh tcsh zsh nologin) [sh]: nologin
Home directory [/home/radio]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : radio
Password : ****
Full Name : Radio user
Uid : 1001
Class :
Groups : radio
Home : /home/radio
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (radio) to the user database.
Add another user? (yes/no): no
Goodbye!
После копируем все файлы для веб интерфейса:
cp /usr/local/share/icecast /var/icecast
Cоздаем каталог для лога:
mkdir /var/icecast/log
Cоздаем файлы для логов:
cd /var/icecast/log
touch access.log
touch error.log
Меняем права:
chown -R radio:radio /var/icecast
Далее идем смотреть файл конфига:
cd /usr/local/etc
cp icecast.xml.sample icecast.xml
Конфигурим файл. Опишу только важные параметры
Аутентификация. Первое — это пароль на подключение для трансляции через ваш сервер icecast.Второе — это логин пароль на веб интерфейс по адресу icecast_ip:8000
Далее выбираем IP сервера и порт так же точку монитрования потока с ices но это позже:
Так же я собираюсь рестранслировать радиостанции украины Киссфм (+ Киссфм в АСС), наше радио, люкс фм, и хит фм:
….
Далее меняем параметры нахождения каталогов в разделе
И последнее, но не последнее по значению. Icecast не работает от root вот и мы меняем разрешения на ранее созданого юзера и группу
Далее пробуем взлететь, смотрим что он ругается:
#/usr/local/bin/icecast -c /usr/local/etc/icecast.xml
Если все хорошо прерываем через Ctrl+c и идем дальше:
Я использовал iсes0 ибо мне нужно было воспроизводить mp3 а для ogg по идее нужно использовать ices2, вроде он тоже воспроизводить mp3, но я не проверял:
#cd /usr/ports/audio/ices
#make install clean
Тут что бы не мучатся с правами делаем проще (можете сами создавать каталог где хотите):
mkdir /tmp/radio
Складываем сюда файлы mp3 и создаем плейлист:
find /tmp/radio -name *.mp3 > /tmp/radio/playlist.txt
Должен получится файл playlist.txt с таким содержимым:
/tmp/radio/Far East Movement ft. The Cataracs & Dev — Like A G6.mp3
/tmp/radio/The_Prodigy_-_Voodoo_People_(Pendulum_Remix).mp3
/tmp/radio/1.mp3
Меняем права #chmod -R 777 /tmp/radio и идем ломать файл ices.conf
cd /usr/local/etc/
cp ices.conf.dist ices.conf
Редактируем. У меня вышел такой вид (коменты Афтора):
Далее добавляем в /etc/rc.conf строки:
icecast_enable=»YES»
icecast_flags=»-c /usr/local/etc/icecast.xml»
ices0_enable=»YES»
ices0_flags=»/usr/local/etc/ices.conf»
И пробуем взлетать:
cd /usr/local/etc/rc.d
#./icecast2 start
#./ices0 start
Открываем в баузере ссылку:
192.168.1.7:8000/status.xsl
Скачиваем m3u нужного потока и вперед.
Интернет-радио поставлено «конект по требованию», так что первый конект медленный. Кому не жалко инет трафика — поменяйте значение
Так же ices как проиграет весь плейлист выключается. Как сделать по кругу не нашел пока что. Но, если запустить ices через рандом то его игрища никогда не заканчиваются smile.
В файле ices.conf меняем параметр 0 на 1 и все.
Использованные материалы: https://habr.com/post/267351/