Поднимаем потоковый радио сервер SHOUTcast, на Ubuntu Linux Server.
Для начала, чтоб всё было на своём месте создадим папочку для файлов нашего будущего радио сервера.
sudo mkdir /etc/SHOUTcast/
Далее заходим в папку радио сервера.
sudo cd /etc/SHOUTcast/
И скачиваем с сервера «shoutcast.com» архив с shoutcast server для Linux.
sudo wget http://yp.shoutcast.com/downloads/sc1-9-8/sc_serv_1.9.8_Linux.tar.gz
Распаковываем архив.
tar xzvf sc_serv_1.9.8_Linux.tar.gz
В директории радио сервера, должны появится 3 файла.
README.TXT
sc_serv.conf
sc_serv
Сервер установлен.
Конфигурация радио сервера.
Теперь нам остаётся только настроить конфигурацию нашего радио сервера. Для этого нам понадобится конфигурационный файл sc_serv.conf.
sudo nano /etc/SHOUTcast/sc_serv.conf
И правим.
; ***************************
; Required stuff (Обязательные настройки)
; ***************************
;MaxUser. Максимальное количество пользователей, одновременно соединяющихся с сервером.
MaxUser=5
;Password. Пароль. Необходим, для направления аудио потока на ваш радио сервер.
Password="ваш уникальный пароль для потока"
;PortBase. Порт радио сервера, по которому будут соединятся пользователи.
PortBase=8000
; ***************************
; Optional Parameters (Параметры по выбору)
; ***************************
; ***************************
; Logging configuration (Конфигурация Логов)
; ***************************
;LogFile: Логи радио сервера.
LogFile=sc_serv.log
;Отображение строки состояния радио сервера. Обновляется (RealTime=1) каждую секунду. С самой последней информацией о текущем аудио потоке.
;После тестирования можно отключить, поставив RealTime=0.
RealTime=1
;Логи выводится на экран. Желательно отключить, если радио сервер работает в фоновом режиме.
ScreenLog=1
;ShowLastSongs определяет, сколько песен в списке в / played.html
ShowLastSongs=10
;TchLog определяет, должен ли DNAS-лог записывать подключения
;yp.shoutcast.com к серверу.
TchLog=yes
;Не учитывать посещения web страницы.
WebLog=no
;W3CEnable включает W3C логирование. Эти данные могут быть проанализированы с помощью инструментов, Analog и WebTrends.
W3CEnable=Yes
;Файл с W3C логами.
W3CLog=sc_w3c.log
; ***************************
; Network configuration (Сетевые конфигурации)
; ***************************
;IP адрес, с которого будет осуществляться аудио поток на наш радио сервер.
;По умолчанию SrcIP=ANY. В моём же случае поток идёт с машины из локальной сети.
SrcIP=192.168.1.110
;IP адреса пользователей, которым разрешено соединение с сервером.
DestIP=ANY
;Порт для подключения к yp.shoutcast.com.
Yport=80
;Не смотреть DNS подключающихся пользователей.
NameLookups=0
;Настройки для пересылки аудио потока на другой сервер.
; RelayPort=8000
; RelayServer=192.168.1.58
; ***************************
; Server configuration (Конфигурация сервера).
; ***************************
;Пороли Администратора радио сервера.
AdminPassword="ваш уникальный пароль администратора"
;AutoDumpUsers. Отключает пользователей, если источник потока отключается.
AutoDumpUsers=1
;AutoDumpSourceTime. Определяет, сколько времени в секундах, источник потока может молчать, перед отключением от радио сервера.
AutoDumpSourceTime=10
;Директория на жестком диске, где расположены стандартные аудиофайлы.
; ContentDir=./content
;IntroFile. Вы можете указать mp3-файл, который будет проигран присоединившимся пользователям прежде чем они услышат живой эфир.
; IntroFile=c:\intro%d.mp3
;MP3-файл, который будут слышать подключившийся пользователь, если источник аудио потока отключится.
; BackupFile=C:\intro%d.mp3
; Формат строки, отображаемый в клиентах пользователях во время прослушивания радио. %s определяет строку, которая берется у источника аудио потока.
; TitleFormat=Justin Radio: %s
; URLFormat. Определяет формат строки URL-а передаваемого слушателю.
; URLFormat=http://www.server.com/redirect.cgi?url=%s
; PublicServer. Статус сервера. Значения могут быть - always, never или default.
PublicServer=default
; AllowRelay. Могут ли другие сервера пересылать свои трансляции через этот радио сервер.
AllowRelay=No
;Cервер не подлежит публикации в каталоге SHOUTcast.
AllowPublicRelay=No
; MetaInterval. Определяет, как часто, в байтах, отправляются метаданные.
MetaInterval=32768
; *****************************
; Access Control (Контроль Доступа)
; *****************************
; ListenerTimer. Максимально допустимое время для соединения клиента с радио сервером. По умолчанию время не ограничено.
;ListenerTimer=600
; BanFile - является бан листом.Списком клиентов, которым запрещено подключаться к нашему радио серверу.
; Автоматически генерируется через Интернет.
; BanFile=sc_serv.ban
; Текстовый файл, используемый для работы со списком клиентских IP-адресов, которые всегда могут подключиться к серверу.
; RipFile=sc_serv.rip
; Если включить, то к серверу смогут подключаться только клиенты с IP-адресами из файла RipFile.
; RIPOnly=No
; *****************************
; Extended Logging (Расширенное Протоколирование)
; *****************************
; Тут какой-то прогон, мы его опустим.
; ***************************
; Mass Configuration (Массовая конфигурация)
; ***************************
; Тут тоже опустим. Разве что:
; Подключение дополнительной общей конфигурации.
; Include=/usr/local/shoutcast/common.conf
; *****************************
; Tweaks (Хитрости)
; *****************************
;Дальнейшее изречение говорит само за себя.
; DON'T MESS WITH THIS STUFF UNLESS YOU REALLY KNOW WHAT YOU'RE DOING.
; DON'T COMPLAIN TO US IF YOU MESS WITH IT AND THINGS BREAK.
; HAVE A NICE DAY.
; Количество рабочих процессоров.
; CpuCount=1
; Время "сна" процессора (в мс) в промежутках между отправлением данных
; пользователям. Значение по умолчанию (833) оптимально для 128kbps.
; Sleep=833
; Удаление некоторых лишних пробелов и строк в выводе XML.
; CleanXML=No
;
; TAG RULES
Запустим сервер.
sudo ./sc_serv sc_serv.conf
Настраиваем клиента, для вещания аудио потока на наш сервер.
В этих целях я использую старый добрый Winamp. И всё что нам понадобится для организации потока на сервер – это небольшой плагин SHOUTcast Radio DSP plug-in for Windows.
Качаем, ставим, сложного ничего сдесь нет… Запускаем winamp и настраиваем плагин.
Идём в Options > Preferences (или просто Ctrl+P) и далее DSP/Effect и в списке плагинов выбираем Nullsoft SHOUTcast Source DSP v1.9.1 [dsp_sc.dll]. Кликнем на плагине.

Затем появится окно SHOUTcast Source. Перейдём сразу в закладку Encoder где выберем Encoder Type – MP3 Encoder и ниже Encoder Settings - качество звучания нашего потока (всё зависит от возможностей вашего сервера и его интернет соединения).

Далее щёлкаем вкладку Outputи вбиваем Address – (Ip вашего сервера. В маём случае машина в локальной сети 192.168.1.111). Port- 8000 и Password (пароль который мы забивали в начале конфига). И жмём Connect.

Если всё правильно настроено, то во вкладке Output появится в Status – длительность соединения и объём посылаемых данных в байтах. Ну и на сервере появится параллельная информация.

Осталось только защемиться на WEB интерфейс нашего радио сервиса и попробовать прослушать поток. Набираем в вашем любимом браузере http://192.168.1.111:8000 где, вместо 192.168.1.111 устанавливаем IP адрес вашего сервера, на котором слушает ваш радио сервер или имя вашего хоста… Я использую как и локальный IP для тестов, так и халявный хост на dyndns.org. В открывшейся WEB странице нажимаем ссылку Listen где нам предложат загрузить лист воспроизведения Listen.pls. Открываем его в Winamp и слушаем своё радио.

Тут же на странице показывается информация о радио, о количестве пользователей, качестве аудио потока, проигрываемые песни и т.д.
Ну вот в принципе и всё, надеюсь получилось максимально развёрнуто.
Приятного прослушивания