
772 Глава 7, Прикладной уровень
организовать, — используются все те же методы потокового аудио; при этом слу-
шатели могут выбрать любую передачу из архива.
Совсем другой подход связан с радиовещанием через Интернет. Некоторые
станции организуют параллельное вещание — в эфире и в Сети. Однако появля-
ется все больше станций, работающих исключительно через Интернет. Некото-
рые технологии, применяемые для передачи потокового аудио, подходят и для
живого вещания, однако есть некоторые серьезные различия.
Похожи эти технологии тем, что и там, и там требуется буферизация на сто-
роне пользователя, позволяющая снизить флуктуацию (джиттер). Буферизация
10-15 с звучания до начала проигрывания позволяет сделать вещание непрерыв-
ным даже в условиях довольно заметной флуктуации (джиттера) в сети. До тех
пор, пока пакеты прибывают раньше, чем они реально нужны, не имеет никакого
значения, когда именно они прибывают.
Одно из ключевых отличий состоит в том, что потоковое аудио можно выда-
вать со скоростью, превышающей скорость воспроизведения, поскольку прием-
ник может остановить процесс, когда буфер заполняется до верхнего предела.
В принципе, за счет этого появляется время на передачу потерянных пакетов, хо-
тя практически это свойство редко используется. Что касается живого радиове-
щания, здесь скорость выдачи информации всегда точно соответствует скорости
ее создания и воспроизведения.
Еще одно отличие состоит в том, что аудитория радиостанции может исчис-
ляться сотнями или тысячами слушателей, тогда как потоковое аудио рассчита-
но на двухточечный обмен информацией. В таких условиях, очевидно, интернет-
радио может передавать широковещательный сигнал с помощью протоколов
RTP/RTSP. Это наиболее эффективный способ работы.
Однако на сегодняшний день интернет-радио работает по-другому. Реально
происходит вот что: пользователь устанавливает TCP-соединение с радиостан-
цией и принимает данные посредством протокола TCP. Конечно, это порождает
ряд проблем, таких как остановка передачи при заполнении окна, потеря пакетов
с последующей повторной передачей и т. д.
Почему же вместо широковещания по RTP применяется однонаправленная
передача по TCP? Есть три причины этого. Во-первых, лишь немногие провайде-
ры поддерживают широковещание, этот метод передачи используется очень редко.
Во-вторых, протокол RTP гораздо менее известен, нежели TCP, а многие радио-
станции слишком малы, чтобы иметь в штате профессиональных компьютерщи-
ков. Гораздо проще использовать понятный и популярный протокол TCP, кото-
рый поддерживается большинством программных продуктов. В-третьих, многие
любят слушать радио на работе, то есть за границей брандмауэра. Большинство
сетевых администраторов настраивают брандмауэры таким образом, чтобы за-
щитить локальную сеть от нежелательного проникновения в нее извне. Обычно
разрешается установка TCP-соединений с удаленного порта 25 (SMTP для элек-
тронной почты), прием UDP-пакетов с удаленного порта 53 (DNS), а также уста-
новка TCP-соединений с портом 80 (HTTP для Всемирной паутины). Почти все
прочие возможности, включая RTP, могут быть заблокированы. Таким образом,
единственный способ передать радиосигнал через брандмауэр — это заставить
Мультимедиа 773
веб-сайт притвориться HTTP-сервером (по крайней мере, для брандмауэра) и,
соответственно, использовать HTTP-серверы, которые общаются по TCP. Такие'
суровые меры, обеспечивая лишь минимальную защиту информации, зачастую
резко снижают эффективность мультимедийных приложений.
Поскольку интернет-радио — это новая среда передачи данных, войны фор-
матов идут полным ходом. RealAudio, Windows Media Audio и МРЗ ведут доста-
точно агрессивную конкуренцию на этом рынке, борясь за право быть домини-
рующим форматом радиовещания в Интернете. Сейчас появился еще один фор-
мат — Vorbis, который технически похож на МРЗ, но является открытым и не
использует патентованные методы, на которые опирается МРЗ.
Типичная интернет-радиостанция представляет собой веб-сайт, на котором
выложены расписание передач, информация о ведущих и множество рекламы.
Обычно можно найти один или несколько логотипов, указывающих на поддер-
живаемые аудиоформаты (или просто надпись «ПРОСЛУШАТЬ», если поддер-
живается только один формат). Значки с этими логотипами являются гипер-
ссылками на метафайлы, о которых говорилось ранее.
Когда пользователь щелкает на одном из значков, пересылается короткий
метафайл. Браузер, используя MIME-тип или расширение файла, определяет под-
ходящее вспомогательное приложение (то есть проигрыватель). Метафайл запи-
сывается во временный файл, затем открывается программа-проигрыватель, ко-
торой передается имя временного файла. Видя содержащийся в нем URL (обыч-
но со схемой http или rtsp, что позволяет обойти накладываемые брандмауэром
ограничения и одновременно удовлетворить потребности популярных мульти-
медийных приложений), проигрыватель связывается с сервером и начинает ра-
ботать как радиоприемник. Кстати говоря, аудиоданные передаются в виде одного
потока, поэтому работа по http возможна, но только для радио: передавать видео,
для которого характерно наличие по крайней мере двух потоков, с помощью http
не удается — нужно что-нибудь типа rtsp.
Еще одной интересной особенностью интернет-радио является то, что прак-
тически все желающие, даже студенты, могут организовать собственную радио-
станцию. Основные компоненты, необходимые для этого, изображены на рис. 7.31.
Базой является обычный персональный компьютер со звуковой картой и микро-
фоном. Что касается программного обеспечения, то понадобится проигрыватель
типа Winamp или Freeamp с подключаемым модулем для записи звука и коде-
ком выбранного формата (например, МРЗ или Vorbis).
Поток аудиоданных, создаваемый станцией, отправляется на большой сервер
мультимедиа в Интернете, который занимается распространением этого потока
между множеством TCP-соединений. Сервер обычно работает с большим коли-
чеством маленьких радиостанций. Ведется список обслуживаемых радиостанций
и предоставляется информация о том, какие из них в данных момент вещают.
Потенциальные слушатели соединяются с этим сервером, выбирают станцию и
получают данные по TCP. Существуют как коммерческие программы, включаю-
щие в себя все необходимые компоненты, так и открытые программные средства,
такие как icecast. Разумеется, есть серверы, занимающиеся платной поддержкой
радиостанций.