[sisyphus] Видимо, наблюдение.

Michael A. Kangin mak на complife.ru
Чт Апр 7 17:48:57 MSK 2016


07.04.2016 09:07, Anton Farygin пишет:

> А как клиент справляется с живым отображением 18 потоков 720p в h264 ?
> Или превьюшки забираем в меньшем разрешении ? Но всё равно интересно,
> даже с меньшим разрешением.

Да, превьюшки как раз для этого и делались и прекрасно идут где-нибудь
320*240, больше от них и не надо.
Тяжелее всего было с браузерами. Файрфокс вообще начатый mjpeg стримить 
не прекращает, пока полностью со страницы не уйдёшь, у хром*ов гвоздями 
прибито ограничение где-то 8 документов с сервера...
vargus-viewer'у, как я помню, практически пофиг, он libvlc юзает, 
нагрузки приемлемые получаются. Тем более, mjpeg сыграть много ресурсов 
не надо.

Но вообще для решения проблемы "клиент тормозит" как раз и был сделан 
механизм сетов, наборов камер.
Т.е. не обязательно их просматривать все разом, можно важные камеры 
вывести в один сет, и смотреть его. А на другие только изредка 
переключаться-поглядывать. Как это выглядит можно посмотреть на 
скриншотиках.


>> Глубина архива получалась где-то месяц (без детектеров движения).
>
> На каком дисковом объёме ?

Где-то около 7тб суммарного объёма. Там 2 сервера, на каждом был 10 рейд 
из 4 дисков по 2 тб.
Могло бы быть и больше, если бы перекодировать всё видео, с ключевыми 
кадрами не каждые 2 секунды как у меня с камер приходило, а каждые 10-15 
секунд. Это значительно снижает объём видео. Ну и архивное разрешение 
можно было бы покрутить.


>> Это процессоры не грузит, только сеть. Бондинга из двух гигабит хватало
>> на всё с большим запасом.
>
> В zoneminder это грузет процессор и IO. Процессор не очень много, но
> дополнительные сто потоков тоже создают нагрузку.

Ну не знаю, я htop'ом нагрузку от отдачи готовых видеопотоков вообще не 
замечал. Может они вносят лепту в LA тот же самый, может длинки с 
реалтеками недовольны будут.. В общем я не страдал.


> Т.е. - для отображения клиенту в любом случае приходится гнать mjpeg ?

mjpeg просто удобней всего.
А если для просмотра будет использоваться только vargus-viewer то можно 
гнать и h.264
А можно и не гнать, а направить клиента забирать этот поток прям с 
камеры (как и mjpeg) (если у клиента есть рутинг до камеры и она не 
загнётся 2-3 клиента одним потоком обслужить, некоторые китайсы 
ниасиливают).

>
> Тогда не вижу особого смысла забирать поток в h264, если его нужно в
> любом случае для воспроизведения перекодировать в mjpeg - а это в моём
> случае сотня процессов.

Ну, если в архив готовеньким класть

> Но вообще конечно надо сесть подсчитать что дешевле - из h264 mjpeg или
> наоборот.

Однозначно mjpeg из h.264. Там примерно по половине времени уходит на 
раскодирование h.264 и кодирование mjpeg. Одно только может быть 
исключение - очень мерзкий h.264 или rtsp по которому он отдаётся.
Кроваво-Энтерпрайзный софт полон внутри костылей для борьбы с кривыми 
камерами. А у меня vlc юзается, он от такого страдает.

Ну а кодирование в h.264 крайне затратная операция. Для онлайна вообще 
нереальная, если речь идёт более чем о 2-4 потоках. И трудный поиск 
компромисса качество-размер-скорость.

> Особенно с учётом того, что бюджетные камеры не умеют отдавать mjpeg.

это да...
Я щупал где-то 15 разных видов камер
Самые лучшие оказались Беварды BD-серии.



Подробная информация о списке рассылки Sisyphus