Технологии вещания интернет-станции - от простого к сложному

Сетевые музыкальные станции давно получили широкое распространение во всемирной Паутине. Они предлагают богатый выбор музыкальных жанров, различаются по качеству, количеству слушателей и еще по многим критериям.

В связи с бурным развитием интернета у нас в республике, а также ростом домашних сетей, которые могут объединять сотни компьютеров, наметилось оживление и среди сетевых станций, которые создают и продвигают наши соотечественники. Самая известная из них - это "Айчына Шоуткаст", которую транслируют в свои сети практически все белорусские провайдеры. Но сегодня мы побеседуем о технической стороне дела.

Наш гость - человек, который знает о технологиях вещания интернет-станций практически все. Мы беседуем с Алексеем Лошкаревым.


- Алексей, расскажи, каковы минимальные требования для открытия сетевой станции?

- Все зависит от того, что от этой станции хотят получить ее хозяева.

Самую простую сетевую станцию можно получить, просто заключив договор (купив сервер, проще говоря) с соответствующей компанией. Таковых сейчас море. Стоимость сервера будет прямо пропорциональна среднему количеству слушателей и качеству вещаемой музыки. В качестве транслирующего сервера у них обычно используется примитивный ShoutCast, от которого сложно добиться толку: формат потока - только MP3 (можно вещать другим пропиеритарным форматом MP3Pro). На один сервер доступен один канал вещания, настроек минимум.

Вещание в таком случае выглядит так: ди-джей (или компьютер, обеспечивающий нон-стоп вещание) подключается к серверу и транслирует на него музыкальный поток. К серверу подключаются слушатели и могут эту музыку слушать. В случае смены вещающего канала (нон-стоп сменился ди-джеем, к примеру), всех слушателей весело выкидывает с канала, и подключаться приходится по новой.

Для старта этого варианта нужны минимальные знания и затраты. Хостинг стоит не дорого, из софта требуется source-клиент (к примеру, Winamp; из более серьезного - популярный SAM Broadcaster).

- Не самое приятное дело - переключаться "ручками" на другой канал... А есть ли альтернатива?

- Есть альтернатива. Но тут вступает в силу закон "кому это нужно - не умеет, кто умеет - тому не нужно".:)

Альтернатива требует достаточно глубоких знаний предмета (хотя, по большому счету, ничего невозможного не существует). Для вещания на более высоком уровне требуется другое серверное программное обеспечение.

Сервер вещания - IceCast. Обратно совместим с ShoutCast, то есть проблем не возникнет ни у слушателей, ни у ведущих. Распространяется под лицензией GPL, поэтому функциональность его намного выше ShoutCast'а, разработка которого заморожена уже давно.

Основные отличия IceCast:

  1. Поддержка неограниченного количества вещающих каналов (у Shoutcast - только один, основной). Это позволяет на одном сервере вести вещание сразу нескольких различных каналов.
  2. Поддержка множества форматов мультимедиа - как звуковых, так и видео (ShoutCast, напомню, только MP3).
  3. Возможность резервирования (fallback) каналов. Например, в случае отключения основного канала (смена ди-джея на нон-стоп и т.п.) слушателя временно перебрасывает на резервный канал или просто обычный файл-заглушку. Для слушателя это абсолютно прозрачно, никакого отключения не происходит.

Главное, пожалуй, отличие IceCast - это его лицензия. В случае, если вам не хватает каких-либо возможностей или нашли ошибку, вы вправе взять исходные коды и изменить их по своему вкусу. В случае с ShoutCast это невозможно. Многие, наверное, сталкивались с багом в ShoutCast, который приводил к порче тегов, в кодировке, отличной от latin-1. Компания-разработчик (nullsoft.com) ответила на это так: исправления нет и не предвидится.

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

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

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

- Я не знаю примерно расходов эфирной радиостанции, думаю, что основная их часть - зарплаты сотрудников и оплата транслирующего оборудования.

Но подозреваю, что в случае интернет-радио затраты на транслирующее оборудование (собственно, подключение студии к интернету, оплата сервера и трафика сервера) будут несравнимы с обычной радиостанцией.

Стоимость интернет-доступа можно вообще не принимать в расчет. Даже в нашей прогрессивной (в плане доступности интернета) стране эти деньги совсем несерьезные.

Оплата сервера и трафика сервера - тут уже совсем другие цифры. Конкретно прикинуть достаточно сложно. Требуются определенные вводные данные - среднее количество слушателей.

Как говорил один директор сетевого радио, интернет-радиостанции всегда известно, сколько слушателей у нее в данный момент. Это и хорошо, и плохо, так как каждый слушатель - прирост трафика сервера и увеличение его нагрузки. Но оба этих фактора можно эффективно побеждать:).

Стоимость оборудования студии будет сравнима со студией для обычного радио - те же микрофоны, пульты, компьютеры и прочее оборудование. Но не нужно платить за частоту, не нужно нанимать оборудование у радиовещающих компаний.

- Давай поговорим о затратах слушателя такой станции. Комфортное прослушивание возможно при соединении по dial-up`у? И сколько трафика "съест" прослушивание, скажем, получасовой программы сетевой станции?

- В случае простого вещания, с помощью ShoutCast, мы ограничены MP3 и MP3Pro. На низких битрейтах MP3Pro звучит достаточно приемлемо, но в некоторых случаях использовать этот формат затруднительно. Например, нет открытых (OpenSource) кодеков MP3Pro.

То бишь, организовать свой сервер нон-стоп-вещания средствами OpenSource не получится, а придется либо покупать, либо воровать коммерческий софт, который обычно "Windows Only". К чему приводит использование платформы Windows в промышленных условиях, вопрос не этой статьи.

На одном MP3 мир не держится (хотя некоторые считают именно так). Есть другие, открытые, форматы. К примеру, OGG Vorbis. Сам контейнер OGG позволяет транслировать звук в различных форматах. В недавно вышедшей IceCast v 2.3.0, появилась поддержка форматов .ogg .speex, .ogg flac и .ogg midi. Представляете, вещать в формате MIDI:)?

OGG Vorbis (далее просто OGG) по многим параметрам лучше MP3. Не удивительно, ведь разрабатывался он исходя из всех достоинств и недостатков MP3. Например, корректно работает вещание в режиме VBR (Variable Bitrate - переменная ширина потока данных). Изначально в качестве основной кодировки тегов использовался unicode, а не latin-1. Это сразу позволяет забыть про головную боль с кодировками в тегах песен.

Но главным, пожалуй, достоинством OGG является качество. Даже на минимальных битрейтах, например, 24 или 32 Кбит, OGG звучит почти как 96-кбитный MP3. Использование OGG на низких битрейтах - идеальное решение для тех пользователей, которые ограничены модемом или дорогим трафиком.

Кроме OGG Vorbis и MP3, есть и другие форматы, есть и те, которые звучат лучше и .mp3, и .ogg. Но .mp3 и .ogg остаются лидерами, так как поддержка их есть в подавляющем большинстве программ - Winamp поддерживает .ogg с дремучих 2.х-версий, остальные программы в долгу не остаются.

Другие форматы (к примеру, .aac, .theora) оставим в стороне. Поддержка "из коробки" для них пока еще хромает. Форматы .wma, realaudio отнесем к mp3pro - коммерческая разработка (бесплатные кодеки под "Линукс", отзовитесь!:)). Кроме того, для realaudio нужно ставить realplayer, а это лишние проблемы.

Почему я отдаю предпочтение бесплатным (точнее, свободным) решениям - я не фанатик OpenSource, но когда меня производитель кодека, который я встрою в свою радиостанцию, просит заплатить за каждого слушателя, который будет меня слушать, я им, именно фанатиком, и становлюсь. Кроме того, свободные решения зачастую превосходят свои коммерческие аналоги. За примерами далеко ходит не надо, да и не будем:).

Итак, сколько же будет стоить прослушивание радио обычным пользователям. Возьмем, к примеру, пользователя домашней сети. Он подключен к интернету через высокоскоростное соединение и может выбирать, в каком качестве ему слушать радио (разумеется, выбирать из того, что предоставляет радиостанция).

Обычно используются битрейты - 128kbit, 96kbit, 64kbit, 32kbit, 24kbit. Самый популярный формат вещания - MP3. На битрейтах ниже 64 Кбит звучит просто ужасно:). Иногда на 32kbit и 24kbit используется вещание в режиме Mono, это позволяет экономить половину пропускной способности для небольшого повышения качества.

Итак, слушатель включает канал с самым лучшим качеством - 128kbit. Так как тип потока - CBR (с постоянной скоростью потока), то все время прослушивания его компьютер фактически будет скачивать файл со скоростью 128 Кбит или 16 килобайт (16 килобайт в секунду, 960 килобайт в минуту, 28 мегабайт за полчаса). В случае более низких битрейтов суммарный трафик пропорционально уменьшится. 14 мегабайт для 64-кбитного вещания, 7 мегабайт - для 32 Кбит.

В принципе, насколько я помню расценки за трафик, не такие уж и копейки набегают. Решение тут есть, и оно повсеместно внедряется средствами провайдеров. Решение простое и очевидное - провайдер ставит у себя релей (relay), который подключается к серверу радиостанции и передает музыку внутрь своей сети. Обычно внутрисетевой трафик бесплатный, и благодарных слушателей у радиостанции прибывает. Это взаимовыгодно и радиостанциям (дополнительные слушатели), и провайдерам (дополнительная "фича" в длинном списке предоставляемых услуг).

Кстати, в последней версии IceCast появилась возможность включения режима relay-on-demand. Как следует из названия, релей подключается к серверу радиостанции только тогда, когда у него самого есть слушатели. Никто не слушает - и релей не занимает интернет. Это позволяет организовать радиоретрансляцию даже средствами небольших провайдеров и обычных домашних сетей.

- Совместные эфиры сетевых станций технически не представляют трудностей. А совместные эфиры с эфирными радиостанциями, которые одновременно вещают и в интернете, возможны?

- В общем, нет никакой разницы - две интернет-радиостанции (такой опыт у нас был) в одном эфире или интернет- и обычная радиостанция, в любом случае нужно иметь надежную и быструю связь между студиями. Достаточно просто все организовывается обычным VoIP-софтом, который позволяет передавать голос через интернет. Технических проблем тут минимум.

- Давай поговорим о сетевых станциях в пределах домашней сети или офиса. Ты, кстати, не знаешь подобных случаев, я имею в виду в офисах?.. Что надо для этого и как это реализовать?

- Случайно знаю ;). Я сам как-то начинал именно с этого - локальное радиовещание по офисной сети :).

Тогда я был молод и глуп ;), но поставить и настроить ShoutCast смог. Про Icecast не знал совсем, да и вещание в офисе не прижилось - не до этого было. Но вообще, для организации вещания в общем случае нужны 3 вещи:

  1. Источник (source client) звука для сервера. Это программа, берущая звуковой поток (например, архив mp3-ек на диске, FM-карта) и транслирующая его на сервер. Примеры программ - Winamp, StreamTranscoder, SAM2, SoundEmpire.
  2. Сервер вещания - это программа, принимающая входящий поток от источника и раздающая его слушателям. Примеры - Icecast, Shoutcast.
  3. Клиент - программа-проигрыватель, способная подключиться и воспроизводить звук, передаваемый сервером. Примеры - Winamp, Wmplayer.

Список программ не ограничивается вышеприведенным. Прослушивать интернет-радио можно практически любым медиа-проигрывателем. Программ-источников тоже великое море, кроме того, совсем не сложно пишется своя программа под собственные нужны (как у нас было с вещанием нон-стоп).

- По твоему мнению, какое будущее у сетевых станций? Как ты видишь развитие подобного вещания? В связи с бурным развитием беспроводного доступа, не станут ли сетевые станции "убийцами" эфирного радио?

- Интернет-радиостанции скажут свое веское слово уже в ближайшие годы. В связи с повсеместным распространением WiFi (и его замены - WiMax) беспроводной доступ в интернет может стать доступным отовсюду - из дома, автомобиля, дачи. А вместе с интернетом станут доступны и интернет-радиостанции. FM-станциям придется серьезно потесниться, в этом я абсолютно уверен!

У FM-станций есть большое преимущество - они есть уже сейчас, и перейти на интернет-вещание не составит труда (что они в Беларуси и делают! -прим. автора), но то, что общая расстановка сил на радийном фронте изменится, это однозначно :).

Прогнозирование будущего - сложная задача, особенно в условиях Беларуси.

Я думаю, что в ближайшем будущем интернет-радио будет потихоньку пробираться к своим слушателям. Вспомним недавние ограничения на соотношение белорусских/остальных исполнителей, в таких условиях интернет-радиостанции явно имеют фору. Весь вопрос в популяризации идеи сетевого вещания. Постепенно, потихоньку, но интернет-радио будет в каждом доме:).

Обязательно будет!

- Что ж, на этой оптимистичной ноте для сетевых станций мы и завершаем беседу с Алексеем. Спасибо за интервью!

- Всегда рад!

В следующий раз поговорим с Дмитрием Власовым, человеком, который является отцом-основателем самой известной белорусской сетевой станции - "Айчына Шоуткаст".

Беседовал Максим ГАЙКО

Версия для печатиВерсия для печати

Номер: 

43 за 2005 год

Рубрика: 

Эксклюзивное интервью
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!