LINUX.ORG.RU

Raspberry pi bdsm ip cctv + микрогном

 , ,


0

1

Два года проект валялся в столе ибо не было желания вникать в ONVIF с полной уверенностью что 100+ одновременных потоков это удел очень сурового железа, однако (с) совершенно случайно выяснилось что обернуть RTP в банальный AVI не так уж муторно и с этим может справиться даже имитация процессора. Пока всё в глубочайшей [попе] альфе, о чём намекает по два эксепшена на одно осмысленное событие (азаза это рекорд), но работает

В VNC и двух терминалах через SSH болтается RPi3 + очень медленная SD карта + старый стретч
40 IP камер с разрешнием 2-3Мп и потоком ~0.5..0.8Мб/с подключены по сетке
Через HDMI подключен 1080 моник, который собсно видно в VNC (тигрь!)

Чито может:

  • на калечную карту может одновременно писать основной поток c 20 камер, больше 25 - упирается в карточку примерно через 5 секунд.
    Можно было бы подвылечить кешем, отдав метров 200-300 оперативы, но после праздников просто перекину всё на RPi4 с шустрой картой и внешним диском, по логике должно получиться 100+ потоков
  • суб поток ~150 камер, тут уже 3b в целом начинает сдавать
  • запись 16 каналов и одновременная обработка 12 каналов быстрых данных от приборов отжирают в top’е всего 22% ядра и 14% памяти (хз как top считает, на самом деле больше - один канал камеры слопывает около 2-3%, обработка около 10% в сумме)

Чито не может:

  • 351% это всего-то отрисовка двух камер - одна в реальном времени, вторая из записи. тут всё пИчально до боли но этим пока особо и не занимался. Без отрисовки по top’у интерфейс лопает процентов 20-30 «в простое» (если не двигать окна, если двигать то чуток упирается в свой свинговский однопоток но в 1080 всё довольно шустро)

Скрин из под обычного ПК с OL и гномом 3.28 на 4к монике. Сия древность не умеет во fractional и я долго не любил его за огромные элементы управления при scale=2, но случайно решил зайти к вопросу с боку и в целом мне понравилось - выставлен scale=1, а вот скейл шрифтов 1.75 (на практике это немного перебор, 1.65 в самый раз).
В итоге:

  • нужные элементы интерфейса (кнопки/бары/меню) - в самый раз
  • не шибко нужные элементы интерфейса (кнопки управления окном/разделители) меньше нужного но не мешают
  • на удивление такой скейл не ломает ни firefox ни eclipse (в эклипсе мелкие значки и тексты подсказок но не шибко мешает и подсказки по идее можно починить) ни даже java приложения (как минимум на 11). Пока не пробовал капризную, в этом плане, RawTherapee но у неё на случай беды есть костылик
  • гном тормозит меньше чем со scale=2 :-) Большинство приложений выглядят «немного не так» но реальных багов масштабирования пока не замечено ни одного и в плане удобства, лично по мне так знамо лучше стало.

>>> Просмотр (3840x2160, 2642 Kb)

★★

Проверено: cetjs2 ()

Ответ на: комментарий от Artamudo

Я тоже испуглася, как так, чтобы гном х11, да ещё с полезной работой всего в полгига.

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

Вообще они хвалились своими особенными патчами для гном-вайланд ещё под 3b. Правда я хз что по факту получилось.

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

Я не понял, малина всё таки собирает поток с 20 ip-камер и пишет их на microSD карту?!

Агада, ещё рисует две из них программно. ПК только для скрина пользовался т.к. на малине нет манагера окон (аппликуха под голые иксы написана) и одновременно вывести софтинку с топ и неофетчем проблемно :-)
Сегодня поднял на 4ке аппаратный рендер видео, теперь одна камера при рисовании отжирает процентов 20% проца в 4к и нормально осиливает 25фпс, но swing в 4к без аппаратного ускорения канешн ну такое

rukez ★★ ()

Видеорегистратор на 32 камеры стоит дешевле чем RPI. Так что назначение танцев с бубном непонятно.
Единственно что без AI detection это нынче не комильфо, а на 20 камер это уже нужна приличная железка, одна google edge tpu точно не вывезет.

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

Видеорегистратор на 32 камеры стоит дешевле чем RPI. Так что назначение танцев с бубном непонятно.

Там за rpi стоят две большие альтеры и немного лазерной магии - это блок обработки периметральной вибрационной охранной системы (в самом простеньком варианте). Вместо региков мы обычно берём трассировский софт на полноценный сервак, ибо у него хороший api а сервак позволяет разрулить хранение по вкусу, но регулярно возникают хотелки, которые сторонним решением не перекрыть и нужна возможность рулить потоком по своему усмотрению, благо современные камеры неплохо осиливают одновременную раздачу основного потока по udp одному клиенту и по tcp второму

