Рылся в своих старых записях и решил поделится с Вами инструкцией как просто и быстро поднять нормальный сервер для он лайн транслирования своего радио (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
        123
        
        123
        
        admin
        12345678
    
Далее выбираем IP сервера и порт так же точку монитрования потока с ices но это позже:
        8000
        192.168.1.7.
        /ices.
Так же я собираюсь рестранслировать радиостанции украины Киссфм (+ Киссфм в АСС), наше радио, люкс фм, и хит фм:
        91.201.37.42
        8000
        /kiss
        /kiss
        1
        0
        91.201.37.42
        8000
        /kissACC
        /kissACC
        1
        0
….
……..
        195.95.206.12
        8000
        /HitFM
        /hitfm
        1
        0
        77.120.104.251
        8000
        /
        /luxfm
        1
        0
        212.26.129.222
        8001
        /
        /nashe
        1
        0
Далее меняем параметры нахождения каталогов в разделе
 /var/icecast
        /log
        /web
        /admin
         /var/run/icecast.pid
И последнее, но не последнее по значению. Icecast не работает от root вот и мы меняем разрешения на ранее созданого юзера и группу
        1
        
            radio
            radio
        
    
Далее пробуем взлететь, смотрим что он ругается:
#/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
Редактируем. У меня вышел такой вид (коменты Афтора):
  
    
    /tmp/radio/playlist.txt
    
    0
    
    builtin
    
    ices0
    
  
  
    
    1
    
    1
    
    /tmp
  
  
    
      
      192.168.1.7
      
      8000
      
      123
      
      http
    
  
    /ices
    
    
    mp3 stream
    
    it
    
    Local streaming
    
    http://gate.mydomain.com/
    
    0
    
    128
    
    0
    
    
    2
  
Далее добавляем в /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 нужного потока и вперед.
Интернет-радио поставлено «конект по требованию», так что первый конект медленный. Кому не жалко инет трафика — поменяйте значение
1 на 0.
Так же ices как проиграет весь плейлист выключается. Как сделать по кругу не нашел пока что. Но, если запустить ices через рандом то его игрища никогда не заканчиваются smile.
В файле ices.conf меняем параметр 0 на 1 и все.
Использованные материалы: https://habr.com/post/267351/
				 👀 4