PC Magazine/RE logo
(С) СК Пресс 7/96
PC Magazine, March 26,1996, p. 209.

Основы сетевой аудиотехники: звук в сети WWW

Шон Гонсалес


Доводы за и против применения аудиотехники в сети WWW.

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

Однако ситуация почти полной немоты Сети быстро меняется. Новые методы дают возможность эффективно использовать имеющуюся полосу пропускания и теперь вы можете не отказываться от удовольствия прослушивать звуковые фрагменты, полученных по Сети, даже если дл связи используется модем, работающий со скоростью 14,4 кбит/с (хотя в действительности для улучшения качества звучания и воспроизведения вам понадобится модем со скоростью 28,8 кбит/с). Указанные методы, кроме того, выходят за рамки простой доставки аудиофайлов на ваш "рабочий стол", приспособленный к работе с мультимедиа-средствами: в них предусмотрены регуляторы, аналогичные тем, которые используются в обычных аудиопроигрывателях. Теперь вы можете в реальном времени "перематывать" аудиофайлы вперед, назад, производить поиск нужных фрагментов и приостанавливать воспроизведение ("пауза"). Ниже мы рассмотрим, как действуют три существующих метода работы с аудиоданными, и проанализируем их достоинства и недостатки.

"Мгновенное" обслуживание

Одна из самых досадных особенностей работы в сети Internet, с которой до сих пор приходилось мириться, - это нелепая задержка при загрузке больших аудиофайлов, а размеры преобладающей части аудиофайлов - огромны. Время передачи аудиофайлов по сети в среднем в пять раз больше, чем при передаче по телефонной линии; иначе говоря, на каждую минуту воспроизведения звука приходится 5 мин, необходимых для загрузки файла. Поэтому, если вы хотите загрузить 30-мин радиопрограмму, вам придется ждать 150 мин, прежде чем вы сможете начать ее прослушивание.

Если ваш доступ к сети Internet платный, то представьте, во что вам это обойдется, а не обидно ли обнаружить, что те несколько минут программы, которые вам удалось, наконец, услышать, не представляют для вас никакого интереса? И не забывайте о том, сколько места на вашем диске необходимо для хранения 30 мин записи. Более того, если в любой момент при загрузке возникнут проблемы, весь файл может оказаться потерянным. Короче говоря, использование обычных методов для загрузки аудиофайлов и последующего доступа к ним в автономном режиме (например протокола обмена файлами FTP с проигрывателем) не решают проблемы.

