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, но пришлось доработать:

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

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

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

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

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

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Нужны подробности?

  • 66,7%да6
  • 33,3%нет3
Источник: https://habr.com/ru/post/547352/


Интересные статьи

Интересные статьи

Книга Мир после капитала американского инвестора немецкого происхождения Альберта Венгера — один из наиболее значимых текстов об экономике после капитализма.Это...
Продолжение (начало – здесь (1) и (2)) Уметь искать информацию о научных публикациях по своей тематике – хорошо. Но ещё лучше, если эта информация будет сама вас находить. Поэтому в за...
Мне удалось раздобыть старые ведомые часы, которые, если судить по их серийному номеру, выпущены в 1960-х годах. Это — Pragotron PJ 27, версия на 12В. Они были сделаны в Чехословакии,...
Это четвертая часть из серии статей для будущих математиков-программистов, которым предстоит решать задачи, связанные с моделированием нефтедобычи и разработкой инженерного ПО в о...
Заключительная часть о том, как концепция Jobs-to-be-Done меняет принципы создания и улучшения IT-продукта. Третья часть перевода книги «Intercom про Jobs-to-be-Done». Главы с седьмой по девя...