Свое сетевое радио
Дмитриев Ярослав aka Clane
Xakep, номер #062, стр. 062-024-2
Хижина двух вышеперечисленных инструментов расположилась на www.shoutcast.com. Что примечательно: разработчики не забыли о людях, которые не держат окошки у себя на харде. Поэтому, кроме виндовой версии обеих тулз, на сайте также выложены версии для Linux, FreeBSD и MacOS. Я тестировал софт в операционной системе Windows XP. Багов в работе программ не замечено, за что ребятам из NullSoft мой низкий поклон.
Пошло-поехало!
Скачав и установив софт, нужно плавно переходить к настройке. И первым под нож пойдет SHOUTcast Server. Для начала вспомни, куда ты приказал его установить (папка по дефолту: C:\Program Files\SHOUTcast). Вспомнил? Тогда найди файл sc_serv.ini и открой его любым текстовым редактором. В этом файле можно настроить множество параметров, но мы подробно рассмотрим только жизненно важные.
MaxUser= - здесь можно задать максимальное количество слушателей. Цифра зависит от ширины твоего канала.
Password= - сервер допускает удаленное администрирование, причем отключить эту фишку нельзя, поэтому здесь можно и нужно задать пароль. При этом учти, брутфорсеры не спят!
Port Base= - указывай порт своего компа, через который будет вестись вещание. Порт по умолчанию - 8000. Лучше всего это значение и не менять.
Так, с настройками сервера разобрались. Лихо мы, да? Переходим к настройке плагина. Он у тебя уже установлен? Тогда запускай WinAMP и нажми ctrl+p (или Options - Preferences). Ищи в списке пункт Plugins - DSP/Effect и выбирай справа Nullsoft SHOUTcast Source DSP. На экран выскочит окошко с четырьмя вкладками.
Первую закладку (Main) трогать не нужно. А вот на закладке Output будь внимателен! При нажатой кнопке Connection у тебя должны быть доступны следующие параметры для настройки:
Connect at Startup – если эта опция активна, плагин будет автоматически связываться с сервером при запуске. Рекомендую активировать эту фишку.
В поле Address указываем IP компа, на котором установлен сервер. Стоит отметить, что сервер и плеер могут находиться на разных машинах. Т.е., к примеру, сервер можно установить на машине с выделенкой и бесплатным трафиком, а рулить им из дома. Если обе проги установлены на одной машине, то оставь в этом поле запись по умолчанию (localhost).
Port - помнишь порт, который ты указывал при настройке сервера? Впиши сюда то же значение.
Automatic Reconnection on Connection Failure – отметив эту опцию, ты добьешься того, что связь с сервером будет автоматически восстанавливаться после дисконнекта.
Reconnection TimeOut – величина задержки перед следующей попыткой связи с сервером. Оставь как есть.
Справился? Теперь кликаем по кнопке с надписью Yellow Pages и задумчиво чешем репу, стимулируя воображение. Дело в том, что сейчас плагин предлагает нам вписать различную инфу о станции, а именно: ее название (поле Description), адрес станции (URL), канал станции на просторах IRC, жанр, в котором идет вещание (Genre), аську или AIM диджея.
В нижней части ты можешь активировать отображение информации о песне из тегов файла, отметив галочкой чекбокс Enable Title Updates, а также решить - публиковать ли инфу о твоей станции в инете. С этим я бы не торопился. При вещании в локалке опцию Make this server public можно вообще не трогать. А при интернет-вещании, перед тем как отметить эту опцию, следует еще раз подсчитать, сколько пользователей и при каком битрейте ты сможешь потянуть, и настроить свой софт соответствующим образом.
На вкладке Encoder ты указываешь битрейт, с которым будет вестись вещание, и режим (моно/стерео). Можно заранее задать до пяти различных условий трансляции, после чего переключаться между ними в зависимости от числа пользователей и скорости соединения.
Вкладка Input предлагает тебе выбрать источник вещания (Input Device). Если кроме музыки в эфире ничего не пойдет - смело выставляй WinAmp (Reccomended). Если же ты будешь работать в эфире с микрофоном или подавать звук из других источников, то твой выбор - Soundcard Input.
Давай разберемся, что тут и как.
Open Mixer - нажав на эту кнопку, ты вызовешь стандартный системный микшер.
Push to Talk - эта кнопка необходима для того, чтобы, не прерывая звучания музыкальной композиции, вывести голос с микрофона в эфир.
Lock - эта кнопка включает залипание клавиши Push to talk.
Music Level - ползунок, задающий уровень громкости воспроизведения основной фонограммы.
BG Music Level – уровень громкости фоновой музыки при речевом эфире.
Mic Level - уровень громкости микрофона.
Fade Time - скорость снижения/нарастания уровня громкости во время перехода из режима в режим.
На деле все происходит следующим образом: у тебя появилась светлая мысль, которую ты хочешь донести до слушателей, поэтому нажимаешь кнопку Push to talk. В это время громкость звучащей музыки понижается до установленного уровня (параметр BG Music Level) с одновременным повышением уровня громкости микрофона (параметр Mic Level). После того как мысль высказана и кнопка Push to talk отпущена, произойдет обратный эффект.
На этом настройку плагина можно считать законченной. Возвращаемся на закладку OutPut и кликаем по Connect. Не работает? А, тогда запусти SHOUTcast Server и кликни Connect еще раз . Побежали байтики? Могу тебя поздравить - теперь ты радио-DJ!
Раз-раз, проверка!
Проверить работоспособность своего радиосервера легко. Для этого достаточно набрать в браузере адрес компа, на котором он установлен. Вид запроса выглядит так: http://ip-адрес:порт (для примера: http://127.0.0.1:8000). На открывшейся странице ты увидишь информацию, которая была занесена в настройки DSP плагина.
Так, а как быть слушателям? Им для доступа к радиоволнам необходимо лишь войти в меню плеера Add URL (будь то WinAmp или, допустим, Windows Media Player) и ввести все то же - http://ip-адрес:порт. Видишь, как все просто. После этого остается лишь составить музыкальную программу, сообщить друзьям адрес SHOUTcast-сервера, вывесить в локалке объяву, взять в руки микрофон и выйти в эфир.
А можно ли взломать?
Взломать можно все, так как пока в этом мире нет идеальной защиты. Да и человеческий фактор играет не последнюю роль. Но не об этом сейчас речь. Перед тобой код, который позволяет подобрать пароль к административному интерфейсу SHOUTcast-сервера.