>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
Go

So verbinden Sie neuronale Netzwerk-Vision mit Überwachungskameras mit Unblink

Deploy to Render

Eine vertraute Geschichte: Sie haben zwei oder drei RTSP-Kameras zu Hause oder im Büro, die Gigabytes an Video auf die Festplatte aufzeichnen, aber um den Moment zu finden, in dem ein Paketbote ein Paket vor der Tür abgelegt hat, müssen Sie manuell durch die Zeitleiste mit 8-facher Geschwindigkeit scrollen. Ein herkömmlicher Bewegungsmelder hilft hier nicht viel weiter. Er reagiert auf fliegende Insekten, Baumschatten und vorbeifahrende Scheinwerfer und erzeugt Hunderte von falschen Markierungen im Archiv.

Kürzlich bin ich auf das Unblink-Repository (Version V2) gestoßen. Die Entwickler von zapdos-labs haben versucht, dieses Problem mit multimodalen Vision-Language-Modellen (VLM) zu lösen. Die Idee ist einfach: Der Videostream wird an ein neuronales Netzwerk übergeben, und der Benutzer kommuniziert über einen normalen Chat mit seinen Kameras oder sucht nach bestimmten Clips mit Text.

Das Projekt basiert auf einer Kombination aus einem lokalen Agenten, einem Verwaltungsserver und dem Qwen3-VL-Modell. Hier ist, was das System in der Praxis leistet:

  • Textbasierte Archivsuche. Sie können eine Abfrage eingeben wie „eine Person in einer roten Jacke betrat das Gebäude" oder „Paketbote mit einem Paket", und das System gibt Zeitstempel der übereinstimmenden Frames zurück, anstatt fünf Stunden Material manuell anzusehen.
  • Mit Kameras chatten. Funktioniert als Frage-und-Antwort-Schnittstelle zum Videostream. Sie fragen „War nach 18 Uhr Besuch da?", das Modell analysiert die gespeicherten Frames und antwortet mit zusammenhängendem Text.
  • Frame-Analyse und Zusammenfassung. Das neuronale Netzwerk komprimiert Videomaterial in Textbeschreibungen dessen, was passiert, und spart so Zeit bei der ersten Incident-Prüfung.
  • Betrieb über Relay ohne Portweiterleitung. Ein kompakter Knoten läuft im lokalen Netzwerk und unterhält seine eigene Verbindung zum Verwaltungsserver.

So funktioniert die Architektur

Architektonisch ist Unblink in zwei Teile aufgeteilt: einen Verwaltungsserver und einen leichtgewichtigen Knoten, der neben den Kameras läuft.

+-------------------------------------------------------+
|                     Public Server                     |
|  (Auth, DB PostgreSQL, Web UI SolidJS, VLM Analysis)  |
+-------------------------------------------------------+
                           
                            Безопасный туннель
                           
+-------------------------------------------------------+
|                   Local Network Node                  |
|                   (unblink-node CLI)                  |
+-------------------------------------------------------+
                                            
         RTSP                                MJPEG
   [ Камера 1 ]                         [ Камера 2 ]

Die Serverseite übernimmt Autorisierung, Datenspeicherung und die Weboberfläche. Das Frontend ist in SolidJS mit TypeScript, Vite und Ark-UI-Komponenten geschrieben. PostgreSQL über pgx wird als Datenbank verwendet. Für die Arbeit mit Videostreams haben sich die Entwickler für die bewährte go2rtc-Engine entschieden, die RTSP- und WebRTC-Konvertierung für den Browser hervorragend handhabt.

Der unblink-node-Knoten ist in Go geschrieben. Er läuft in Ihrem lokalen Netzwerk, verbindet sich mit RTSP- oder MJPEG-Streams von Kameras und leitet sie an den Server weiter. Das bedeutet, dass Sie keine Ports an Ihrem Router öffnen oder Kameras direkt dem Internet aussetzen müssen.

Schneller Knotenstart

Wenn Sie bereits einen Server laufen haben (oder die Cloud-Bereitstellung nutzen), können Sie lokale Kameras in wenigen Minuten verbinden.

Vorkompilierte Binärdateien

GitHub-Releases enthalten kompilierte Dateien für Linux und Windows (sowohl x86_64 als auch ARM64). Laden Sie das Archiv herunter, entpacken Sie es und führen Sie es aus:

# Для Linux
tar -xzf unblink-node_linux_amd64.tar.gz
./unblink-node

Unter Windows sieht der Start ähnlich über PowerShell aus:

.\unblink-node.exe

Beim ersten Start gibt das Tool eine URL im Terminal aus. Öffnen Sie diese in Ihrem Browser, um den Knoten im Control Panel zu autorisieren.

Aus dem Quellcode bauen

Wenn Sie Go auf Ihrem Rechner installiert haben, ist der einfachste Weg, das Tool zu installieren, mit dem go install-Befehl:

go install github.com/zapdos-labs/unblink/cmd/unblink-node@main
unblink-node

Lokale Entwicklung des gesamten Stacks

Für diejenigen, die tiefer einsteigen oder die Serverseite lokal bereitstellen möchten, enthält das Repository ein praktisches Makefile. Sie benötigen tmux, da es Server, Knoten und Weboberfläche in einem Fenster startet:

# Ставим зависимости
make install

# Копируем конфиг окружения
cp .env.example .env

# Запускаем все компоненты в dev-режиме
make dev

Das Repository enthält auch make typecheck-Befehle für das Type-Checking des Frontends und make proto für die Regenerierung von Protobuf-Dateien, wenn sich Netzwerkverträge ändern.

Wo dies nützlich ist

Das Projekt zielt klar auf die Nische der fortgeschrittenen Heim-Videoüberwachung und kleiner Büro-Setups, wo Standard-NVRs wie Frigate oder Shinobi speziell bei semantischen Suchfähigkeiten nicht ausreichen.

Ein gutes Beispiel: die Überwachung eines Parkplatzes vor Ihrem Haus. Anstatt Erkennungszonen zu konfigurieren, können Sie einfach im Chat fragen „Wann ist das blaue Auto weggefahren?" Ein anderes Szenario ist die Überwachung eines Lagerbereichs, wo es wichtig ist, Belademomente schnell zu finden, ohne Terabytes an leerem Material anzusehen.

Der Wermutstropfen und Fazit

Die README-Dokumentation ist noch minimal. Es gibt keine detaillierte Beschreibung der Systemanforderungen für die Ausführung der Qwen3-VL-Inferenz auf Ihrer eigenen Hardware, daher müssen schwere Modelle wahrscheinlich auf einen Server mit einer guten GPU verlagert oder über externe APIs angebunden werden.

Dennoch sieht der Code in Go und SolidJS sauber aus, und die Wahl von go2rtc als Media-Engine spricht für ein solides Verständnis der Video-Verarbeitungsspezifika. Wenn Sie nach einer Möglichkeit gesucht haben, VLM an Ihre Heimkameras anzubinden, und keinen Wrapper von Grund auf schreiben möchten, ist Unblink definitiv einen Blick wert. Der Quellcode ist unter der AGPL-3.0-Lizenz offen.

Ähnliche Projekte