Ряд фирм, например Progressive Networks (http://www.realaudio.com), VocalTec (http://www.vocaltec.com) и Xing Technology (http://www.xingtech.com), разработали и реализовали методы работы с аудиофайлами, которые позволяют вам слушать эти файлы во время их загрузки. Вам нет необходимости хранить файл на своем диске, так как можно просто прослушать эту 30-мин передачу, не задумываясь о наличии свободного места на вашем диске. Обычно после нескольких секунд задержки вы можете начать прослушивание. Можно также пропустить неинтересную вам часть записи, например надоевшие местные новости, и мгновенно перейти к спортивному разделу передачи.

Скорость обмена и качество звука

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

Метод RealAudio фирмы Progressive Networks обеспечивает превосходный звук при частоте потерь пакетов до 4%. При частоте потерь пакетов в пределах от 4 до 10% алгоритм RealAudio пытается прогнозировать информацию, которая могла быть в потерянном пакете, воспроизводя звук с таким уровнем качества, как при приеме слабых сигналов в диапазоне коротких волн. В некоторых случаях этот эффект может создавать странные полутона в принимаемом звуковом сигнале. Тем не менее такой метод заполнения пробелов помогает избежать прерывистого приема сигналов, что облегчает восприятие аудиофайлов даже при высокой частоте потерь пакетов.

Методы I-Wave фирмы VocalTec и StreamWorks фирмы Xing Technology более чувствительны к дефектам передачи, чем метод RealAudio. Потеря пакетов с ними более заметна и приводит к прерывистому приему звука уже при частоте потери пакетов, превышающей 5%. Однако при хорошем качестве связи все эти методы позволяют вам получать через Internet на ваш "рабочий стол" чистый и ясный звук.

Скорость передачи и качество звука

Тип линии связи Скорость, кбит/с Возможное качество звука
Модем и телефонная линия 9,6 - 14,4 8 кГц (моно, качество на уровне телефонной связи или АМ - радио
Модем и телефонная линия 28,8 16 или 22 кГц (моно)
Передача "кадрами"/выделенная линия/один B-канал ISDN 56 - 64 16 или 22 кГц (стерео) или 44 кГц (моно)
Два B-канала ISDN 128 44 кГц (стерео HiFi)
Канал T1 (дробный или полный) 384+ Качество VHS

Как работают эти методы

Основные методы работы со звуковыми сигналами в сети WWW, включая предлагаемые упомянутыми выше поставщиками, базируются на использовании буферов, методики "кодек" (компрессия/декомпрессия) и техники потоков звуковых сигналов. Эти методы различаютс главным образом своими алгоритмами, а также способом передачи аудиоданных (по протоколам UDP, TCP или IP с групповой адресацией).

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

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

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

Протоколы UDP, TCP и IP с групповой адресацией

Рассмотрим конкретные механизмы передачи, используемые в разных методах. У каждого из трех поставщиков рассматриваемых методов имеется свой подход к решению вопроса о том, какой именно способ передачи позволяет наиболее эффективно использовать доступную полосы пропускания. В связи с особенностями структуры протоколов, используемых в Internet (и базирующихся на TCP/IP), сеть Internet представляет собой неэффективную среду для работы с непрерывным потоком информации в реальном масштабе времени. Поэтому способ передачи данных по сети Internet и используемые при этом протоколы непосредственно влияют на общую эффективность, надежность и другие основные характеристики.

В программе RealAudio фирмы Progressive Networks используется протокол UDP (User Datagram Protocol, протокол пользовательских дейтаграмм - передача независимых пакетов без ожидания подтверждения их приема). Это протокол был предложен дл профилактического обслуживания, обеспечивает быструю передачу небольших пакетов (с высоким уровнем приоритетности), но без гарантии их доставки. Поэтому, хотя использование UDP - это, возможно, самый эффективный способ передачи потоков аудиосигналов, существует вероятность потери пакетов, что необходимо учитывать в прикладной программе, принимающей этот поток. Однако UDP никогда не предназначался дл передачи больших объемов данных, и его применение дл этих целей может привести к перегрузке линий связи. Например, сетевой программе NFS, в которой также используется UDP, обычно необходима специальная лини связи между NFS-сервером и клиентом, чтобы избежать перегрузки сети NFS-трафиком. Протокол UDP достаточно эффективен и обеспечивает быстродействие на линиях прямой связи двух абонентов, но никогда не следует употреблять его без какого-либо механизма контроля за потоком данных, а это ограничивает использование имеющейся полосы частот. В противном случае приложения, основанные на протоколе UDP, могут при активном использовании вызвать перегрузку даже сети Internet.

В программе I-Wave фирмы VocalTec используетс протокол TCP (Transmission Control Protocol - протокол с контролем передачи). Это наиболее распространенный в сети Internet протокол, который применяется дл передачи больших объемов данных с гарантией доставки пакетов. В него входят также механизмы регулировани потоков сигналов, которые помогают обеспечить хорошее использование ресурсов в интересах всех пользователей сети Internet. Пакет в TCP обычно крупнее, чем в UDP, чтобы обеспечить передачу большого объема данных.

Главный недостаток TCP при работе с потоками аудиоданных состоит в том, что в случае потери пакета серверу приходится повторять его передачу. А поскольку размер пакета значительно больше, чем при использовании протокола UDP, повторная передача требует больше времени. Поэтому, если потеря пакета в UDP приводит к небольшому перерыву в передаче звука, потеря пакета в TCP создает огромный провал, что, вероятно, влечет за собой остановку воспроизведения звука до тех пор, пока не будет успешно принят переданный повторно пакет. Такая повторная передача пакетов приводит также к повышению "накладных расходов" (нагрузки) на сервере по сравнению с методами передачи, в которых используетс протокол UDP.

В программе Stream Works фирмы Xing Technology используется протокол IP (Internet Protocol) с групповой адресацией: при этом создается базовая группа (host group), и каждый пакет данных IP, передаваемый сервером, принимается всеми членами базовой группы. Прием в члены базовой группы осуществляетс динамически; ваш настольный ПК становится членом группы, когда вы обращаетесь к серверу потока аудиосигналов.

При работе по IP с групповой адресацией все пакеты данных доставляются потребителям с такой же надежностью "наилучшей попытки", что и при обычной одноадресной передаче пакетов данных по протоколу IP. Благодар свойствам IP с групповой адресацией достигаетс сокращение "накладных расходов" на сервере, необходимых для обслуживания связи с каждым членом группы отдельно. Данный механизм доставки информации особенно полезен в случае работы по расписанию или при прямой ("живой") передаче; в таких случаях можно ожидать, что у одной и той же передачи одновременно будет много слушателей. В режиме IP с групповой адресацией сервер передает поток аудиоданных всего один раз сразу на все ПК, причем дл решения этой задачи используется наиболее эффективный механизм.

В общем, UDP лучше всего применять дл кратковременных звуковых передач, например звуковых сообщений Internet. Протокол TCP попадает в "золотую середину", возможно, это наилучшее универсальное решение, несмотря на присущие ему ограничения, связанные с размером пакета и частотой повторной передачи. Протокол IP с групповой адресацией идеален для тех случаев, когда один и тот же поток аудиосигналов одновременно передается множеству пользователей. И, хотя в настоящее время в этом вопросе нет явного победителя, для каждой конкретной ситуации найдутся хорошие решения.

Средства приема звуковых данных

При работе с аудиоприложениями в сети WWW у вас неизбежно возникнут те или иные проблемы. Наиболее распространенная из них - прерывание звука, вызванное потерей пакетов. Убедитесь, что вам модем - самый быстрый из доступных вам; даже если качество телефонной линии, которой вы пользуетесь, не особенно хорошее, более высокая скорость передачи поможет замаскировать эти прерывания (предполагается, что используемый вами протокол - не UDP, в котором потерю пакетов выше некоторого порога скорректировать невозможно). Наличие в ПК высокоскоростного процессора также способствует быстрой обработке аудиосигналов, при этом ЦП остаетс больше времени для обработки поступающих данных.

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

И хотя вскоре после начала работы вы столкнетесь с некоторыми трудностями, звук в сети Internet это реальность, от которой вы можете получать удовольствие даже сегодня. Многие узлы сети уже сейчас предлагают звуковые передачи по запросам, включая новости, специальные программы (интервью, концерты, документальные материалы) и музыку. Следует иметь представление об ограничениях существующих методов; вскоре вы, вероятно, захотите использовать несколько разных продуктов, чтобы получить от сети Internet все, что она может предложить. И, по мере появлени улучшенных версий имеющихся сейчас продуктов, можно ожидать улучшения характеристик, надежности и качества звука.

Шон Гонсалес - постоянный автор нашей рубрики "Работа в сети Internet, руководитель проекта в группе Internetworking Solutions в Information Access Center (Бостон).