Projekt edukacyjny

Monitoring wizyjny

Od strony deweloperskiej: protokoły, oprogramowanie open-source, integracje i architektura systemów video.

CREATED: 11.11.2026

Dla kogo ta strona?

Ten landing page to zbiór informacji technicznych o systemach monitoringu wizyjnego skierowany do programistów, integratorów, administratorów i hobbystów. Nie jest to oferta handlowa ani reklama usług, ale przegląd narzędzi, protokołów i podejść do budowania rozwiązań video DIY oraz enterprise-grade.

Jeśli chcesz samodzielnie postawić rejestrator NVR na Raspberry Pi, zrozumieć jak działa ONVIF, czy zbudować pipeline analizy obrazu w Pythonie — znajdziesz tu punkt zaczepienia.

Podstawowe protokoły i standardy

ONVIF

Otwarty standard komunikacji z kamerami IP. Pozwala na jednolity sposób odkrywania urządzeń, konfiguracji strumieni, PTZ i zdarzeń.

RTSP / RTP

Protokół strumieniowania wideo w czasie rzeczywistym. Większość kamer IP udostępnia strumień pod adresem rtsp://ip:554/...

RTMP / HLS / WebRTC

Protokoły do odtwarzania w przeglądarce. HLS jest najczęściej stosowany w nowoczesnych systemach webowych.

SIP

Używany w domofonach i systemach z dwukierunkowym audio. Pozwala na zestawianie sesji między urządzeniami.

Open-source do samodzielnego hostowania

Zamiast płatnych rozwiązań SaaS można wykorzystać własny serwer i oprogramowanie o otwartym kodzie źródłowym:

ZoneMinder

Pełnoprawny system VMS (Video Management System) pod Linuxa. Wspiera setki kamer, detekcję ruchu, powiadomienia.

Shinobi

Lekka alternatywa napisana w Node.js. Prosta instalacja, wspiera HLS, nagrywanie ciągłe i na zdarzenie.

Frigate

Nowoczesny NVR z wbudowaną detekcją obiektów przez AI (TensorFlow Lite). Integruje się z Home Assistant.

Motion / MotionEye

Proste narzędzie do detekcji ruchu z interfejsem webowym. Idealne na Raspberry Pi + kamera modułowa.

Przykład: przechwytywanie klatki z kamery IP w Pythonie

Poniżej minimalny przykład użycia OpenCV do pobrania pojedynczej klatki ze strumienia RTSP:

import cv2

cap = cv2.VideoCapture("rtsp://uzytkownik:[email protected]:554/stream1")
ret, frame = cap.read()

if ret:
    cv2.imwrite("klatka.jpg", frame)
    # dalej: analiza przez YOLO, wysłanie do S3, powiadomienie itp.

cap.release()
W praktyce warto uruchomić to w kontenerze Docker, dodać obsługę wyjątków (timeout, reconnect) oraz logowanie zdarzeń.

Architektura typowego systemu DIY

Kamery IP (ONVIF/RTSP)
    ↓
Lokalny serwer (Raspberry Pi / mini PC / VM)
    ↓
Oprogramowanie NVR (Frigate / ZoneMinder / Shinobi)
    ↓
Detekcja zdarzeń (AI / motion / rule-based)
    ↓
Powiadomienia (MQTT / Webhook / Pushover / e-mail)
    ↓
Archiwum (lokalny dysk / NAS / S3-compatible)

Taki układ pozwala na pełną kontrolę nad danymi i możliwość rozbudowy o kolejne komponenty, np. dashboard w Grafana czy integrację z Node-RED.

Biblioteki i narzędzia dla programistów

Python

  • opencv-python — przetwarzanie obrazu
  • onvif-zeep — komunikacja ONVIF
  • imutils — ułatwienia dla OpenCV
  • flask / fastapi — własny serwer WWW

JavaScript / Node.js

  • node-rtsp-stream — strumień do WebSocket
  • ffmpeg-static — transkodowanie wideo
  • mqtt — komunikacja z IoT

Go

  • gortsplib — klient/serwer RTSP
  • świetny wybór na lekki serwer proxy strumieni

Infra / DevOps

  • ffmpeg — transkodowanie, zrzuty
  • docker + compose — izolacja usług
  • nginx + rtmp-module — serwer strumieni
  • prometheus + grafana — monitoring metryk

Integracje i ekosystem

System monitoringu wizyjnego rzadko działa w izolacji. Deweloperzy często łączą go z innymi platformami: Home Assistant (automatyka domowa), OpenHAB, Node-RED (wizualny edytor flow), czy własnymi mikroserwisami opartymi na MQTT i REST API.

Detekcja oparta na AI może być realizowana lokalnie (Coral TPU, Intel NCS, NVIDIA Jetson) lub poprzez API (np. rozpoznawanie twarzy, OCR tablic rejestracyjnych). Wybór zależy od wymagań co do opóźnień, prywatności i budżetu.

Zasoby i dokumentacja

Warto zacząć od oficjalnych źródeł: