Главная страница

Потоковая передача данных. Потоковое мультимедиа


Скачать 16.97 Kb.
НазваниеПотоковое мультимедиа
АнкорПотоковая передача данных
Дата01.07.2020
Размер16.97 Kb.
Формат файлаdocx
Имя файлаПотоковая передача данных.docx
ТипДокументы
#133404

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

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

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

• наличие достаточно производительного CPU и шины для передачи мультимедиа необходимого битрейта

• создание ОС, при работе которых гарантируется высоконадёжная передача данных

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

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

• высокую пропускную способность сетей

• возросло количество абонентов сетей, особенно Интернета

• стали использоваться стандартизованные протоколы и форматы, такие как TCP/IP, HTTP и HTML

• появилась коммерция в Интернете

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

Технологии потоковой передачи данных становятся все более важными с развитием сети интернет, поскольку большинство пользователей пока не имеет достаточно высокой скорости доступа для быстрой загрузки больших файлов мультимедиа. Используя эту технологию, программа или браузер клиента может начать воспроизведение мультимедиа данных, не дожидаясь загрузки всего мультимедийного материала. Так как звук и изображение отправляются абонентам в виде потока данных, такая передача называется "потоковой".

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

Изначально потоковая передача данных применялась для передачи аудио (интернет-радио и т.п.) Первая аудио-трансляция в интернете была произведена в США в августе 1994 г. Пионером в этой области стала компания RealNetworks (носившая тогда название Progressive Networks) основанная в 1995 г., а их формат RealAudio постепенно завоевал популярность и превратился в общепринятый стандарт, наравне с такими популярными сегодня форматами, как Flash или MP3. В последних версиях RealAudio предусматриваются динамическая компрессия, которая может переключаться в зависимости от качества соединения, а также обработка аудиоданных в реальном времени на стороне клиента (например, очистка и восстановление полученного звука). Компанией RealNetworks был также разработан формат RealVideo (1997 г.), однако в Российском сегменте интернета он не получил сильного распространения.

С увеличением скорости доступа в интернет у пользователей появилась возможность организовать не только аудио, но и видео-трансляции. Однако первая трансляция была произведена американским телеканалом ABC ещё в 1994 г. Для приёма передач использовался клиент CU-SeeMe, разработанный в 1992 г. Однако клиент CU-SeeMe не стал популярным.

Выделяют два вида потокового вещания:

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

Вторая разновидность — вещание в режиме реального времени. Данные передаются постоянно, запросов никто не ждёт. Именно так в интернете работают радио и телевидение.

Ранее очень популярными были форматы Windows Media Video (*WMV в потоковом варианте) и RealMedia (*RM и *RAM). Потом популярность стал набирать Adobe Flash, и эти хорошие форматы утратили популярность (разве что в мобильных телефонах RealMedia ещё используется). 

Впрочем, никто не запрещает вам конвертировать видеофайл в потоковый вариант *WMV, выложить на своём сайте и таким образом избавить посетителей от необходимости устанавливать Flash-плеер

По способу организации потока различают протоколы "последовательные" (Progressive Streaming) и "в реальном времени" (Real-time Streaming).

Передачу последовательным способом организовать проще, поскольку видео загружается на жёсткий диск пользователя и воспроизводится уже с него. Для его передачи достаточно воспользоваться обычным вэб-сервером. При организации передачи данных в реальном времени необходим специальный потоковый сервер (Unreal Media Server, Adobe Flash Media Server и тп.). Для воспроизведения потокового видео сейчас наиболее популярны протоколы RTSP, Multicast, RTMP, а также P2P и ещё несколько менее популярных реализаций:

Дейтаграммные протоколы, такие как UDP (User Datagram Protocol), отправляют поток медиаинформации как поток отдельных маленьких пакетов. Протокол прост и эффективен, но в спецификации протокола нет гарантии доставки данных получателю. Это сильно затрудняет поиск и исправление получаемых данных принимающим информацию приложением. При потере данных поток может быть отключен.

Протоколы RTSP (Real-Time Streaming Protocol), RTP (Real-time transport protocol) и RTCP (Real-Time Control Protocol) специально разрабатывались для передачи мультимедийной информации по сети. В протоколах предусмотрена возможность контролируемой передачи видеопотока. Последние два построены на основе UDP.

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

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

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

Протокол RTMP (Real Time Messaging Protocol) разработан компанией Adobe и реализован в Adobe Flash Media Server. На данный момент это наиболее распространённый протокол. Он массово используется во встраиваемых в веб-страницы flash-плеерах.

Протоколы P2P (Peer-to-peer) могут использоваться при распространении предварительно сохраненного мультимедиа контента между компьютерами. Это снимает нагрузку с сервера, однако сеть передачи данных между сервером и одним из клиентов становится узким местом данного варианта реализации потокового вещания информации.

Для организации потокового вещания необходим сервер. Наиболее популярными реализациями являются: Adobe Flash Media Server, Icecast и Red5.

Воспроизводить потоковое вещание могут практически все современные медиа-проигрыватели, однако наиболее часто используются встраиваемый в вэб-страницы flash-плеер и программа SopCast, позволяющая организовать передачу данных по протоколу P2P. Популярные программы QuickTime и Windows Media также имеют возможность воспроизведения потокового видео, но редко используются для этого. Также распространена универсальная программа с открытым исходным кодом VideoLAN, которая позволяет не только получать, но и создавать свои потоки данных.


написать администратору сайта