15 лет назад 22 апреля 2004 в 19:12 99

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

Собственно, ничего принципиально нового в технологиях сетевой трансляции звука не придумано. Любая передача данных между компьютерами подразумевает, что сначала эти компьютеры “договариваются” между собой о том, какие данные и в каком направлении будут передаваться, а затем одна машина начинает передавать – байтами или блоками, а другая – складывать принятые данные на диск.

Ничто не мешает, например, в процессе приема текстового файла одновременно выводить на экран то, что уже принято, как это делает большинство браузеров во время загрузки HTML-страниц. Достаточно давно появились “качалки” для звуковых файлов, которые проигрывают звук во время загрузки. Нынешняя сетевая трансляция работает в точности так же, только в файл звук не попадает вообще – из сети он сразу направляется в звуковое устройство.

СТАНДАРТЫ
Лидерами в области технологий сетевой трансляции на PC являются две компании – RealNetworks и Microsoft. Каждая из них развивает и продвигает свой стандарт, включающий способы кодирования, хранения и передачи звука, необходимые для этого протоколы, комплекс программных средств для создания материалов и организации передачи/приема.

RealMedia
RealNetworks (www.real.com, в прошлом – Progressive Networks) еще с середины 1990-х продвигает свою технологию RealMedia и ее подмножество для трансляции звука – RealAudio. До недавнего времени RealAudio был наиболее распространенным стандартом в области звуковой трансляции для PC. Изрядная часть существующих сетевых радиостанций до сих пор работает именно по этой технологии.

Для трансляции RealAudio изначально был разработан протокол PNA (Progressive Networks Audio). В более новой версии G2 он был заменен на RTSP (Real-Time Streaming Protocol), который используется вместе с собственным протоколом RDT (Real-Time Data Transfer).

Windows Media
Microsoft со своим комплексом Windows Media вышла на рынок средств сетевой трансляции несколькими годами позже RealNetworks. Обобщив опыт предшественников и накопленные к тому моменту алгоритмы сжатия звука, она сумела предложить формат Windows Media Audio (WMA), на низких скоростях (28-56 кбит/с) превосходящий и RealAudio, и популярный MP3.

RealAudio vs Windows Media
Длительная конкуренция различных продуктов чаще всего приводит к их сближению – каждая сторона стремится перенять у соперника лучшие черты его товара. Именно это произошло с RealAudio и Windows Media.

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

Во-вторых, и RealAudio, и Windows Media предусматривают настройку предпочтительных транспортных протоколов (UDP/TCP) и динамическое переключение между ними в соответствии с качеством канала связи. Протокол TCP надежен и прост в использовании, но эффективен лишь при наличии значительного запаса пропускной способности канала. Когда пропускная способность на пределе, TCP порождает разрывы в звучании, длительные паузы и тому подобные проблемы. Протокол UDP более сложен, зато нарушения в звучании из-за опоздания или потери отдельных блоков данных при работе с ним выражены не так сильно.

RealAudio успел утвердиться на рынке достаточно давно и за счет этого оттянул на себя большую часть аудитории, и все же Windows Media, достаточно агрессивно внедряемый Microsoft, постепенно вытесняет конкурента. И дело здесь не столько в качестве или эффективности этого стандарта, сколько в интеграции и удобстве использования Windows Media в родной для него среде Windows.

ПРОЧИЕ СТАНДАРТЫ СЕТЕВОЙ ТРАНСЛЯЦИИ
В настоящее время набирает популярность сравнительно новый стандарт SHOUTcast (www.shoutcast.com), предложенный NullSoft (www.nullsoft.com) и поддерживаемый популярным проигрывателем Winamp. Этот стандарт, использующий для передачи звука формат MP3, достаточно прост и удобен для создания любительской сетевой радиостанции с минимальными возможностями.

Стандарт QuickTime (www.quicktime.com) используется в основном на компьютерах Apple Mac. Российским пользователям PC он больше известен в качестве формата сжатого видео, в котором в середине 90-х выпускалось множество клипов и фильмов на компакт-дисках.

СПОСОБЫ ПЕРЕДАЧИ
Звуковые потоки в сети возникают двумя способами. Традиционный путь – обычное скачивание файла со звуковым содержимым (ra, rm, wma, asf или mp3), лежащего на сервере WWW/FTP. Ссылка на такой файл представляет собой обычный путь к нему с соответствующим расширением.

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

Второй путь предполагает использование специального сервера трансляции – отдельной программы, устанавливаемой на компьютер, поддерживающий сайт. При этом проигрыватель соединяется с сервером трансляции по специальному протоколу. Наиболее распространенные серверы трансляции – RealAudio Server и Windows Media Server – используют более эффективные протоколы реального времени – RTSP и MMS соответственно.

Ссылки на такие потоки могут иметь префиксы rtsp: и mms:. Для запуска трансляции часто используются так называемые скрипты – вспомогательные файлы, которые браузер в обычном порядке и затем открывает с помощью соответствующей программы, в данном случае – проигрывателя. Скрипт содержит ссылки на сервер и нужный поток. Например, для RealAudio используются скрипты с расширением ram, для Windows Media – asx. Ссылку на вспомогательный файл можно указать непосредственно проигрывателю в команде “Open location/URL” – в этом случае он сам загрузит скрипт и начнет прием потока.

Передача звука по специализированному протоколу обычно происходит несколько “мягче”. Кроме того, эти протоколы адаптивны – они умеют отслеживать состояние канала и выбирать наиболее подходящий транспортный протокол и битрейт, если исходный материал подготовлен с различными битрейтами. В качестве запасного варианта специализированные серверы могут использовать протокол HTTP. При этом сохраняется возможность выбора битрейта, но ухудшается стабильность передачи.

