Радиовещание.

Оглавление:
1. Что такое Shoutcast ?
2. Установка Shoutcast server'a.
3. Настройка DSP.
4. Настройка параметров твоего вещания.
5, Параметры конфигурационного файла.
6. Получение Метаинформации.
7. Необходимые ресурсы.

Что такое Shoutcast?
Shoutcast - это программный продукт, который вместе с Winamp'ом образует единую систему трансляции аудио-потоков.
Система позволяет:
1. Прослушивать доступные каналы в интернете или в локальной сети, при помощи плееров, поддерживающих аудио потоки.
Это
следующие плееры: Winamp (Windows), Audion (Mac), XMMS (Linux\XWindows).
Информацию о доступных серверах в интеренете, их рейтинг, количество слушателей, название проигрываемой композиции в настоящий момент можно узнать на страничке производителя системы (http://www.shoutcast.com/), причем действующие сервера постоянно обновляют эти данные. Для того, чтобы заценить какой-нибудь канал нужно при запущенном Winamp’e нажать клавиши Ctrl+L и ввести в появившемся окошке <IP адрес сервера>:<порт сервера>.
2. Создать собственное вещание по сетям Ip: интернет, локальные сети (офис, школа, домашняя локалка).
Для этого необходимо запустить собственный сервер трансляции аудио потоков.
Сервер позволяет использовать два разных аудио источника для последующей трансляции:
a) Winamp (локальный, т. е. который запущен у тебя на компе, или удаленный, т. е. тот который у приятеля );
Если транслируешь поток со своего Winamp'a, то для него необходимо поставить плагин (plug-in) Shoutcast Sourse (по другому называется DSP плагин). Он выполняет сжатие и передачу данных от Winamp'a на сервер-транслятор.
При этом композиции для трансляции поступают на сервер непосредственно из плей-листа Winamp’a. Т.е. есть возможность одновременно и самому слушать музон, и одновременно его же передавать на свой сервак.
b) Другой сервер Shoutcast с доступным для перетрансляции каналом вещания.

Установка Shoutcast Server'a.
Shoutcast server доступен для следующих платформ: Windows95\98\NT\2000, FreeBSD, Linux, Mac OS X.
Рассмотрим установку версии для Win32 системы как наиболее простую для использования.
Вначале нужно скачать его дистрибутив. Разархивируем его в каталог C:/Program Files/Winamp/Shoutcast/ по рекомендации производителя, но можно и в любую другую. При этом установятся две версии сервера, одна для запуска из командной строки SC_SERV_CONS.EXE (по умолчанию использует файл SC_SERV_CONS.INI как файл с настройками), другая для запуска в оконном режиме SC_SERV_GUI.EXE (по умолчанию использует файл SC_SERV_GUI.INI как файл с настройками). Изначально система поставит файл SC_SERV.INI, после этого можно скопировать содержимое SC_SERV.INI в файлы SC_SERV_CONS.INI и SC_SERV_GUI.INI; можно также использовать команду [SC_SERV_CONS.EXE <FILENAME.INI>] или [SC_SERV_GUI.EXE <FILENAME.INI>] для запуска сервера с нужным файлом настроек, это удобно когда подготовлено несколько конфигурационных файлов. Описание параметров файлов ini см ниже. Общий вид сервера трансляции см на рис 1.

Рис 1.Nullsoft Shoutcast server monitor.JPG (173693 bytes)
Рис1. Nullsoft Shoutcast server monitor.

