В сегодняшней статье поговорим о том, как реализовать видео трансляцию и выбрать оптимально элементы такой системы. Посмотрим какие способы трансляции подходят больше всего в той или иной ситуации.
Бесплатные уроки: «Медиа-сервер Wowza Streaming Engine. Быстрое погружение»
Вступление
Речь пойдет о популярных компонентах систем с помощью которых создаются видео трансляции. Для того чтобы создать качественную систему видео трансляций в первую очередь нужно понять и ответить на следующие ключевые вопросы:
- Какой Медиа сервер использовать? Wowza сервер или какой-то другой?
- Какой способ трансляций использовать?
- Какой плеер использовать на стороне клиентов?
- На каких устройствах пользователи будут смотреть трансляции?
Далее в статье, мы будем последовательно отвечать на поставленные выше вопросы. Начнем с источников сигналов.
В качестве источников видео и аудио сигналов могут применяться следующие устройства:
- IP камеры.
- USB камеры.
- Платы видеозахвата
- ТВ тюнеры и др.
В качестве видеокодеров как правило используются программы:
- WireCast.
- Adobe Flash Media Live Encoder.
- XSplit.
- Сам источник видео и аудио сигналов. Например, многие IP камеры могут сами отправлять поток на Wowza медиа сервер.
На сегодняшний день существую несколько популярных Медиа серверов:
- Wowza медиа сервер.
- Adobe Flash Media Server (FMS).
- Erlyvideo.
- Red5.
Каждый из серверов включает в себя определенный набор способов отправки потоков пользователям.
Существую следующие варианты трансляций (способов отправки):
- Протокол RTMP (Real-Time Messaging Protocol).
- HDS (Flash HTTP Dynamic Streaming).
- HLS (Apple HTTP Live Streaming).
- RTP/RTSP (Real-Time Transport Protocol/Real-Time Streaming Protocol).
Основные плееры
- JW Player.
- Flowplayer.
- Strobe Media Playback.
- HTML5.
Например, при использовании плеера JW player. Wowza позволяет отдавать одновременно потоки по протоколам RTMP и HLS. Клиенты которые могут работать c Flash будут использовать протокол RTMP (просмотр в JW player) а клиенты которые будут работать с HLS будут проигрывать видео в другом плеере, встроенном в браузер.
Устройства, на которых пользователи могут просматривать видео трансляции, как правило, имеют одну из следующих операционных систем:
- Windows.
- Android.
- Linux.
- IOS.
Устройств на базе операционной системы Windows и Linux
Также хотелось бы отметить, что для устройств с операционной системой Windows и Linux поддержка тех или иных протоколов зависит от установленного программного обеспечения.
Устройств на базе операционной системы Android
Современные устройства на базе операционной системы Android с версией старше 2.2 поддерживаю работу с Flash плеером и могут воспроизводить потоки RTMP и Flash HTTP. Компания Adobe Systems Incorporated сообщила о своем намерении свернуть выпуск новых версий Flash Player для мобильных устройств. Создание новых версий будет прекращено, но выпуск патчей и обновлений продолжится.
Есть и другой способ трансляций для которого не требуется Flash. ОС Android поддерживает работу по протоколу RTP (Real-Time Transport Protocol). RTP используется совместно с протоколами:
- UDP (User Datagram Protocol) и
- RTSP(Real-Time Streaming Protocol).
RTSP — протокол прикладного уровня, его основная функция — это управление и синхронизация медиа-потоков. Android устройства не поддерживают работу RTSP/RTP по протоколу гарантированной доставки TCP, поэтому необходимо использовать протокол негарантированной доставки UDP. Также начиная с версии Android 3.0 поддерживается работа по протоколу HLS, однако на данный момент могут возникать проблемы в работе по этому протоколу.
Для устройств на базе операционных систем IOS
IPhone, iPad и iPod устройства не поддерживают работу с Flash player и RTSP/RTP. Они могут работать только по протоколу Apple HTTP Live Streaming.
Сравнительные таблицы
Ниже представлены наглядные таблицы совместимости разных компонентов систем видео трансляций. Информация, представленная в таблицах была проверена нами на собственном опыте.
Таблица 1. Медиа сервер / Способ трансляции
Медиа сервер/Способ трансляции | RTMP | HDS | HLS | RTP/RTSP |
---|---|---|---|---|
Wowza | + | + | + | + |
Flash Media Server | + | + | + | — |
Erlyvideo | + | + | + | + |
Таблица 2. Плеер / Способ трансляции
Плеер/Способ трансляции | RTMP | HDS | HLS | RTP/RTSP |
---|---|---|---|---|
JW Player | + | Не поддерживается | +\- Для ios поддерживается в виде HTML5. Для Flash в платной версии | — |
Flowplayer | + | + | +/- Только для IOS. | — |
Strobe Media Playback | + | + | +/- Только для IOS. | — |
Таблица 3. Операционная система / Способ трансляции
ОС/Способ трансляции | RTMP | HDS | HLS | RTP/RTSP |
---|---|---|---|---|
Windows | + | + | + | + |
Android | + | + | + | + |
Linux | + | + | + | + |
IOS | + |
Если вам нужно что-то настроить или получить консультацию по медиа-серверам и системам, можете обращаться ко мне и нашей команде.
Заключение
Эта статья была написана и опубликована совместно c моим коллегой Евгением Петровым. Как установить и настроить Wowza медиа сервер смотрите в видео (скринкасте), ниже. Скринкаст был создан Евгением Петровым.
Приглашаю подписаться на новости моей публичной страницы ВКонтакте, ее адрес http://vk.com/itmultimedia . Буду рад видеть Вас в своих подписчиках!
Всего хорошего!
[tube] http://www.youtube.com/watch?v=PdoV2c0uDYA, 400, 240 [/tube]
Настройка Wowza сервера
Комментарии: