Open SourceMIT-Lizenz · selbst gehostet · ohne Konto

Deine Kameras. Dein Server. Dein Speicher.

OpenCCTV ist ein kostenloser Kameraserver und NVR für Tapo, UniFi, Reolink und jede RTSP- oder ONVIF-Kamera. Er zeichnet rund um die Uhr oder bei Bewegung auf, lädt nach Google Drive, S3 oder auf dein NAS hoch und streamt in die Apps für iPhone und Android. Ohne Hersteller-Cloud, ohne Abo, ohne Konto bei uns.

Live-Demo ausprobieren mit Login demo / demo. Echte Kameras, echte Aufnahmen, nichts zu installieren.

OpenCCTV-Weboberfläche: Live-Raster mit neun Kameras und Aufnahmeanzeige, Bewegungsalarm an der Haustür, 24-Stunden-Zeitleiste und eine Liste von Bewegungsereignissen, die nach Google Drive und S3 hochgeladen wurden
OpenCCTV-App auf dem iPhone: Liveansicht der Kameras zu Hause, Bewegungsalarm an der Haustür
Weboberfläche und iPhone-App am selben Server. Bilder aus der öffentlichen Demo.

Funktioniert mit den Kameras, die du schon hast

  • TP-Link Tapo
  • UniFi Protect
  • Reolink
  • Hikvision
  • Dahua
  • Amcrest
  • Axis
  • eufy
  • Foscam
  • EZVIZ
  • Imou
  • Annke
  • Wyze
  • jede ONVIF-Kamera
  • jeder RTSP-Stream

UniFi-Protect-Kameras werden in einem Schritt importiert. eufy und Wyze brauchen Modelle oder Firmware mit RTSP. Kameras, die nur senden können, schicken RTMP oder RTSP direkt an den Server.

Funktionen

Alles, was ein NVR können muss. Ohne nach Hause zu telefonieren.

Ein Programm oder ein Container. Streaming mit go2rtc, Aufnahme und Bewegungserkennung mit ffmpeg, Uploads mit rclone, zusammengehalten von einer Weboberfläche und nativen Apps.

  • Livebild in unter einer Sekunde

    WebRTC mit HLS als Rückfall, HD- und SD-Substream, Raster mit vielen Kameras in App und Browser.

  • Daueraufnahme oder bei Bewegung

    Pro Kamera durchgehend oder nur bei Bewegung, mit Vor- und Nachlauf. Das Video wird so gespeichert, wie die Kamera es liefert, ohne Neukodierung.

  • Wiedergabe per Zeitleiste

    Durch jeden Tag scrubben, von Ereignis zu Ereignis springen und einen Zeitraum als MP4 exportieren.

  • Bewegungsereignisse und Push

    Jedes Ereignis mit Schnappschuss, Uhrzeit und Dauer. Push-Mitteilungen pro Kamera, mit Pause, damit dich ein Baum im Wind nicht zuspammt.

  • Gegensprechen

    Gedrückt halten und über den Lautsprecher der Kamera sprechen, bei Modellen, die das können, auch bei Tapo.

  • PTZ-Steuerung

    Schwenken, neigen, zoomen und Presets per ONVIF, direkt aus der App oder dem Browser.

  • Cloud-Upload, automatisch löschen

    Neun Speicherarten, auch mehrere gleichzeitig. Jedes Ziel löscht Aufnahmen nach der Anzahl Tage, die du festlegst.

  • Koppeln per QR-Code

    Code in der Weboberfläche scannen, und die App ist verbunden. Kein Abtippen von Serveradressen oder Passwörtern am Handy.

  • Fernzugriff ohne Portfreigabe

    Ein zweites OpenCCTV läuft als Gateway auf einem VPS. Dein Server zu Hause wählt sich dort ein, am Router wird nichts geöffnet.

  • Findet deine Kameras

    ONVIF-Suche und ein Netzwerkscan listen die Kameras in deinem Netz auf. Der UniFi-Protect-Import fügt alle auf einmal hinzu.

  • Benutzer und Rollen

    Admins richten ein, Zuschauer schauen zu. Jedes Handy meldet sich mit eigenem Token statt mit deinem Passwort an.

  • Läuft, wo du willst

    Linux, macOS, Windows oder Docker auf x64 und ARM64. Ein Mini-PC, ein NAS oder ein kleiner VPS reicht. Bereit für Coolify.

Die Apps

Gemacht für das Handy in deiner Tasche.

Native Apps für iPhone und Android, kostenlos, ohne Werbung und ohne In-App-Käufe. App-Sperre mit Face ID, Bild-in-Bild, heller und dunkler Modus, Deutsch und Englisch. Sie verbinden sich mit deinem Server und mit sonst nichts.

  • Kameraansicht mit Livebild, Sprechtaste und PTZ-Steuerung
    Live, Sprechen, PTZWebRTC-Latenz, Gegensprechen und Presets.
  • Zeitleiste mit Tagesauswahl und Bewegungsereignissen entlang der Aufnahme
    ZeitleisteJeden Tag durchsehen, zwischen Ereignissen springen.
  • Ereignisliste mit Bewegungsereignissen und Schnappschüssen
    EreignisseJede Bewegung mit Schnappschuss, ein Tipp zum Clip.
  • Speicheransicht mit Belegung der lokalen Platte, Zielen Google Drive, S3 und NAS sowie Aufbewahrungseinstellungen
    SpeicherSehen, wohin Aufnahmen gehen und wie lange sie bleiben.
So funktioniert’s

Kamera, Server, dein Speicher. Das ist der ganze Weg.

OpenCCTV holt die Streams deiner Kameras innerhalb deines Netzes ab, zeichnet sie auf dem Server auf und kopiert die Aufnahmen in den Speicher deiner Wahl. Die Apps sprechen mit deinem Server, nie mit uns.

Kameras streamen zum OpenCCTV-Server, der aufzeichnet und in deinen Speicher hochlädt; Apps und Browser verbinden sich per LAN, Gateway oder VPN mit dem Server DEINE KAMERASDEIN SERVERDEIN SPEICHERDEINE GERÄTE TP-Link Tapo C210RTSP · camera account UniFi G4 ProProtect import · RTSPS Reolink RLC-823AONVIF · PTZ Türklingel oder Dashcamsendet RTMP an den Server OpenCCTV Docker · Linux · macOS · Windows go2rtcLivebild: WebRTC, HLS, RTSP ffmpegAufnahme und Bewegungserkennung rcloneUpload und Aufbewahrung Web UIAPI, Kopplung, Gateway · :8080 Lokale Platte7 Tage Google Drive30 Tage S3 · SMB · SFTP …90 Tage iPhone und Android Browser:8080 per LAN, Gateway oder VPN Kameras streamen zum OpenCCTV-Server, der aufzeichnet und in deinen Speicher hochlädt; Apps und Browser verbinden sich per LAN, Gateway oder VPN mit dem Server DEINE KAMERASDEIN SERVERDEIN SPEICHERDEINE GERÄTE Tapo C210RTSP UniFi G4 ProProtect · RTSPS ReolinkONVIF · PTZ Türklingel oder Dashcamsendet RTMP an den Server OpenCCTV Docker · Linux · macOS · Windows go2rtcLivebild: WebRTC, HLS ffmpegAufnahme, Bewegung rcloneUpload, Aufbewahrung Web UI + API · :8080 Lokale Platte Google Drive S3 · SMB · SFTP … iPhone, Android Browser per LAN, Gateway oder VPN
  1. Server installieren

    Docker, oder ein einzelnes Programm für Linux, macOS oder Windows, das von selbst startet. Port 8080 im Browser öffnen und das Admin-Konto anlegen.

  2. Kameras hinzufügen

    Marke wählen, Kamerakonto eintragen, testen, speichern. Oder die Suche und den UniFi-Import das erledigen lassen.

  3. Speicher wählen

    Lokale Platte, Google Drive, S3, NAS oder FTP, jeweils mit eigener Aufbewahrungsdauer in Tagen.

  4. Handy koppeln

    QR-Code aus der Weboberfläche scannen. Livebild, Zeitleiste und Push-Mitteilungen funktionieren sofort.

Fernzugriff

Von überall zusehen. Ohne offene Ports.

Jeder OpenCCTV-Server kann als Gateway arbeiten. Stell einen auf einen kleinen VPS oder in Coolify, verknüpfe deinen Server zu Hause einmal per Code, und die App erreicht deine Kameras über einen verschlüsselten Tunnel, den dein Server zu Hause von innen nach außen aufbaut.

  • Keine Portfreigabe, kein DynDNS. Funktioniert auch hinter CGNAT und LTE-Routern.
  • Mehrere Standorte, eine App. Zuhause, Büro und Ferienwohnung hinter einem Gateway.
  • Dein Gateway, nicht unseres. Es ist derselbe Open-Source-Server, auf einer Maschine, die du kontrollierst.
  • Lieber VPN? Tailscale, WireGuard oder das VPN deines Routers gehen auch. Die App braucht nur eine URL.
Der Server zu Hause baut einen ausgehenden Tunnel zu einem Gateway auf einem VPS auf; die App verbindet sich per HTTPS mit dem Gateway, zu Hause wird kein Port geöffnet OpenCCTV-Gateway dein VPS oder Coolify DEIN HEIMNETZ keine offenen Ports Tapo UniFi Reolink OpenCCTV-Server nimmt auf, lädt hoch, bleibt zu Hause OpenCCTV-App unterwegs, per LTE ausgehender Tunnel (wss) HTTPS
Speicher

Aufnahmen landen, wo du es willst.

Aufnahmen landen zuerst auf der Platte des Servers. Von dort lädt OpenCCTV sie zu einem oder mehreren Zielen hoch und löscht sie nach der eingestellten Anzahl Tage wieder. Nichts geht irgendwohin, das du nicht eingerichtet hast.

  • Lokale PlatteJeder Ordner, USB-Laufwerk oder eingebundene Freigabe
  • Google DriveEinmal mit deinem Google-Konto anmelden
  • S3AWS, Backblaze B2, Wasabi, Cloudflare R2, MinIO
  • SMBWindows-Freigaben, Synology, QNAP
  • SFTPJeder Server mit SSH-Zugang
  • FTPAuch Router wie die FRITZ!Box
  • WebDAVNextcloud, ownCloud, Hetzner Storage Box
  • DropboxPrivate und Business-Konten
  • OneDrivePrivat und Microsoft 365
  • Mehrere gleichzeitigZum Beispiel 7 Tage lokal, 30 in Drive, 90 in S3

Aufbewahrung pro Ziel

Jedes Ziel räumt selbst auf. Eine Woche auf dem Server, drei Monate außer Haus.

Die Platte läuft nie voll

Lege eine Höchstgröße für lokale Aufnahmen fest. Die ältesten gehen zuerst, auf Wunsch direkt nach dem Upload.

Wiedergabe, egal wo es liegt

Die Zeitleiste spielt Aufnahmen von der lokalen Platte ab oder streamt sie aus dem entfernten Speicher zurück.

Installation

In einer Minute am Laufen.

Such dir einen Weg aus. Jeder startet den Server auf Port 8080 und hält alle Daten an einem Ort: im Volume opencctv bei Docker, in ~/.opencctv unter Linux und macOS, in %APPDATA%\OpenCCTV unter Windows.

Dockerempfohlen

docker run -d --name opencctv --restart unless-stopped --network host -v opencctv:/data ghcr.io/codextde/opencctv:latest

Linux und macOS

curl -fsSL https://opencctv.codext.de/install.sh | sh

WindowsPowerShell

irm https://opencctv.codext.de/install.ps1 | iex

Docker Composefunktioniert auch als Coolify-Ressource

services:
  opencctv:
    image: ghcr.io/codextde/opencctv:latest
    restart: unless-stopped
    network_mode: host
    volumes:
      - opencctv:/data
volumes:
  opencctv:
  1. http://<server-ip>:8080 öffnen und das Admin-Konto anlegen.
  2. Kameras hinzufügen. Marke wählen, Zugangsdaten der Kamera eintragen, testen, speichern.
  3. App installieren und den Kopplungs-QR-Code unter Benutzer & Geräte scannen.

Mit Host-Netzwerk funktionieren ONVIF-Suche und WebRTC ohne Port-Zuordnungen. Die Installer laden das neueste Release von GitHub und richten den automatischen Start über systemd, launchd oder die Windows-Aufgabenplanung ein. Lies install.sh oder install.ps1, bevor du sie ausführst.

Häufige Fragen

Was Selbsthoster wissen wollen.

Meine Tapo-Kamera hat keine SD-Karte. Geht das?

