Как построить видеовещатель, который сможет обслуживать более 20000 зрителей

Я хочу транслировать видео с веб-камеры через Интернет. Проблема в том, что видео будут смотреть вживую более 20 000 человек (ожидается).
У меня очень небольшой опыт работы с Red5 Broadcasting. Я провел несколько трансляций с использованием Red5 и Flash. Он отлично подходит для 1 или 2 зрителей, т.е. отлично подходит для приложений личного чата / видеоконференцсвязи.

Но, когда количество зрителей увеличивается, увеличивается и задержка трансляции. У меня увеличивается задержка примерно на 0,5 секунды для каждого нового пользователя, который присоединяется к трансляции.

Может ли кто-нибудь предложить мне более совершенные технологии, с помощью которых я могу отработать эту прямую трансляцию. Я не хочу использовать http://www.ustream.com; Я хочу создать свой, такой инструмент. Но это всегда последнее решение.


person Gaurav Srivastava    schedule 15.04.2010    source источник


Ответы (3)


20000 одновременных просмотров видео растянут самый мощный из серверов. Я бы подумал об использовании Flash Media Server, но сомневаюсь, что при обслуживании такого количества видео из одной коробки будет жизнеспособным. Предполагая минимальный битрейт 256 КБ (при такой скорости он будет выглядеть не очень хорошо), мы будем говорить о восходящей доставке около 5 гигабит / с. Это очень тяжелая работа. Если он существует, я сомневаюсь, что он будет бесплатным.

person spender    schedule 15.04.2010

Поскольку вы ожидаете такого большого количества зрителей, распространение P2P может быть подходящим вариантом. Таким образом, при больших количествах нагрузка будет перенесена с ваших серверов на клиентов. Они будут действовать как «повторители» вашего контента. Конечно, это может привести к еще большим задержкам.

Ознакомьтесь с PeerCast и Freecast для получения дополнительной информации.

person Seidr    schedule 15.04.2010

Вы можете использовать этот red5 или любой другой сервер flash media, но вам понадобится более одного сервера и, скорее всего, около 10; не говоря уже обо всей полосе пропускания, которая вам понадобится для предоставления потока зрителям. Вот базовая настройка:

  1. Установите и настройте исходный сервер, на котором ваша вещательная компания будет публиковать свой поток

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

  3. Повторите шаг 2, чтобы подключиться к дополнительным средствам просмотра.

Этот «простой» пример не учитывает некоторые детали, но если вы достаточно умны, вы сможете в них разобраться.

person Paul Gregoire    schedule 01.05.2014