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

Для ответа на этот вопрос, сначала нужно спросить себя о том, зачем нужно делать эту радиостанцию и что она будет из себя представлять. Но если Вы уже давно нарисовали в своей голове этот маленький «бизнес-план», то «добро пожаловать под кат» к изучению мат-части.
Лицом к народу
Лицо любого интернет-проекта — его страница в интернете. Вооружившись WHOIS сервисом ищем красивый и простой адрес для сайта. Не лишним будет напомнить, что чем ближе адрес будет относится к названию, чем проще его написание и чем меньше возможных неправильных вариантов такого написания, тем лучше.
Выбрали адрес? Отлично! Заказываем хостинг.
Для успешной работы сайта нам потребуются 3 простых вещи:
- PHP
- SQL база
- Движок
О движке:
Тут каждый вправе сам выбирать то, что больше ему подходит по душе, но сразу отмечу, что наилучшим для реализации сайта будет Joomla (сколько не перебирал вариантов на Wordpress и Drupal — очень сложно придумать реализацию на этих движках). Подробнее о способах наполнения контентом и хитростях в реализации я расскажу в следующих статьях.
Боевой сервер
Да, я не случайно написал ранее, что под сайт нужен хостинг, потому, что на боевом сервере вещания у нас на счету будет каждый килобит скорости, а «отъедать» показом содержимого этот наиважнейший для нас ресурс — непозволительная роскошь.
А теперь простая формула, которая нам в будущем замозолит глаза:
Пропускная способность канала/качество вещания=количество одновременных слушателей.
Другими словами, если наш канал интернета 100Mb/s, а вещать мы планируем на качеством в 128Kb/s, то всего вместится 800 человек (поверьте, это очень большая аудитория для начинающего проекта).
Какой сервер выбрать?
Над этим вопросом я часами рылся в интернете в поисках решения и решение не заставило себя ждать. Виртуальный сервер — наилучший выбор в данной ситуации.
Во-первых: По умолчанию имеет статический IP адрес.
Во-вторых: Имеет достаточно высокоскоростное соединение, правда с одной маленькой поправкой — скорость делится на всех обитателей этой физической машины, а значит наших 800 человек можно смело делить на 5 (хотя возможно, что эта цифра будет сильно отличаться, т.к. нагрузка на другие сервера тоже может быть довольно высокой).
Для наших изысканий не требуется мощный процессор и много оперативной памяти. Конфигурация радиосервера позволяет успешно использовать ничтожно малые ресурсы, наш основной критерий выбора — скорость соединения.
Windows или Linux
Как такового значения при выборе сервера то, какая будет стоять операционная система не имеет. Решения под развертывание радио-сервера имеются и под Win 32/64 и под *nix. Просто отмечу, что при реализации на Windows у вас будет больше возможностей, а под Linux — дешевле в содержании.
IceCast2 или ShoutCast
Сердце нашего сервера — «вещалка». Именно к ней происходит присоединение всех аудиопотоков, как входящих, так и исходящих. И тут нужно делать осознанный выбор, потому как на этом будет строится вся дальнейшая система вещания и ее поддержка. И у того и у другого продуктов имеются все прелести, которые нужны для организации эфира. И тот и другой продукт кроссплатфромены и требуют определенных навыков в общении с конфигурационными файлами, благо, соправождаются внушительной документацией (на английском).
Настройка «вещалки»
Для каждой радиостанции требуются очень специализированные настройки. В конфигурациях указываются названия, параметры потоков, правила переключения, безопасность и прочее. После настройки не забываем в фаерволле задать исключение для порта на котором производится вещание.
Звук в эфир
Существуют 3 способа поподания звука на канал:
- Релей
- Автовещатель
- Живой эфир
Причем, последние два отличаются между собой только тем, что один ведет робот (или вещание ведется по заранее подготовленному листу), а второй живой человек.
А вот с Релеем все интереснее. Давайте разберем все способы:
Релей — точка пересылки. Она берет уже готовый линк радиостанции и раздает всем, кто к нему подсоединяется. Таким образом, имея такой релэй можно ретранслировать радиостанции в локальные сети, забивать пустующее время своих эфиров и расширять пропускную способность собственной радиостанции. (подробее о том, как изящно увеличить вместимось одного канала в 2 и более раз, расскажу в следующих статьях). Также эта точка крайне важна, если у вас не очень мощные ресурсы сервера, а смена ведущих происходит очень часто.
Автовещатель и Живой эфир — на эту роль подходит довольно много программ, но я выделю наиболее распространенные:
Windows
- RadioBoss
- SamBroadcaster
- Winamp+плагин к ShoutCast
Linux
- Ices
- phpCast
- PulseAudio*
(*) — Сервер PulseAudio имеет в себе встроенные механизмы передачи аудиопотока
Итоги:
В этой статье я описал ключевые моменты в создании интернет-радио
Сама установка и настройка радио-сервера занимает не более 15 минут. Гораздо больше времени тратится на отлаживание тех или иных функций, т.к. вручную производить контроль над состоянием проекта 24 часа в сутки — невозможно.
Ссылки на статьи и гайды по теме:
RadioTalk.ru — Форум об интернет радиостанциях. Подробные гайды, скрипты и настройки.
IceCast.org — Сайт проекта Ice Cast.
ShoutCast.com — Сайт проекта ShoutCast.
Послесловие
В следующих статьях я буду подробно расписывать все хитрости в установке, настройке и использования каждого из этих элементов интернет-радио, приведу примеры скриптов настроек и способы автоматизации.