Ja. OpenCCTV zeichnet den Livestream der Kamera auf, weder SD-Karte noch Tapo Care sind nötig. Du musst nur einmal ein Kamerakonto anlegen:

  1. In der Tapo-App die Kamera öffnen und auf das Zahnrad tippen.
  2. Unter Erweiterte Einstellungen, dann Kamerakonto, Benutzername und Passwort festlegen. Das ist nicht deine TP-Link-ID.
  3. In OpenCCTV eine Kamera hinzufügen, TP-Link Tapo wählen und IP-Adresse sowie dieses Konto eintragen.

Schwenkbare Modelle wie C200, C210 und C500 werden per ONVIF gesteuert. Für Gegensprechen kannst du optional dein TP-Link-Cloud-Passwort eintragen.

Ist das wirklich kostenlos?

Ja. Server und Apps sind Open Source unter der MIT-Lizenz. Es gibt keine Bezahlstufe, kein Kameralimit und keine Funktion hinter einer Paywall. Du zahlst nur für Hardware und den Speicher, den du wählst. Die Codext GmbH entwickelt OpenCCTV offen auf GitHub; Issues und Pull Requests sind willkommen.

Verlässt Video mein Netzwerk?

Nur zu den Speicherzielen, die du einrichtest, und zu deinen eigenen Geräten, wenn du zusiehst. Es gibt keine OpenCCTV-Cloud. Codext erhält weder Video noch Schnappschüsse noch Metadaten.

Wenn du Push-Mitteilungen einschaltest, schickt dein Server die Mitteilung (Kameraname und Uhrzeit) über den Push-Dienst von Expo an Apple oder Google, damit sie dein Handy erreicht. Schnappschüsse und Video sind nicht enthalten.

Wie sehe ich meine Kameras von unterwegs?

Zwei Wege, beide ohne Portfreigabe:

  • Gateway: ein zweites OpenCCTV auf einem VPS oder in Coolify betreiben und den Server zu Hause damit verknüpfen. Der Server zu Hause hält einen ausgehenden Tunnel offen, die App verbindet sich mit dem Gateway.
  • VPN: Tailscale, WireGuard oder das VPN deines Routers. In der App die VPN-Adresse des Servers eintragen.

Ein Reverse Proxy mit HTTPS vor dem Server geht auch, wenn du lieber einen Port öffnest.

Welche Kameras werden unterstützt?

Alles, was RTSP, RTSPS, ONVIF oder HTTP-MJPEG anbietet oder RTMP/RTSP senden kann. Für die oben genannten Marken gibt es Vorlagen, die die Stream-Pfade für dich ausfüllen. Reine Cloud-Kameras wie Ring, Arlo, Blink oder Nest bieten keinen lokalen Stream und funktionieren nicht. Manche Akku-Kameras streamen nur bei aktivem RTSP und entladen sich schneller.

Welche Hardware brauche ich?

Irgendeinen dauerhaft laufenden Rechner mit x64 oder ARM64 und genug Speicherplatz. Weil Aufnahmen ohne Neukodierung gespeichert werden und die Bewegungserkennung eine kleine Kopie mit wenigen Bildern pro Sekunde auswertet, ist die CPU-Last pro Kamera gering.

Zum Speicherbedarf: Eine 2K-Kamera mit etwa 2 Mbit/s braucht bei Daueraufnahme rund 21 GB pro Tag. Bei Aufnahme nur bei Bewegung meist einen Bruchteil davon.

Kann ich UniFi Protect weiter nutzen?

Ja. Der Import meldet sich an deiner Konsole an, aktiviert RTSP an den Kameras und fügt sie in OpenCCTV hinzu. Protect läuft weiter; OpenCCTV zeichnet einfach eine zweite Kopie dort auf, wo du sie haben willst, etwa in Google Drive oder S3, und gibt dir eine App, die ohne Ubiquiti-Konto funktioniert.

Brauche ich ein Konto bei euch?

Nein. Das Admin-Konto legst du auf deinem eigenen Server an. Die Apps speichern nur die Adresse deines Servers und einen Zugriffstoken auf dem Handy. Wir wissen nicht, wer OpenCCTV nutzt.

Weitere Antworten auf der Hilfeseite.

Erst ansehen, dann installieren.

Auf dem Demo-Server laufen mehrere Kameras mit echten Aufnahmen und Bewegungsereignissen. Melde dich mit demo / demo an oder verbinde die App damit.