Прямые трансляции (Live streaming)

9 Янв 2015

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

Потоковое вещание (live streaming, живая трансляция, потоковое видео, линейное вещание, прямая трансляция в Интернет, потоковая передача мультимедийного контента, онлайн трансляция) – это доставка мультимедийных потоков информации (видео, аудио) удаленным пользователям, в реальном режиме времени. Зачастую пользователи имеют возможность задавать вопросы организаторам онлайн трансляции по средствам тестового чата или электронных писем.

Потоковая передача данных (streaming) – способ передачи данных малыми порциями (пакетами), причем каждая переданная порция может использоваться без того, чтобы ожидать окончания передачи всего файла.
Потоковое вещание может создаваться как компаниями, так и обычными пользователями. В Интернете можно найти довольно много сервисов, которые позволяют любому пользователю достаточно легко создать свою собственную трансляцию. На рисунке 1 представлена схема потокового вещания в локальных и глобальных сетях.

Потоковое вещание в локальных/глобальных сетях

Потоковое вещание в локальных/глобальных сетях

 

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

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

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

— видеокодер (Flash Media Live Encoder, Telestream WireCast, Haivision KulaByte Encoders, Microsoft Expression Encoder Pro, Flash web приложение);
— медиа сервер (Adobe Flash Media Streaming Server, Wowza Streaming Server, Red5 (бесплатный), Erlyvideo (бесплатный), Microsoft IIS Media Services, RealNetworks Helix Universal Server);

— плеер (Flash медиа плеер, HTML5 видео плеер, VLC плеер; видеокодеки: H.264, H.263, VP6; аудиокодеки: MP3, AAC).

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

Характеристики потокового вещания:

— протоколы передачи данных (MPEG-TS (UDP), RTMP, RTSP/RTP, HTTP);
— разрешение видео.
— кодек;
— задержка воспроизведения;
— битрей потока.

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

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

Пользователи, в зависимости от ситуации, могут получать потоковое видео на различные устройства: компьютеры, смартфоны, планшеты, телевизоры с доступом в Интернет.
На рисунке 2 приведен пример просмотра потокового видео на клиентской стороне.

Просмотр потокового видео на клиентской стороне

Просмотр потокового видео на клиентской стороне

 

Просмотр потокового видео на клиентской стороне

Просмотр потокового видео на клиентской стороне

 

Существует два способа воспроизведения удаленных медиа-файлов.

  1. Использовать компьютер или другое устройство, способное работать с локальными и сетевыми файлами. В этом случае достаточно найти в сети и запустить на воспроизведение нужный файл. Он будет воспроизводиться через ту сетевую файловую систему, которую использует операционная система пользователя. В большинстве случаев это будет SMB (Server Message Block) , работающая на верхних уровнях стека TCP/IP.
  2. Использовать для воспроизведения медиа-сервер и протокол потокового вещания, который будет доставлять медиа-поток от сервера к плееру. Для передачи потока используются такие протоколы, как RTP и RTCP, работающие поверх UDP.

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

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

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

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

Продвижение сайта в студии Web кабинет

Share