«

»

Окт 07 2015

Распечатать Запись

Разработка системы доставки мультимедийных потоков. С чего начать?

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

Система доставки мультимедийных потоков

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

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

Архитектура системы

Архитектура системы состоит из семи основных модулей:

  • модуль хранения файлов пользователей;
  • модуль доставки VoD медиа-потоков конечным пользователям (зрителям);
  • модуль публикации Live медиа-потоков;
  • модуль доставки Live медиа-потоков конечным пользователям (зрителям);
  • модуль ядра;
  • модуль баз данных;
  • модуль веб-серверов.

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

Streaming_system_Wowza_Nimble_Streamer

 Модули системы

1. Модуль хранения файлов пользователей

Функции:

  • хранение пользовательских видеофайлов;
  • передача видеофайлов клиента модулю Доставки VOD медиапотоков конечным пользователям.

2. Модуль доставки VOD медиапотоков конечным пользователям

Функции:

  • доставка VOD медиапотоков конечным пользователям по протоколам RTMP, RTSP, HLS, MPEG-DASH;
  • передача ядру системы статистической информации;
  • получение видеофайлов от Модуля хранения файлов пользователей, кеширование видеофайлов.

 Данный модуль разворачивается на серверах под управлением ОС Linux (Ubuntu). В качестве медисервера, например, можно рассмотреть варианты использования Wowza Streaming Engine, Nimble Streamer, Flussonic.

3. Модуль публикации live медиапотоков

Функции:

  • получение Live медиапотоков от пользователей по протоколам RTMP, RTSP;
  • передача live медиапотоков по протоколу RTMP серверам Модуля доставки live медиа-потоков конечным пользователям;
  • передача ядру системы статистической информации.

 Данный модуль будет развернут на серверах под управлением ОС Linux (Ubuntu). В качестве медисервера, например, можно рассмотреть варианты использования Wowza Streaming Engine, Nimble Streamer, Flussonic.

4. Модуль доставки Live медиа-потоков конечным пользователям

Функции:

  • получение Live медиапотоков от серверов публикации Live медиа-потоков по протоколу RTMP;
  • доставка Live медиапотоков по протоколам RTMP, HLS, MPEG-DASH и RTSP конечным пользователям;
  • передача ядру системы статистической информации.

 Данный модуль будет развернут на серверах под управлением ОС Linux (Ubuntu). качестве медисервера, например, можно рассмотреть варианты использования Wowza Streaming Engine, Nimble Streamer, Flussonic.

5. Модуль ядра

Функции:

  • агрегация и возвращение статистики;
  • балансировка нагрузки между серверами модуля публикации Live медиапотоков;
  • аутентификация пользователей публикующих потоки;
  • аутентификация пользователей просматривающих потоки;
  • реализация API, например, как  в системе https://www.cine.io/;
  • генерация ссылок для публикации и просмотра медиапотоков.

 Данный модуль будет развернут на серверах под управлением ОС Linux (Ubuntu).

6. Модуль баз данных

Функции:

  • хранение настроек системы;
  • хранение статистки.

7. Модуль веб-серверов

Веб-интерфейс и скрипты сервиса

 На сегодня все! Эта статья была написана, отредактирована и опубликована совместно c моими коллегами и специалистами Евгением Петровым и Евгением Кузьминым. В будущих статьях мы постараемся более подробно рассмотреть реализацию представленных модулей.

Всего хорошего!

 Если вам нужно что-то настроить или получить консультацию по медиа серверам и системам, можете обращаться ко мне и нашей команде. Разную полезную информацию на данную тему вы можете найти в нашем Справочнике по видеотрансляциям.

 Приглашаю всех подписаться на новости моей публичной страницы ВКонтакте, ее адрес http://vk.com/itmultimedia . Буду рад видеть Вас в своих подписчиках!


Комментарии:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>