LINUX.ORG.RU
ФорумAdmin

Раздача mjpeg-потока через nginx

 , ,


0

2

Всем привет! У меня есть камера hikvision, которая умеет по http раздавать mjpeg-стрим и отображать его прямо в браузере через тег img. Но есть проблемка: камера может отдавать только один стрим! Если же еще один клиент попытается открыть его в браузере то получит ошибку от камеры. Я сначала подумал что смогу разрулить это через proxy_pass в nginx, но как выяснилось он так же инициирует 2 подключения к камере. Есть ли какое-то решение моей задачи?

Когда-то давно я решал подобную задачу при помощи кеширования потока через VLC. Т.е. VLC принимает поток через одно подключение, буферизирует, если нужно то перекодирует и отдает множеству клиентов. Возможно подобное можно реализовать на чистом ffmpeg.

iron ★★★★★
()

Кроме размножения желательно ещё перекодировать mjpeg в что-то более эффективное, например x264. Это делается ffmpeg-ом со всякими обёртками разной степени сложности, как выше написали.

firkax ★★★★★
()
Ответ на: комментарий от Anoxemian

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

mjpeg —  это что-то такое для тех мест, где пофиг на канал и на государственный бюджет для обработки видео.

max_lapshin ★★★★★
()
Ответ на: комментарий от max_lapshin

У MJPEG есть киллер-фича — там один кадр никак не влияет на соседние, может пригодиться для передачи по плохому каналу или для покадрового анализа ситуации на видео. Но да, если ТСу это в явном виде не нужно, лучше взять кодек прсовременнее.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

может пригодиться для передачи по плохому каналу или для покадрового анализа ситуации на видео

H264 прекрасно решает задачу покадрового анализа ситуации на видео, а MJPEG и плохой канал — это просто нелепо даже обсуждать рядом.

Ещё раз для невнимательных: MJPEG минимум в 10 раз жирнее аналогичного по качеству H264. В некоторых случаях разница может быть и в 100+ раз.

О каком плохом канале вообще может идти речь?

Единственная киллер фича mjpeg — это его примитивность.

max_lapshin ★★★★★
()