Русский
Русский
English
Статистика
Реклама

CCTV на базе Raspberry Pi. Часть первая и, возможно, последняя

Привет, коллеги!

Время одна из главных ценностей в нашей жизни, поэтому буду краток, чтобы не тратить, ни своё, ни ваше, понапрасну. Заодно предложу такой формат статей из двух частей. В первой резюме, так сказать, вехи проекта, а во второй, если информация будет вам интересна, распишу подробнее. Или отвечу на конкретные вопросы. Воды надо поменьше, по крайне мере в этих наших интернетах.

Итак, наконец у меня дошли руки просверлить/проштробить/собрать/накодить/отладить и запустить видеонаблюдение на базе малинок.

Ничего инновационного в проекте нет, просто в удовольствие и с некоторой экономией.

Задействованы

  • две старушки малины 1B с камерами первого поколения, которые лежали уже лет семь и просились помочь им обрести хоть какой-то смысл существования

  • относительно новая малина 3B и отдельный USB HDD к ней

  • всякая сетевая и питательная инфраструктура

Что особенно интересного было в проекте

Каждая из старушек гонит по TCP с помощью raspivid два потока на свежую малинку.

  • первый поток это H.264 ES, сырой видеопоток.

  • второй поток это, о чудо, motion vectors кодека H.264, которые raspivid может отдельно отдавать.

Свежая малинка работает как сервер (NodeJS), принимающая потоки от старушек (по два с каждой).

  • всё что прилетает в видеопоток дампится в файл на накопитель (с периодическим стартом нового файла). Разумеется, для каждой камеры отдельно.

  • всё что прилетает в поток векторов, используется для детектирования движения (работает весьма неплохо!). Тут мне сильно помогла репка с питониевым кодом для визуализации (https://github.com/janblumenkamp/raspivid_motionvectors), изучив код которой, я и сделал на NodeJS "детектор" движения без всяких этих ваших нейро. Посмотрим, как будет себя вести.

Также открываем на сервере для каждой малины один исходящий TCP-порт, к которому может подключиться, например:

  • mplayer в связке с ffmpeg для отображения на десктопе

  • ffmpeg, который будет оттуда забирать поток и пихать его в rtmp-модуль nginx для веб-стриминга

Волнообразную засветку из-за ККЛ удалось устранить с помощью --flicker, но с параметром auto, а не 50hz.

Длинные шлейфы (100см) дают тёмную картинку, что исправляется с помощью --digitalgain, но удалось обойтись меньшей длиной.

В качестве основы для корпусов я брал прекрасную работу https://www.thingiverse.com/thing:2746186, но пришлось доработать:

  • удлинить корпус камеры, чтобы она всё-таки была больше похоже на камеру, во избежание, так сказать

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

  • заменить шаровую опору на несколько колен с винтовым соединением, потому что:

    • пластик усыхает и шар начинает болтаться

    • несколько удобнее позиционировать

Источник: habr.com
К списку статей
Опубликовано: 16.03.2021 16:20:24
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Diy или сделай сам

Raspberry

Raspberry pi

Cctv

Diy-проекты

Diy

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru