Потоковое мультимедиа

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Потоковое мультимедиа (от. англ. stream media) — это мультимедиа, которое непрерывно получается пользователем от провайдера потокового вещания. Это понятие применимо как к информации, распространяемой через телекоммуникации, так и к информации, которая изначально распространялась посредством потокового вещания (например, радио, телевидение) или непотоковой (например, книги, видеокассеты, аудио CD).

История[править | править вики-текст]

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

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

  • наличие достаточно производительного CPU и шины для передачи мультимедиа необходимого битрейта
  • создание ОС, при работе которых гарантируется высоконадёжная передача данных [источник не указан 1915 дней]

Тем не менее, компьютеры сети оставались ограниченными, а потоковое мультимедиа уступало традиционному (CD-ROM).

В период с 1990 до 2000 пользователи интернета получили:

  • высокую пропускную способность сетей, в частности, на последней миле
  • возросло количество абонентов сетей, особенно Интернета
  • стали использоваться стандартизованные протоколы и форматы, такие как TCP/IP, HTTP и HTML
  • появилась коммерция в Интернете

Эти достижения в области сетей в совокупности с высокопроизводительными домашними компьютерами и современными операционными системами сделали потоковую мультимедийную информацию доступной широкому кругу простых пользователей. Автономные приёмники интернет-радио предлагали пользователям возможность прослушивания потокового звука без наличия компьютера.

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

Мультимедиа потоки бывают двух видов: по запросу или живыми. Потоки информации, вызываемой по запросу пользователя, хранятся на серверах продолжительный период времени. Живые потоки доступны короткий период времени, например, при передаче видео со спортивных соревнований.

Потоковое вещание и хранение информации[править | править вики-текст]

Реализация сервера потокового вещания по принципу 1 клиент — 1 соединение

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

размер хранилища (в мегабайтах) = продолжительность (в секундах) * битрейткбит/с) / (8 * 1024)

(если считать, что 1 мегабайт = 8 * 1024 кбитов)

Пример из жизни:

Один час видео, закодированного со скоростью 300 кбит/с (типичное видео по состоянию на 2005 год, имеющее размер 320×240 пикселов), будет занимать:

(3600 с * 300 кбит/с) / (8*1024) = порядка 130 Мб места на диске

Если файл, хранимый на сервере с режимом передачи по запросу, будет просматриваться 1000 людей одновременно по протоколу Unicast (1 клиент — 1 соединение), то сервер должен иметь следующую пропускную способность:

300 кбит/с * 1000 = 300.000 кбит/с = 300 Мбит/с сетевого интерфейса

Это эквивалент порядка 125 Гб информации в час. Разумеется, при использовании протокола Multicast нагрузка на сервер намного ниже, так как для передачи информации всем клиентам используется единственный поток. Следовательно, такой поток будет занимать всего 300 кбит/с сетевого интерфейса сервера. Более подробная информация об этих протоколах даётся ниже.

Протоколы потокового вещания[править | править вики-текст]

Разработка сетевых протоколов потокового вещания вызывает следующие проблемы:

  • Датаграмные протоколы, такие как User Datagram Protocol (UDP), отправляют поток медиаинформации как поток отдельных маленьких пакетов. Он прост и эффективен; в то же время, в спецификации протокола нет гарантии доставки данных получателю. Это очень сильно затрудняет поиск и исправление получаемых данных принимающим информацию приложением. При потере данных поток может быть отключен.
  • Протоколы RTSP, RTP и RTCP специально разрабатывались для передачи мультимедийной информации по сети. Последние два построены на основе UDP.
  • Надежные протоколы, такие как TCP, гарантируют корректность получаемых данных клиентов потокового вещания. Однако при большом количестве ошибок при соединении/подтверждении получаемой информации передаваемая информация может стать неактуальной. Это также может вызвать значительные задержки при передаче информации на время, затраченное на пересылку поврежденной информации. Одним из решений данной проблемы является буферизация информации на стороне клиента.
  • Протоколы Unicast отправляют отдельную копию данных каждому клиенту. Unicast подходит для большинства пользователей сети Интернет, но сильно затрудняет масштабирование сервера для бо́льшего количества клиентов.
  • При широковещательной передаче одна копия данных передается всем клиентам сервера
    Протоколы Multicast разработаны для снижения нагрузки с серверов на подключения/ширину канала при получении потокового мультимедиа большим количеством клиентов. Эти протоколы отсылают одну порцию данных целой группе клиентов. В зависимости от типа сетевой инфраструктуры, групповая передача данных может быть доступна, а может и не быть. Одним из потенциальных недостатков групповой передачи является отсутствие возможности реализовать функцию видео по запросу. Непрерывное вещание потоковой информации также делает невозможным управление воспроизведением пользователем. Однако, эта проблема может быть решена внедрением в сеть передачи данных кэширующих серверов и буферизирующего принимаемый поток программного обеспечения.
  • Multicast позволяет передавать один поток информации группе клиентов по сети. Одной из проблем при реализации подобной схемы потокового вещания является корректная настройка маршрутизаторов для передачи широковещательных пакетов из одного сегмента сети в другой. Если организация, предоставляющая потоковое вещание, имеет контроль над сетью между сервером и клиентами (например, в образовательной, правительственной или корпоративной сети), то протоколы маршрутизации, такие как IGMP и PIM, могут быть использованы для доставки мультимедиа нескольким клиентам из различных сегментов LAN.
  • Протоколы P2P могут использоваться при распространении предварительно записанной мультимедиа между компьютерами. Это снимает нагрузку с сервера, однако сеть передачи данных между сервером и одним из клиентов становится узким местом данного варианта реализации потокового вещания информации.

См. также[править | править вики-текст]