После этого устанавливаем DSP плагин. (Здесь и далее, все плагины перекачиваются с сайта (http://www.shoutcast.com/) в виде архивов zip и разархивируются в директорию plugins Winamp'a).
Также необходимо установить MPEG Layer-3 кодек в систему. Проверить установку которого можно здесь: пуск, настройка, панель управления, мультимедия, устройства, программы аудиосжатия (должна быть запись об установленном кодеке мп3 сжатия). Лучше всего поставить Fraunhofer IIS MP3 Layer3 Codec (Profeshional version), он позволит вести вещание с битрейтом более чем 56 kbps.
Информацию по настройке DSP см ниже.
Также есть еще дополнительные плагины к Winamp'y:
SHOUTcast Live Input Plug-in - позволяет накладывать на свою трансляцию речь при присоединенном микрофоне к звуковой карте или аудио поток с входа line-in звуковой карты; если в Winamp'e нажать Ctrl+L и ввести 'linerec://', то будет траслироваться только то, что идет по микрофону или по Line-in к звуковухе.
SHOUTcast Null_Output Plug-in - поможет тебе осуществить трансляцию, если нету звуковой карты или ты решил не слушать сам то, что транслируешь .
Замечание: возможно использование этого плагина для снижения нагрузки на свой комп при трансляции.

Настройка DSP плагина.
Запусти Winamp, нажми Ctrl+P, в появившемся окне Winamp Preferences увидишь дерево папок выбери папку DSP/Effects, там ты увидишь, что появился новый плагин Shoutcast sourse for winamp.См рис 2.

Рис 1.Установлен плагин DSP.JPG (70890 bytes)
Рис 2. Установлен DSP.

Жми кнопарь Configure снизу и увидишь окошко Configure Shoutcast Plug-in (см рис 3).

Рис 2.Окно Configure SHOUTcast Plug-in.JPG (80158 bytes)
Рис 3. Окно Configure Shoutcast plug-in.

Его настройки:
Enable low-pass filtering - включить низко-уровневую фильтрацию (рекомендуется производителем);
Enable advanced recording mode - позволяет выбрать дополнительный режим записи, либо с микрофона, либо с line-in звуковухи;

Save broadcast to files in - можно указать папку для записи вещания;

Настройка параметров твоего вещания.
Теперь жми  на появившуюся иконку в системном трее Shoutcast Source (см рис 4).

Рис 3.Иконка в системном трее Shoutcast source.JPG (1820 bytes)
Рис 4. Иконка в трее Shoutcast sourse.

Появится окошко Shoutcast source (см рис 5).

Рис 4.Окно Shoutcast source.JPG (40902 bytes)
Рис 5. Окно Shoutcast sourse.

Жми кнопку Edit (первую сверху). Появится окошко Shoutcast server selection (см рис 6).

Рис 5.Окно Shoutcast server selection.JPG (66545 bytes)
Рис 6. Окно Shoutcast server selection.

Его настройки:
Shoutcast server - Ip сервера, на который будет передавать твой Winamp; если сервак стоит у тебя самого, то оставляй тут localhost;
Port - порт сервера, на который будет передавать твой Winamp;
Password - пароль для доступа на передачу этому серверу; поскольку этот пароль заносится в конфигурационный локальный файл сервера, то не зная его, ничего передать этому серверу ты не сможешь;
Дальше идут поля с информацией о сервере ( Server Information): Descripshion (Описание), Genre(Жанр), URL (адрес твоего сайта), IRC Channel (твой канал на IRC), ICQ# (твой номер в аське), AIM Name (твое имя).
Теперь в окне Shoutcast source жми кнопку Edit (вторую сверху). Появится
окошко Format selection (см рис 7).

Рис 6.Окно Format selection.JPG (41521 bytes)
Рис 7. Окно Format selection.

Здесь можно выбрать параметры твоей трасляции (битрейт kBit/s, частоту дискритизации Hz, Mono\Stereo), а также сохранить понравившиеся настройки как схему.
Замечание: если не поставлен кодек Fraunhofer IIS MP3 Layer3 Codec (Profeshional version), то больше, чем 56 kBit/s 22.000 Hz Stereo выставить нельзя.
Следующие настройки в окошке Shoutcast source (см рис 4) - Song Title и URL отмечай галочкой на режим авто. Также ставивь галку в поле Auto Reconnect.
После всего этого жми кнопку Connect, и если все настроенно правильно то твой источник трансляции будет присоединен к серверу трансляции.

Параметры конфигурационного файла.
Вот полный список всех переменных входящих в файл конфигурации:
В ( ) - дается значение по умолчанию, в [ ] - значение, которое я выбрал.
MaxUser - максимальное количество клиентов для твоего сервера; (32); [25].
Password - этот пароль используется для идентификации сервером источника аудио потока, пароль прописывается как в файле настройки сервера, так и в свойствах DSP плагина Winamp'a; (changeme); [не скажу].
PortBase - порт твоего Shoutcast Servera, на который будут конектится меломаны; (8000); [8000].
LogFile - имя файла для записи событий сервера; (sc_serv.log); [sc_serv.log].
RealTime - [ только для серверов WIN32, запускаемых из командной строки и для *nix], показывает отражать ли серверу строку статуса, обновляемую каждую 1 секунду; (1); [1].
ScreenLog - [ только для серверов WIN32, запускаемых из командной строки и для *nix], показывает отражать ли серверу диагностические сообщения (логи) на экране; (1); [1].
ShowLastSong - задает количество композиций для выдачи в файл /played.html (10, можно поставить 1-20); [10].
HistoryLog - имя файла для записи истории логов; (sc_hist.log); [sc_hist.log].
HistoryLogTime - частота записи истории логов, в секундах; (30); [30].
TchLog - разрешает твоему серверу вести записи в логе по изменениям в yp директории (yp.shoutcast.com); (yes); [yes].
WebLog - разрешает добавлять в лог данные при вызове твоего сервера по http:// ; (no); [no].
SrcIp - (от source ip) Ip адрес источника аудио потока на твой сервер трансляции; можно поставить ANY, т е любой может давать тебе данные (естественно только тот, кто имеет пароль), или 127.0.0.1, т е только ты, или любой другой Ip; (ANY); [ANY].
DestIp - (от destination ip) Ip адрес клиентов твоего сервера трансляции; если ANY, то все желающие могут принимать твои передачи с сервера, или любой другой Ip; (ANY); [ANY].
Yport - порт для подсоединения к yp.shoutcast.com (для отсылки информации на базу данных directory data о своем сервере); если вы используете веб-кеш, то можно использовать еще и другие порты, какие см на www.shoutcast.com; (80); [80].
NameLookups - если 1, то сервер будет выполнять преобразование адреса Ip в имена; (0); [0].
RelayServer - Ip адрес; если обозначен, то твой сервер будет транслировать доступный канал с другого сервера (по указанному Ip), а Winamp он воспринимать не будет; (закомментировано);[закомментировано].
RelayPort - порт сервера, канал которого ты ретраслируешь; (закомментировано); [закомментировано].
AdminPassword - пароль администратора (отличается от Password'a), дает все права на kick, ban и др; (adminpass) ; [не скажу].
AutoDumpUser - при потери связи с источником трансляции : если 1,то сервер отключит от себя всех пользователей, иначе, они остаются на канале без оключения ( и есть еще возможность в это время включить им на прослушивание аудио фон (BackupFile)); (0); [0].
AutoDumpSourceTime - определяет время (в секундах) для принятия решения AutoDumpUser; (30); [30].
IntroFile - имя файла ,его сервер будет проигрывать каждому меломану при заходе на твой канал; %d - означает твой битрейт; (intro%d.mp3); [intro128.mp3].
Замечание: этот файл может быть только в формате MP3 и полностью соответствовать по всем параметрам передаваемому аудио потоку.
BackupFile - имя файла, при потери связи с источником трансляции сервер будет транслировать этот аудио фон; %d - означает твой битрейт; (backup%d.mp3); [backup128.mp3].
Замечание: этот файл может быть только в формате MP3 и полностью соответствовать по всем параметрам передаваемому аудио потоку.
TitleFormat - задает формат передачи мета данных плееру меломана о сервере и транслируемой композиции для отображения в виде строки, вместо %s автоматически подставляется название композиции; (Justin Radio: %s); [StationY2K: %s].
URLFormat - задает формат передачи url строки (и саму строку, т.е. адрес твоего сайта), которая передается url minibrouser'y слушателей; (http://www.server.com/redirect.cgi?url=%s); [http://192.168.45.3/StationY2K.htm].
PublicServer - может быть always, never или default; если always или default, то DSP plug-in и твой сервер будут иметь статус public (т.е. информация о них будет поступать на базу данных shoutcast directory (http://yp.shoutcast.com/); если newer, то нет; (default); [default].
AllowRelay - может быть yes или no;
yes - другие сервера могут ретранслировать аудио поток с твоего сервера трансляции;
no - другие сервера не могут ретранслировать аудио поток с твоего сервера трансляции;
(yes); [yes].
AllowPublicRelay - может быть yes или no; если yes, то твои ретрансляторы смогут отослать метаданные в базу данных shoutcast directory (http://yp.shoutcast.com/); если no, то нет; (yes); [yes].
MetaInterval - показывает как часто (задается в байтах) передаются мета данные; (8192); [8192].
ListenerTimer - определяет максимальное время нахождения меломанов на канале (в минутах); (закомментировано, т. е. время пребывания неограниченно); [закомментировано].
BanFile - имя файла, здесь находятся клиенты, вход которым к тебе запрещен; (sc_serv.ban );[sc_serv.ban].
RipFile - имя файла, здесь находятся клиенты, вход которым к тебе запрещен не только под видом слушателя, но и под видом ретранслятора; (sc_serv.rip); [sc_serv.rip].
CurrentLogIn - имя файла, с ключевыми словами для выдачи метаинформации (шаблон); (c:/hi.in); [с:/hi.htm];
CurrentLogOut - имя файла, для выдачи по шаблону метаинфориации; (c:/hi.htm); [c:/done.htm].
CurrentLogTime - время обновления (в секундах) данных в CurrentLogOut; (30); [15].
Unique - ставит эту строчку в соответствие значку $; т е если unique=my server, то $=my server ; удобно использовать в файлах конфигурации; (закомментировано) ;[закомментировано].
Include - имя конфигурационного файла, который начинает читать сервер, встретив эту строку; (закомментировано) ;[закомментировано].
CpuCount - количество процессоров; (1) ;[1].
Sleep - определяет пакеты отсылки данных клиенту, но задается в миллисекундах; (833) ;[833].

Получение метаинформации.
Shoutcast server поддерживает механизм получения из него мета информации, это данные о сервере и о проигрываемой композиции. Принцип тут такой: составляется файл (его имя указывается в ключе CurrentLogIn), в нем запросы на данные присутствуют в виде ключевых слов в теге комментария. Сервер анализирует эти ключевые слова и подставляет вместо них свои текущие данные, вся информация после этого выводится файл, указанный в поле CurrentLogOut. Частота обновления сервером информации в CurrentLogOut указывается в CurrentLogTime.
Вот список всех ключевых слов:
LISTENERS - количество слушателей в настоящий момент времени
MAXLISTENERS - максимальное количество слушателей на канале
LISTENERTABLE - простая таблица слушателей
GENRE - жанр композиции
DESCRIPSHION - описание композиции
URL - текущий url
HITS - количество кликов, с которым стартовал сервер
CURRENTSONG - название текущей композиции
Пример шаблона:
<HTML>
<HEAD>
<TITLE>My Current Stats</TITLE>
<HEAD>
<BODY>
My SHOUTcast server is currently playing <!-- CURRENTSONG -->.
</BODY>
</HTML>

Необходимые ресурсы.
Winamp - http://www.winamp.com/
Shoutcast server, DSP плагин для Winamp'a, SHOUTcast Live Input Plug-in, SHOUTcast Null_Output Plug-in, докуметация -
http://www.shoutcast.com/
Fraunhofer IIS MP3 Layer3 Codec (Profeshional version) - http://www.iis.fhg.de/amm/

Hosted by uCoz