Banana Studio
Anleitungen · BS Manager

Alle CamRelay-Funktionen in Frigate NVR nutzen

Machen Sie aus einem Zweithandy mit Android eine Kamera für Frigate NVR: CamRelay streamt RTSP mit Ton, und das in Frigate integrierte go2rtc übernimmt den Stream für Aufnahme, Live-Ansicht mit Ton und Gegensprechen. Schritt für Schritt, mit vollständiger config.yml.

Alle CamRelay-Funktionen in Frigate NVR nutzen
Auf dieser Seite

Alle CamRelay-Funktionen in Frigate NVR nutzen

CamRelay bringt ein Android-Handy über eine einzige RTSP-URL in Frigate. go2rtc, das in Frigate integriert ist, übernimmt diesen Stream und verteilt ihn an die Aufnahme, die Live-Ansicht und den Kanal für das Gegensprechen.

CamRelay ist eine App von Banana Studio, die ein Handy in eine IP-Kamera in Ihrem lokalen Netzwerk verwandelt. Sie streamt H.264- oder H.265-Video mit Opus-, G.711- oder AAC-Ton, hat eine Weboberfläche, unterstützt ONVIF und empfängt über den RTSP-Backchannel Ton von den Zuschauern.

Datenfluss: Handy mit CamRelay → go2rtc (in Frigate) → Aufnahme, Live-Ansicht mit Ton, Gegensprechen.

Die folgende Konfiguration bezieht sich auf Frigate 0.16. Einige Schlüssel können sich in späteren Versionen ändern; prüfen Sie daher die offizielle Frigate-Dokumentation.

CamRelay-Funktionen in Frigate

Die ersten vier Funktionen gelangen über go2rtc zu Frigate. Die übrigen stellen Sie in der App ein; sie sorgen dafür, dass der Stream rund um die Uhr läuft.

CamRelay-Funktion Nutzung in Frigate Wo einstellen
H.264/H.265-RTSP-Stream, Auflösung und FPS der Handykamera Aufnahme, Erkennung, Live-Ansicht go2rtc, Schritt 2.1
G.711- (PCMU/PCMA), Opus- oder AAC-Ton Ton in Live-Ansicht und Aufnahmen Codec in der App, Schritt 2.2
Gegensprechen (RTSP-Backchannel) Mikrofon-Taste in der Live-Ansicht WebRTC + HTTPS, Schritt 2.3
Einblendungen für Datum und Uhrzeit, Kameraname, IP, Akku und Temperatur, GPS-Koordinaten und Geschwindigkeit Fest ins Bild eingebrannt, das Frigate aufnimmt In der App, Schritt 1
Autostart nach Neustart, abgedunkelter Bildschirm, Pause bei Überhitzung oder schwachem Akku Verhindert, dass der Stream abbricht In der App, Schritt 1
MP4-Aufnahme auf dem Handy, Dateiverwaltung im Browser Sicherungsaufnahmen außerhalb von Frigate In der App, Schritt 1
Weboberfläche Bild und Ton prüfen, Einstellungen ändern, ohne den Stream zu stoppen Schritt 1

Bevor Sie beginnen

Sie brauchen:

  • Einen installierten und laufenden Frigate-Server (siehe Frigate-Installationsanleitung) im selben lokalen Netzwerk wie das Handy.
  • Ein Android-Handy mit installiertem CamRelay, das dauerhaft am Ladegerät hängt und im Router eine feste IP-Adresse hat.
  • Unter Android 17: Erlauben Sie CamRelay den Zugriff auf das lokale Netzwerk (Android führt ihn unter Geräte in der Nähe). Ohne ihn kann sich Frigate nicht mit dem Handy verbinden. Siehe den Artikel zu CamRelay 1.0.5.

Der Frigate-Container muss diese Ports freigeben, damit Sie alle CamRelay-Funktionen nutzen können:

Port Verwendet für
8971 HTTPS-Weboberfläche von Frigate, für das Gegensprechen erforderlich
8554 RTSP-Restream von go2rtc
8555 TCP und UDP WebRTC: Live-Ansicht mit Ton und Gegensprechen

Schritt 1: CamRelay einrichten

CamRelay folgt der Sprache des Handys; die Namen der Einstellungen unten sind die deutschen. Hinweis: Das Öffnen der Einstellungen stoppt den Stream. Sobald CamRelay läuft, können Sie Einstellungen über die Weboberfläche ändern, ohne den Stream zu stoppen.

1.1 RTSP-Port

Der Bereich Server-Ports zeigt den RTSP-Streaming-Port (Standard 1935) und den Web-Interface-Port (Standard 8888). Die Standardwerte passen.

Server-Ports in den CamRelay-Einstellungen: RTSP-Port 1935 und Web-Port 8888

1.2 Video

  1. Wählen Sie unter Kameraauswahl die Kamera aus (die Rückkamera liefert meist das bessere Bild).
  2. Öffnen Sie die Einstellungen dieser Kamera und wählen Sie Auflösung, Bildrate (FPS) und Video-Bitrate. Welche Auflösungen und Bildraten verfügbar sind, hängt von der Kamera des Handys ab.
  3. Wählen Sie unter Globale Video-Einstellungen → Video-Codec die Option H.264, damit Browser die Live-Ansicht abspielen können.
  4. Lassen Sie das Keyframe-Intervall (GOP) auf 1s (Standard), damit sich die Live-Ansicht schnell öffnet.

Auflösung, FPS und Bitrate für jede Kamera

Video-Codec H.264 und ein Keyframe-Intervall von 1 Sekunde

Für die Überwachung reichen 1080p bei 15 FPS; das schont auch den Frigate-Server. H.265 spart Bandbreite, aber Frigate muss es für den Browser umwandeln (siehe Schritt 2.2).

1.3 Ton

Schalten Sie unter Audio-Einstellungen die Option Audio aktivieren ein. Der Audio-Codec des Streams wird unter Gegensprechfunktion → Gegensprech-Audio-Codec gewählt. Diese eine Einstellung gilt sowohl für den ausgehenden Ton als auch für das Gegensprechen:

  • G.711 ULAW: für Frigate empfohlen, spielt direkt sowohl in MSE als auch in WebRTC (siehe Schritt 2.2).
  • OPUS: Standard ab Android 10, klarerer Ton, spielt aber nur über WebRTC.
  • G.711 ALAW: nur, wenn das wiedergebende Gerät A-law verlangt.
  • AAC: nur für die Wiedergabe; Gegensprechen erfordert eine Umwandlung.

Lassen Sie den Gegensprech-Audio-Modus auf Sprachkommunikation: Er hat eine Echounterdrückung, sodass es beim Gegensprechen keine Rückkopplung gibt.

Audio-Codec und Gegensprech-Modus

1.4 Einblendungen, Aufnahme und Dauerbetrieb

  • Video-Einblendungen: Datum und Uhrzeit, einen Kameranamen (Kameraname; leer lassen, um den Gerätenamen zu verwenden), die IP-Adresse, Akku und Temperatur, GPS-Koordinaten oder einen Tachometer anzeigen. Einblendungen werden direkt ins Video gezeichnet und erscheinen daher auch in den Aufnahmen von Frigate. Alle sind standardmäßig aus.
  • Aufnahme-Einstellungen: Schalten Sie Aufnahme aktivieren ein, um eine Sicherungskopie auf dem Handy zu haben. MP4-Dateien landen in Movies/CamRelay, aufgeteilt nach Aufnahme-Segmentdauer (Minuten). Ist Maximaler Speicher (MB) erreicht, werden die ältesten Dateien gelöscht.
  • Sicherheit & Automation: Schalten Sie Autostart bei Geräte-Neustart ein, damit CamRelay nach einem Neustart des Handys wieder streamt. Ab Android 10 braucht die App dafür außerdem die Berechtigung, über anderen Apps eingeblendet zu werden. Temperaturschutz und Akkuschutz pausieren den Stream, wenn das Handy zu heiß wird oder der Akku schwach ist, und setzen ihn fort, sobald wieder alles normal ist.
  • Akku-Optimierung: Stellen Sie sicher, dass die Akku-Optimierung für CamRelay aus ist, damit Android die App nicht im Hintergrund beendet.

Optionen für Video-Einblendungen

MP4-Aufnahme auf dem Handy

Autostart nach Neustart und Temperaturschutz

1.5 Stream starten und URL holen

Gehen Sie zurück zum Hauptbildschirm und tippen Sie auf die Wiedergabetaste. Die Leiste oben zeigt Auflösung, FPS, Bitrate und die verwendeten Codecs. Unten in der Ecke stehen drei Adressen, jeweils mit einer Kopieren-Taste:

  • rtsp://<phone-ip>:1935/: die RTSP-URL für Frigate.
  • http://<phone-ip>:8888: die Weboberfläche von CamRelay.
  • http://<phone-ip>:8889/onvif/device_service: der ONVIF-Dienst.

CamRelay streamt: RTSP-, Web- und ONVIF-Adressen unten

Bei einer fest montierten Kamera tippen Sie auf das Mond-Symbol (Bildschirm abdunkeln), um den Bildschirm schwarz zu schalten. Das spart Strom und verhindert Einbrennen bei OLED-Bildschirmen. Zweimal tippen weckt ihn wieder.

Die Beispiele unten verwenden rtsp://192.168.1.50:1935/; ersetzen Sie die Adresse durch die URL, die CamRelay anzeigt. Die aktuelle Version von CamRelay verlangt für RTSP noch keine Anmeldung; nutzen Sie sie daher nur in einem Netzwerk, dem Sie vertrauen.

Demnächst: Mit dem nächsten CamRelay-Update können Sie einen Benutzernamen und ein Passwort festlegen, um den RTSP-Stream zu schützen. Sie müssen sie dann nur in die URL in go2rtc eintragen, zum Beispiel rtsp://user:[email protected]:1935/.

Sie können den Stream vom Frigate-Server aus mit ffprobe prüfen:

ffprobe -rtsp_transport tcp rtsp://192.168.1.50:1935/

Die Ausgabe sollte einen h264-Videostream und einen Audiostream auflisten (pcm_mulaw bei G.711 ULAW, opus bei OPUS).

Schritt 2: go2rtc in Frigate konfigurieren

go2rtc in Frigate ist das Einzige, was sich mit dem Handy verbindet. Es holt den RTSP-Stream von CamRelay einmal ab und verteilt ihn an Aufnahme, Erkennung, Live-Ansicht (MSE, WebRTC) und Gegensprechen. Frigate selbst liest von rtsp://127.0.0.1:8554/camrelay, sodass das Handy nie mehrere Verbindungen gleichzeitig bedienen muss. Das hält es kühler und schont den Akku.

2.1 Stream hinzufügen

Fügen Sie in ~/frigate/config/config.yml einen go2rtc-Block hinzu:

go2rtc:
  streams:
    camrelay:                              # gleicher Name wie die Frigate-Kamera
      - rtsp://192.168.1.50:1935/          # die URL, die CamRelay anzeigt
  webrtc:
    candidates:
      - 192.168.1.100:8555   # IP des Frigate-Servers
      - stun:8555
  • Eine RTSP-Zeile genügt. Mit G.711- oder Opus-Ton reicht go2rtc Video und Ton direkt an den Browser weiter, ganz ohne ffmpeg:-Umwandlung. Dieselbe RTSP-Zeile trägt auch den Kanal für das Gegensprechen.
  • webrtc.candidates ist bei reinem Docker erforderlich; ohne diese Angabe funktionieren WebRTC und das Mikrofon im lokalen Netzwerk nicht. Die Ports 8555 TCP/UDP wurden unter „Bevor Sie beginnen“ freigegeben.
  • Hat der Stream denselben Namen wie die Kamera, verwendet Frigate ihn automatisch für die Live-Ansicht. Andernfalls legen Sie live.streams für die Kamera fest.

2.2 Codecs und Ton

Stellen Sie CamRelay auf H.264-Video. G.711 ist die einfachste Wahl für den Ton. Laut Frigate-Dokumentation spielt MSE (die Standard-Live-Ansicht) AAC oder PCMA/PCMU ab, WebRTC (für das Gegensprechen genutzt) Opus oder PCMA/PCMU. Nur G.711 funktioniert direkt in beiden.

CamRelay-Ton MSE WebRTC Zusätzliche go2rtc-Zeile
G.711 ULAW / ALAW (PCMU/PCMA) Ja Ja Keine
OPUS Nein Ja ffmpeg:camrelay#audio=aac, um ihn in MSE zu hören
AAC Ja Nein ffmpeg:camrelay#audio=opus für WebRTC

Opus klingt klarer als G.711 (8 kHz, Telefonqualität), wenn Sie hauptsächlich über WebRTC zuschauen. Wenn Sie H.265 verwenden müssen, fügen Sie eine Zeile zur Videoumwandlung hinzu und behalten die RTSP-Zeile:

go2rtc:
  streams:
    camrelay:
      - rtsp://192.168.1.50:1935/
      - "ffmpeg:camrelay#video=h264#hardware"   # H.264-Kopie für Browser

2.3 Gegensprechen

Während des Streamens ist CamRelay immer bereit, Ton über den RTSP-Backchannel zu empfangen; es gibt keinen Schalter dafür. go2rtc öffnet diesen Kanal über die RTSP-Zeile aus 2.1, ohne zusätzliche Konfiguration.

Zum Sprechen öffnen Sie Frigate über HTTPS auf Port 8971, gehen zur Live-Ansicht der Kamera und drücken das Mikrofon; Frigate wechselt von selbst zu WebRTC. Ihre Stimme kommt aus dem Lautsprecher des Handys, in der Lautstärke, die unter Wiedergabelautstärke in CamRelay eingestellt ist.

Muss eine andere App ebenfalls direkt mit dem Handy sprechen, hängen Sie #backchannel=0 an das Ende der RTSP-URL an, damit go2rtc den Kanal nicht belegt.

2.4 Kamera zu Frigate hinzufügen

Fügen Sie unter dem go2rtc-Block einen cameras-Block hinzu. Die Kamera liest den Stream von go2rtc, statt sich mit dem Handy zu verbinden:

cameras:
  camrelay:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/camrelay   # der go2rtc-Stream aus 2.1
          input_args: preset-rtsp-restream
          roles:
            - record
            - detect   # von Frigate verlangt, sonst nichts zu konfigurieren
    record:
      enabled: true

CamRelay sendet einen einzigen Stream (es gibt keinen Substream), daher nutzt die Kamera ihn sowohl für die Aufnahme als auch für die Erkennung.

Neu starten und prüfen:

docker compose restart frigate
docker logs -f frigate

Um go2rtc allein zu prüfen, fügen Sie vorübergehend den Port 1984:1984 zu docker-compose hinzu und öffnen http://<server-ip>:1984. Der Stream camrelay sollte eine RTSP-Quelle mit H264-Video und PCMU/PCMA- oder OPUS-Ton haben. Erscheint CamRelay auf der Startseite von Frigate, sind Sie fertig.

Schritt 3: Vollständige config.yml

Die folgende Datei enthält nur, was CamRelay braucht: den go2rtc-Stream, WebRTC, die Anmeldung (für HTTPS, das das Gegensprechen braucht) und die Aufnahme mit Ton.

go2rtc:
  streams:
    camrelay:
      - rtsp://192.168.1.50:1935/   # die URL, die CamRelay anzeigt, H.264 + G.711 ULAW
  webrtc:
    candidates:
      - 192.168.1.100:8555   # IP des Frigate-Servers
      - stun:8555

auth:
  enabled: true

cameras:
  camrelay:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/camrelay
          input_args: preset-rtsp-restream
          roles: [record, detect]   # detect: von Frigate verlangt
    record:
      enabled: true
    live:
      streams:
        CamRelay: camrelay

version: 0.16-0

Fehlerbehebung

Die meisten Probleme beim Einbinden von CamRelay in Frigate liegen an der Stream-URL, den Codecs oder dem Netzwerk.

Symptom Häufige Ursache Lösung
Kamera zeigt „No frames received“ Falsche URL oder falscher Port, CamRelay streamt nicht, oder Android hat die App im Hintergrund beendet URL erneut vom Hauptbildschirm von CamRelay kopieren; mit ffprobe prüfen; http://<ip>:1984 öffnen (falls freigegeben), um zu sehen, ob go2rtc den Stream empfängt
Keine Verbindung, selbst im selben WLAN Android-17-Handy ohne Zugriff auf das lokale Netzwerk; „Client-Isolation“ im Router; Gastnetzwerk; VPN CamRelay Geräte in der Nähe erlauben; Client-/AP-Isolation ausschalten; Server und Handy ins selbe Hauptnetzwerk bringen
Ruckelndes oder zerrissenes Bild Verlorene UDP-Pakete #transport=tcp an die URL in go2rtc anhängen
Live-Ansicht spielt im Browser nicht H.265-Stream oder fehlende WebRTC-Candidates In CamRelay H.264 wählen oder mit ffmpeg:...#video=h264 umwandeln; webrtc.candidates festlegen
Verbindung bricht ab und zu ab Instabiles WLAN, Android-Akku-Optimierung, überhitztes Handy Feste IP verwenden, Handy am Ladegerät lassen, Akku-Optimierung für CamRelay ausschalten, Autostart bei Geräte-Neustart einschalten, Bildschirm abdunkeln; Temperatur oben im CamRelay-Bildschirm beobachten; Frigate-Logs unter Settings → System → Logs prüfen
Kein Ton in der Live-Ansicht Audio aktivieren ist aus, oder Wiedergabe in MSE, während CamRelay OPUS sendet Ton in CamRelay einschalten; G.711 ULAW wählen, um Ton in MSE und WebRTC zu hören
Mikrofon funktioniert nicht Frigate über HTTP statt HTTPS geöffnet, oder Port 8555 fehlt Frigate unter https://<ip>:8971 öffnen; Port 8555 TCP/UDP freigeben und webrtc.candidates festlegen

Wenn Sie in den GitHub Discussions von Frigate um Hilfe bitten, fügen Sie Ihre Konfigurationsdatei, das Startprotokoll und die ffprobe-Ausgabe für den CamRelay-Stream bei. Für Fragen zu CamRelay tippen Sie im Bildschirm Über der App auf Feedback.

CamRelay bei Google Play herunterladen

Weitere Neuigkeiten, Anleitungen und Apps von Banana Studio finden Sie auf xnano.net.


Quellen: Frigate-Dokumentation zur Live-Ansicht für go2rtc; das CamRelay-Benutzerhandbuch und der Google-Play-Eintrag für CamRelay.

Zugehörige App

CamRelay – Live-IP-Kamera über RTSP

Verwandle dein Android-Smartphone in eine leistungsstarke RTSP-Netzwerkkamera.

Verwandte Beiträge