Как транслировать видео по требованию с балансировкой нагрузки - PullRequest
3 голосов
/ 17 января 2012

Я очень хочу выяснить, как сбалансировать нагрузку моего видеосервера. Сценарий реального мира:

У меня есть сервер хранения, который хранит все мои видео файлы, несколько серверы для балансировки нагрузки моего http запроса (работает как сервис CDN). Клиент запрашивает видеофайл -> Ближайший сервер балансировки нагрузки ответ на запрос (скажем, LBS) LBS -> Хранение (найдите видео и начните посылать первый N кбайт клиенту, чтобы он начал играть) -> LBS кэширует остальные файл в собственном хранилище и при следующем запросе обслуживает его напрямую из своего кеша, а не из хранилища.

Проблема с этой настройкой заключается в том, что я хочу передавать видео через RTMP, но на балансировочном компьютере (его веб-сервере nginx) я не могу обслуживать виртуальные файлы (например, поток rtmp).

Для краткости; Я ищу реализацию сервера RTMP, который действует как веб-сервер nginx. Любые идеи, советы будут отличными.

Примечание: в настоящее время я пытаюсь реализовать crtmpserver

Ответы [ 2 ]

3 голосов
/ 23 ноября 2012

Вы можете использовать модуль nginx_rtmp ... Он поддерживает потоковые файлы flv как потоки rtmp (и транскодирует потоки rtmp, а также перепаковывает rtmp в hls)

См. Документ о: https://github.com/arut/nginx-rtmp-module/

J

1 голос
/ 28 июля 2012

nginx создан для обработки статических файлов.

Для потоковой передачи и балансировки rtmp используйте erlyvideo сервер.Это написано на erlang, так что балансировка нагрузки встроена в дизайн.

...