Как стримить без задержек 12-16 видеопотоков на одной странице?

Все привет!
Пробую вместить на одной странице 12-16 видео-стримов, но есть одна проблема. До 9 видео стримов работает и не подвисает. больше начинают по очереди подвисать.
Стримы воспроизвожу банальными html5 плеером. Летит на него hls сегментами.

Изменение размера сегментов на ситуацию не влияет никак.

Задача стоит зделать так, чтоб 16 стримов шло без подвисаний.
Какие будут идеи по технологиям и подходам?

Всем спасибо.
  • Вопрос задан
  • 502 просмотра
Пригласить эксперта
Ответы на вопрос 1
@rPman
У тебя очевидно не хватает производительности железа - либо сетевой канал перегружен (т.е. буквально больше 9 видео с выбранным битрейтом забивают весь канал), либо процессор и видеоускоритель, через который браузер декодирует видео.

Т.е. прежде чем что то решать, нужно четко понять, что именно является узким местом. Убедись что у тебя процессор не на 100% нагружен. Оцени нагрузку на сеть.

Варианты решения:
* уменьшить битрейт, уменьшить разрешение видео, уменьшить fps видео - это поможет как с сетью так и нагрузкой на процессор
* проверить наличие драйверов на видеокарту, бывает что идущие с операционной системой поддерживают ускорение на базовом уровне и его не хватает для декодирования 16 видео (это очень высокая нагрузка даже с низким разрешением видео)
* установить более мощную видеокарту (кстати этот вриант потребует исследований)
* поставить промежуточный сервер декодер (на базе того же ffmpeg, у него есть ограниченная поддержка gpu) который будет собирать твои видео в матрицу и выдавать единое видео, как частный случай не все 16 а по 4 видео. Дело в том что одно видео с высоким битрейтом и разрешением потребует меньше ресурсов чем несколько видео с суммарно таким же битрейтом и разрешением (если считать по количеству пикселов)... там зависимость нагрузки не линейная.
Как частный случай, просто перекодируя поток из тяжелого высокоэффективного кодека в какой-нибудь mjpeg можно неплохо снять нагрузку с итоговой машины (советую поперебирать кодеки), но высоких fps такой подход не даст.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы