Сегодня я предлагаю всем желающим познакомится с решением задачи, связанной с построением системы онлайн видеотрансляций. Понятно, что в каждом проекте есть какие-то свои нюансы, но всегда есть и что-то общее, например, используемые медиа-серверы и протоколы передачи мультимедийного трафика.
Постановка задачи
Начнем с постановки задачи. Необходимо организовать систему IP-видеотрансляций, удовлетворяющую следующим условиям:
- система должна позволять транслировать онлайн видеопотоки на веб-сайт Заказчика;
- видеопотоки будут передаваться на сервер по протоколу RTMP со специализированного программного обеспечения Заказчика: Telestream Wirecast или Adobe Flash Media Live Encoder;
- видеопоток на сайте должен быть доступен для просмотра на различных устройствах: ПК, смартфоны, планшеты, Smart TV;
- система должна обладать возможностью масштабирования для поддержки большего числа одновременных клиентов.
Решение задачи
Для решения задачи разворачивания системы IP-видеотрансляций требуется установка и настройка медиа-сервера, который будет принимать входящий поток и по запросу клиента ретранслировать данный поток через плеер на веб-странице.
Медиа-сервер представляет из себя аппаратный сервер или группу серверов с определенными характеристиками (характеристики зависят от ожидаемой нагрузки) с установленным на него специализированным программным обеспечением как правило это ПО Wowza Streaming Engine или российский аналог Nimble Streamer.
Оба решения достаточно хорошо себя зарекомендовали, являются широко используемыми медиа-серверами, позволяющими обрабатывать как небольшие нагрузки, так и строить распределенную кластерную систему серверов. На первом этапе систему можно развернуть на одном сервере, который позволит обрабатывать, например, 40 одновременных потоков с битрейтом 2 Мбит/cек.
Для этого потребуется:
- Аппаратный сервер. Сервер можно использовать свой или арендовать в каком-либо дата-центре.
- Программное обеспечение медиа-сервера Wowza Streaming Engine ($65/месяц или бессрочная лицензия) или Nimble Streamer + WMSPanel ($20/месяц).
- Специалист по установке и настройке оборудования и программного обеспечения.
К третьему пункту можно отнести следующее:
- Установка и базовая настройка одного экземпляра ПО Wowza Streaming Engine или Nimble Streamer.
- Настройка приема видеопотока по протоколу RTMP и ретрансляции его по протоколам RTMP и HLS.
- Настройка веб-страницы с плеером для отображения видеопотока на платформах Windows (протокол RTMP), IOS (протокол HLS), Android (протокол HLS).
- Тестирование системы, в том числе нагрузочное.
- Написание инструкции по работе с медиа-сервером на уровне, понятном техническому специалисту. Данная инструкция необходима чтобы в нужный момент можно было быстро разобраться с существующими настроками сервера.
Существуют и более сложные системы, о которых я планирую рассказывать и далее в своем блоге.
Всего хорошего!
Если у вас появились какие-то вопросы по медиа-серверам, пишите нам. Если вам нужно что-то настроить или получить консультацию по медиа-серверам и системам видео-вещания, также можете обращаться ко мне и нашей команде. Разную полезную информацию на данную тему вы можете найти в нашем Справочнике по видеотрансляциям.
Приглашаю всех подписаться на новости моей публичной страницы ВКонтакте, ее адрес http://vk.com/itmultimedia . Буду рад видеть Вас в своих подписчиках!
Комментарии:
2 pings