ПРОИГРЫВАТЕЛИ
Два наиболее популярных проигрывателя для PC – RealPlayer от RealNetworks и Windows Media Player от Microsoft. RealPlayer теперь называется RealOne Player и распространяется в двух версиях: основной – Basic (бесплатная) и полной – Plus (shareware). Для получения полной версии требуется зарегистрироваться на сайте, введя свои данные, а главное – данные кредитной карты, с которой будут сниматься деньги ($49,95 в год) после завершения пробного периода. Фирма позволяет отказаться от покупки до истечения этого срока, гарантируя, что при этом деньги с карточки сняты не будут.

Media Player – стандартный компонент любой современной системы Windows. Windows 98 и ME включают четвертую версию проигрывателя, 2000 и XP – шестую. Все они умеют принимать и воспроизводить звуковые потоки из сети. Последнюю, девятую версию проигрывателя, можно бесплатно скачать по ссылке www.microsoft.com/windows/windowsmedia/9series/player.aspx.

Мы протестировали проигрыватели RealOne Player 2.0 и Media Player 9 в системе Windows 2000. RealPlayer установился легко, а вот Media Player в лучших традициях Microsoft дважды подряд выдал сообщение о том, что установка не может быть завершена и установщик необходимо перезапустить. Никаких пояснений о возможных причинах сбоя представлено не было. Установка отработала успешно лишь после перезагрузки. Вдобавок инсталлятор зачем-то скопировал себя (~13 Мб) в подкаталог Installer.

RealPlayer как продукт независимой фирмы полагается только на себя и выполнение всех своих функций обеспечивает сам. Media Player, напротив, рассчитан на интеграцию в родную для него ОС и открывает сетевую радиостанцию не самостоятельно, а через URL. В результате если у вас, например, стоит Opera, то трансляция открывается в отдельном окне этого браузера и, как следствие, совершенно не зависит от Media Player. Остановить звук можно, лишь закрыв это окно. Таким образом, на стопроцентно корректную работу этого проигрывателя можно рассчитывать только в стандартной конфигурации системы, когда браузером по умолчанию является IE.

Media Player воспроизводит файлы формата RealAudio, в том числе и удаленные, скачивая их по протоколу HTTP, однако принимать “живой” поток в стандарте и по протоколам RealAudio отказывается. Любопытно, что поддержка протокола RTSP в проигрывателе есть, но ссылка на RTSP-сервер, которую успешно проигрывает RealOne Player, в Media Player, как правило, не работает. Ссылки с протоколом MMS в RealOne Player проигрываются, но в документации сведения об этом протоколе отсутствуют. Возможно, RealOne в этом случае использует какой-либо компонент Media Player.

Для воспроизведения материалов в стандарте SHOUTcast лучше всего подойдет его родной проигрыватель Winamp (www.winamp.com). Для старых версий требовался специальный плагин, в современные (2.9 и 3.0) поддержка встроена.

Если у вашего компьютера есть реальный IP-адрес, проигрыватель может использовать любой протокол. Если же вы подключены через шлюз (proxy/firewall), протокол HTTP работать будет, но не исключены проблемы с использованием специализированных протоколов, которые требуют особой настройки.

СЕТЕВЫЕ РАДИОСТАНЦИИ
Любой проигрыватель, ориентированный на сетевую трансляцию, предоставляет пользователю возможность поиска и выбора сетевых радиостанций. Кроме того, ссылки на станции можно получить на специализированных сайтах стандартов – radio.real.com, www.windowsmedia.com, www.shoutcast.com/waradio.phtml; на специальных страницах вроде www.super.nnov.ru/web/1129.html, www.refer.ru/4610 или www.wayinnet.com/r/broadcast/b3.htm; наконец, на поисковых сайтах, введя ключевые слова RealAudio, Windows Media, SHOUTcast.

Большинство станций, использующих серверы трансляции, вещает в каком-либо одном стандарте. На некоторых установлены серверы разных стандартов – в этом случае программу можно получить в любом из них. Открывая станцию, выбирайте приемлемую скорость передачи, ориентируясь на реальную пропускную способность канала. Если у вас, например, модем на 56 кбит/с, соединение устанавливается на 40 кбит/с, а реально файлы принимаются со скоростью 3 кб/с – трансляцию со скоростью 28,8 кбит/с такой канал, скорее всего, уже не потянет.

ЗАПИСЬ ЗВУКОВОГО ПОТОКА
Под давлением владельцев авторских прав на звуковые и видеоматериалы разработчики вынуждены встраивать в проигрыватели различные технологии защиты информации от бесконтрольного распространения. В RealMedia и Windows Media система контроля получила название Digital Rights Management (DRM). Она обеспечивает ограничение доступа к материалам для различных категорий пользователей.

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

Второй способ – использовать виртуальные устройства, например Total Recorder (highcriteria.com) или Virtual Audio Cable (spider.nstu.nsk.su/music/software/eng/vac.html). Первая программа сама записывает звук, проходящий через виртуальное устройство, вторая просто организует виртуальный кабель-разветвитель.

И, наконец, третий способ – использование специализированных программ-проигрывателей, записывающих поток одновременно с прослушиванием: Audio Streamer (www.mp3burning.com/Audio%20Streamer.htm), CyberCorder (skyhawktech.com), Replay Radio (www.replay-radio.com), Live Sound Recorder (www.sound-recorder-software.com), CoCSoft Stream Down (stream-down.cocsoft.com). Большую подборку ссылок на подобные утилиты вы найдете по адресу download.com.com/3150-2168-0.html.