RPi в целом просто для изучения требований к железу, повторюсь что был уверен что для руления сотней потоков на чисто программном уровне, нужно что-то весьма эпичное и замудренное, а на практике RPi4 без проблем разрулила сегодня 50 потоков на сетевой носитель, думаю что и 100 можно дожать если сеть вывезет но смысла мало данные дважды по сетке гонять (с архивом - трижды) а юсб диски я чот не люблю, логичней сразу взять платку с х86 и полной сатой (на Е1 стоят как малина) или взять плату на i5 из блока обработки пожирнее (но это скучно и никакого bdsm)

Единственно что без AI detection это нынче не комильфо, а на 20 камер это уже нужна приличная железка, одна google edge tpu точно не вывезет.

А это нынче сами камеры делают, а на базу только результаты онвифом отдают. В разумных прикладных пределах конечно, но лица/номера/Линии/предметы/скорость это все камеры делают, на Серве основная прикладная задачка это поиск по архиву в переопределенной зоне (условно кто за неделю ходил в дверь А на камере, которая видит 10 дверей) да анализ времени перекрытия фона (сколько где чего стояло/лежало)

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

А это нынче сами камеры делают

а какие камеры это нормально делают? А то есть несколько реолинков 5-8мп по заявлениям с AI, а в реальности говно-говном. Максимум людей детектят и то не всегда.

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

С цпу и аппаратной отрисовкой видео то как раз более-менее понятно. Но вот микроСД карта в схему как то слабо укладывается. Будь она хоть самой большой и скоросной, на 128 гигов это же копейки на 20 потоков. Да и одновременно 20 потоков записи это упахаться надо чтобы не вставало колом секунд на 10-15 раз в минуту.

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

а какие камеры это нормально делают?

я лично плотно на хиках сижу, те что посвежее стабильно детектят (т.е. просто факт обнаружения человека/толпы/прохода/нахождения) всё что обещают а дальше (распознавание) мне не особо нужно - я скудом не занимаюсь, только периметралкой, но номера и лица на трассире работают хорошо и со свежими хиками вроде чисто камерно (со старыми - сервак ищет)

Но вот микроСД карта в схему как то слабо укладывается. Будь она хоть самой большой и скоросной, на 128 гигов это же копейки на 20 потоков. Да и одновременно 20 потоков записи это упахаться надо чтобы не вставало колом секунд на 10-15 раз в минуту.

тут пара прикладных моментов:

  • 120 свободных гигов это 66 часов записи, на одно событие тревоги в среднем достаточно 4 потоков по 2-5 минут (правда тут весёлый нюанс - первая минута должна браться из кеша ДО события т.е. имея 50 каналов надо иметь кеш минимум на 1,5Гб в ОЗУ) т.е. всего ~600Мб (при потоке 0.5мб/с).
    Больше 10 тревог за день на мелком объекте это какая-то печаль, по хорошему допускается один ложняк в неделю (на ровном месте типа «сильный ливень с ураганным ветром») и одна сработка в день от «ну бывает» (забыли снять с охраны ворота, кошка застряла в сетке забора, орнитолог пальнул в стаю и попал ограждение, косилка цепанула грунт и забор окатило щебнем и т.п.), но даже по 10 рапортов в день это 6Гб данных, которые именно нужны а не просто пишутся ради писательства - 20 дней вполне неплохо.
  • это самый простой блочок, по сути IP21 скворечник для тех кому просто повесить на стенку на маленьком объекте (ну или дома), туда без проблем можно запихать USB диск но полноценную даже мАТХ/STX плату туда пихать не хочется - расбери отлично справляется (кстати мы их ставим и на серъезные объекты резервными платами рядом с большими х86, в случае выхода из строя большой платы, например если по питанию прилетит гроза, мелочь стартует от изолированного источника и обходится в три копейки занимая места с пачку сигарет, главное чтоб сеть не легла по той-же причине что и основа)
    В нормальном блоке нормальный проц и диски, но это скучно, тут же технодрамма, вызов, мамаямогубезрук ))
  • на всех объектах регистратор, так или иначе есть, т.е. хранить всё сразу задачи нет. просто если в тот-же трассир легко зайти через апи и тыкнуть ему какой монитор по тревоге включить и какой канал надо принудительно шлифануть, то с другими региками это часто проблемно, а с другими сервами (интеллект и т.п.) требует дополнительных телодвижений.

В общем смысл скрина просто показать что это физически возможно :-)

rukez ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.