Banana Studio
Guides · BS Manager

Alle functies van CamRelay gebruiken in Frigate NVR

Maak van een reservetelefoon met Android een camera voor Frigate NVR: CamRelay streamt RTSP met geluid en de ingebouwde go2rtc van Frigate pakt het op voor opnemen, live bekijken met geluid en tweerichtingsgesprekken. Stap voor stap, met een complete config.yml.

Alle functies van CamRelay gebruiken in Frigate NVR
On this page

Alle functies van CamRelay gebruiken in Frigate NVR

CamRelay brengt een Android-telefoon in Frigate via één enkele RTSP-URL. go2rtc, dat in Frigate is ingebouwd, neemt die stream over en deelt hem met de recorder, het live beeld en het kanaal voor tweerichtingsgesprekken.

CamRelay is een app van Banana Studio die een telefoon verandert in een IP-camera in je lokale netwerk. De app streamt H.264- of H.265-video met Opus-, G.711- of AAC-audio, heeft een webinterface, ondersteunt ONVIF en ontvangt via het RTSP-backchannel geluid terug van kijkers.

Gegevensstroom: telefoon met CamRelay → go2rtc (in Frigate) → opnemen, live beeld met geluid, tweerichtingsgesprek.

De configuratie hieronder gaat uit van Frigate 0.16. Sommige sleutels kunnen in latere versies veranderen, dus controleer de officiële Frigate-documentatie.

Functies van CamRelay in Frigate

De eerste vier functies bereiken Frigate via go2rtc. De rest stel je in de app in; die houden de stream 24/7 in de lucht.

Functie van CamRelay Gebruik in Frigate Waar instellen
H.264/H.265-RTSP-stream, resolutie en FPS van de telefooncamera Opnemen, detectie, live beeld go2rtc, stap 2.1
G.711- (PCMU/PCMA), Opus- of AAC-audio Geluid in live beeld en opnames Codec in de app, stap 2.2
Tweerichtingsgesprek (RTSP-backchannel) Microfoonknop in live beeld WebRTC + HTTPS, stap 2.3
Overlays voor datum en tijd, cameranaam, IP, batterij en temperatuur, GPS-coördinaten en snelheid Ingebrand in het beeld dat Frigate opneemt In de app, stap 1
Automatisch starten na opstarten, gedimd scherm, pauzeren bij oververhitting of lege batterij Voorkomt dat de stream wegvalt In de app, stap 1
MP4-opname op de telefoon, bestandsbeheer in de browser Reserveopnames buiten Frigate In de app, stap 1
Webinterface Beeld en geluid controleren, instellingen wijzigen zonder de stream te stoppen Stap 1

Voordat je begint

Je hebt nodig:

  • Een geïnstalleerde en draaiende Frigate-server (zie de installatiehandleiding van Frigate) in hetzelfde lokale netwerk als de telefoon.
  • Een Android-telefoon met CamRelay geïnstalleerd, permanent aan de lader en met een vast IP-adres in je router.
  • Op Android 17: geef CamRelay toegang tot het lokale netwerk (Android noemt dit Apparaten in de buurt). Zonder deze toestemming kan Frigate geen verbinding maken met de telefoon. Zie het artikel over CamRelay 1.0.5.

De Frigate-container moet deze poorten openzetten om alle functies van CamRelay te kunnen gebruiken:

Poort Gebruikt voor
8971 HTTPS-webinterface van Frigate, nodig voor tweerichtingsgesprekken
8554 RTSP-restream van go2rtc
8555 TCP en UDP WebRTC: live beeld met geluid en tweerichtingsgesprek

Stap 1: CamRelay instellen

CamRelay volgt de taal van de telefoon; de namen van de instellingen hieronder zijn de Nederlandse. Let op: het openen van Instellingen stopt de stream. Zodra CamRelay draait, kun je instellingen via de webinterface wijzigen zonder de stream te stoppen.

1.1 RTSP-poort

Het onderdeel Serverpoorten toont de RTSP-streamingspoort (standaard 1935) en de Webinterface-poort (standaard 8888). De standaardwaarden zijn prima.

Serverpoorten in de instellingen van CamRelay: RTSP-poort 1935 en webpoort 8888

1.2 Video

  1. Kies onder Cameraselectie de camera die je wilt gebruiken (de achtercamera geeft meestal een beter beeld).
  2. Open de instellingen van die camera en kies Resolutie, Framesnelheid (FPS) en Video-bitrate. Welke resoluties en framesnelheden beschikbaar zijn, hangt af van de camera van de telefoon.
  3. Kies onder Algemene video-instellingen → Video-codec de optie H.264, zodat browsers het live beeld kunnen afspelen.
  4. Laat het Keyframe-interval (GOP) op 1s staan (de standaard), zodat het live beeld snel opent.

Resolutie, FPS en bitrate per camera

Videocodec H.264 en een keyframe-interval van 1 seconde

Voor bewaking is 1080p bij 15 FPS genoeg, en dat ontziet ook de Frigate-server. H.265 bespaart bandbreedte, maar Frigate moet het dan voor de browser transcoderen (zie stap 2.2).

1.3 Audio

Zet onder Audio-instellingen de optie Audio inschakelen aan. De audiocodec van de stream kies je onder Tweerichtingsgesprek → Audiocodec voor tweerichtingsgesprek. Deze ene instelling geldt zowel voor het uitgaande geluid als voor het tweerichtingsgesprek:

  • G.711 ULAW: aanbevolen voor Frigate, speelt direct af in zowel MSE als WebRTC (zie stap 2.2).
  • OPUS: de standaard vanaf Android 10, helderder geluid, maar speelt alleen af via WebRTC.
  • G.711 ALAW: alleen als het afspeelapparaat A-law vereist.
  • AAC: alleen voor afspelen; tweerichtingsgesprek vereist transcoderen.

Laat de Audiomodus voor tweerichtingsgesprek op Spraakcommunicatie staan: die heeft echo-onderdrukking, zodat een tweerichtingsgesprek niet gaat rondzingen.

Audiocodec en modus voor tweerichtingsgesprek

1.4 Overlays, opnemen en 24/7-gebruik

  • Video-overlay: toon de datum en tijd, een cameranaam (Cameranaam; laat leeg om de apparaatnaam te gebruiken), het IP-adres, batterij en temperatuur, GPS-coördinaten of een snelheidsmeter. Overlays worden in de video zelf getekend, dus ze verschijnen ook in de opnames van Frigate. Ze staan standaard allemaal uit.
  • Opname-instellingen: zet Opnemen inschakelen aan voor een reservekopie op de telefoon. MP4-bestanden komen in Movies/CamRelay, opgesplitst volgens Duur opnamesegment (minuten). Wanneer Max. opslag (MB) is bereikt, worden de oudste bestanden verwijderd.
  • Veiligheid & Automatisering: zet Automatisch starten bij opstarten apparaat aan, zodat CamRelay weer gaat streamen nadat de telefoon opnieuw is opgestart. Vanaf Android 10 heeft de app daarnaast toestemming nodig om over andere apps heen te worden weergegeven. Temperatuurveiligheid en Batterijveiligheid pauzeren de stream als de telefoon te warm wordt of de batterij bijna leeg is, en hervatten hem zodra alles weer normaal is.
  • Batterijoptimalisatie: zorg dat batterijoptimalisatie voor CamRelay uit staat, zodat Android de app niet op de achtergrond stopt.

Opties voor video-overlay

MP4-opname op de telefoon

Automatisch starten na opstarten en temperatuurveiligheid

1.5 Streamen starten en de URL ophalen

Ga terug naar het hoofdscherm en tik op de afspeelknop. De balk bovenaan toont de resolutie, FPS, bitrate en gebruikte codecs. In de onderhoek staan drie adressen, elk met een kopieerknop:

  • rtsp://<phone-ip>:1935/: de RTSP-URL voor Frigate.
  • http://<phone-ip>:8888: de webinterface van CamRelay.
  • http://<phone-ip>:8889/onvif/device_service: de ONVIF-dienst.

CamRelay streamt: RTSP-, web- en ONVIF-adressen onderaan

Bij een camera die op één plek blijft, tik je op het maan-pictogram (Scherm dimmen) om het scherm zwart te maken. Dat bespaart stroom en voorkomt inbranden bij OLED-schermen. Dubbeltik om het weer te activeren.

De voorbeelden hieronder gebruiken rtsp://192.168.1.50:1935/; vervang dit door de URL die CamRelay toont. De huidige versie van CamRelay vraagt nog niet om inloggegevens voor RTSP, dus gebruik het alleen in een netwerk dat je vertrouwt.

Binnenkort: met de volgende update van CamRelay kun je een gebruikersnaam en wachtwoord instellen om de RTSP-stream te beveiligen. Je hoeft ze dan alleen aan de URL in go2rtc toe te voegen, bijvoorbeeld rtsp://user:[email protected]:1935/.

Je kunt de stream vanaf de Frigate-server controleren met ffprobe:

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

De uitvoer moet een h264-videostream en een audiostream tonen (pcm_mulaw bij G.711 ULAW, opus bij OPUS).

Stap 2: go2rtc instellen in Frigate

go2rtc in Frigate is het enige dat verbinding maakt met de telefoon. Het haalt de RTSP-stream van CamRelay één keer op en deelt die met opnemen, detectie, live beeld (MSE, WebRTC) en tweerichtingsgesprek. Frigate zelf leest van rtsp://127.0.0.1:8554/camrelay, zodat de telefoon nooit meerdere verbindingen tegelijk hoeft te bedienen. Zo blijft hij koeler en spaar je de batterij.

2.1 De stream toevoegen

Voeg een go2rtc-blok toe aan ~/frigate/config/config.yml:

go2rtc:
  streams:
    camrelay:                              # dezelfde naam als de Frigate-camera
      - rtsp://192.168.1.50:1935/          # de URL die CamRelay toont
  webrtc:
    candidates:
      - 192.168.1.100:8555   # IP van de Frigate-server
      - stun:8555
  • Eén RTSP-regel is genoeg. Met G.711- of Opus-audio geeft go2rtc video en geluid rechtstreeks door aan de browser, zonder ffmpeg:-transcodering. Dezelfde RTSP-regel draagt ook het kanaal voor tweerichtingsgesprekken.
  • webrtc.candidates is verplicht bij gewone Docker; zonder deze instelling werken WebRTC en de microfoon niet in het lokale netwerk. De poorten 8555 TCP/UDP zijn opengezet in "Voordat je begint".
  • Heeft de stream dezelfde naam als de camera, dan gebruikt Frigate hem automatisch voor live beeld. Anders stel je live.streams in voor de camera.

2.2 Codecs en audio

Zet CamRelay op H.264-video. G.711 is de eenvoudigste keuze voor audio. Volgens de Frigate-documentatie speelt MSE (het standaard live beeld) AAC of PCMA/PCMU af, en WebRTC (gebruikt voor tweerichtingsgesprekken) Opus of PCMA/PCMU. Alleen G.711 werkt direct in beide.

Audio van CamRelay MSE WebRTC Extra go2rtc-regel
G.711 ULAW / ALAW (PCMU/PCMA) Ja Ja Geen
OPUS Nee Ja ffmpeg:camrelay#audio=aac om het in MSE te horen
AAC Ja Nee ffmpeg:camrelay#audio=opus voor WebRTC

Opus klinkt helderder dan G.711 (8 kHz, telefoonkwaliteit) als je vooral via WebRTC kijkt. Moet je H.265 gebruiken, voeg dan een regel toe voor videotranscodering en houd de RTSP-regel:

go2rtc:
  streams:
    camrelay:
      - rtsp://192.168.1.50:1935/
      - "ffmpeg:camrelay#video=h264#hardware"   # H.264-kopie voor browsers

2.3 Tweerichtingsgesprek

Tijdens het streamen is CamRelay altijd klaar om geluid te ontvangen via het RTSP-backchannel; er is geen schakelaar om aan te zetten. go2rtc opent dit kanaal via de RTSP-regel uit 2.1, zonder extra configuratie.

Om te praten open je Frigate via HTTPS op poort 8971, ga je naar het live beeld van de camera en druk je op de microfoon; Frigate schakelt zelf over naar WebRTC. Je stem klinkt uit de luidspreker van de telefoon, op het volume dat is ingesteld bij Afspeelvolume in CamRelay.

Moet een andere app ook rechtstreeks met de telefoon praten, voeg dan #backchannel=0 toe aan het einde van de RTSP-URL, zodat go2rtc het kanaal niet bezet houdt.

2.4 De camera toevoegen aan Frigate

Voeg onder het go2rtc-blok een cameras-blok toe. De camera leest de stream terug van go2rtc in plaats van verbinding te maken met de telefoon:

cameras:
  camrelay:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/camrelay   # de go2rtc-stream uit 2.1
          input_args: preset-rtsp-restream
          roles:
            - record
            - detect   # vereist door Frigate, verder niets in te stellen
    record:
      enabled: true

CamRelay verstuurt één enkele stream (er is geen substream), dus de camera gebruikt die voor zowel opnemen als detectie.

Herstarten en controleren:

docker compose restart frigate
docker logs -f frigate

Om go2rtc apart te controleren, voeg je tijdelijk poort 1984:1984 toe aan docker-compose en open je http://<server-ip>:1984. De stream camrelay moet een RTSP-bron hebben met H264-video en PCMU/PCMA- of OPUS-audio. Verschijnt CamRelay op de startpagina van Frigate, dan ben je klaar.

Stap 3: Complete config.yml

Het bestand hieronder bevat alleen wat CamRelay nodig heeft: de go2rtc-stream, WebRTC, inloggen (voor HTTPS, nodig voor tweerichtingsgesprekken) en opnemen met geluid.

go2rtc:
  streams:
    camrelay:
      - rtsp://192.168.1.50:1935/   # de URL die CamRelay toont, H.264 + G.711 ULAW
  webrtc:
    candidates:
      - 192.168.1.100:8555   # IP van de Frigate-server
      - 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: vereist door Frigate
    record:
      enabled: true
    live:
      streams:
        CamRelay: camrelay

version: 0.16-0

Problemen oplossen

De meeste problemen bij het toevoegen van CamRelay aan Frigate komen neer op de stream-URL, de codecs of het netwerk.

Symptoom Veelvoorkomende oorzaak Oplossing
Camera toont "No frames received" Verkeerde URL of poort, CamRelay streamt niet, of Android heeft de app op de achtergrond gestopt Kopieer de URL opnieuw vanaf het hoofdscherm van CamRelay; controleer met ffprobe; open http://<ip>:1984 (als die openstaat) om te zien of go2rtc de stream ontvangt
Geen verbinding, zelfs op dezelfde wifi Android 17-telefoon zonder toegang tot het lokale netwerk; "client isolation" in de router; gastnetwerk; VPN Sta voor CamRelay Apparaten in de buurt toe; zet client-/AP-isolatie uit; zet server en telefoon op hetzelfde hoofdnetwerk
Haperend of gescheurd beeld Verloren UDP-pakketten Voeg #transport=tcp toe aan de URL in go2rtc
Live beeld speelt niet af in de browser H.265-stream of ontbrekende WebRTC-candidates Kies H.264 in CamRelay, of transcodeer met ffmpeg:...#video=h264; stel webrtc.candidates in
Verbinding valt af en toe weg Instabiele wifi, batterijoptimalisatie van Android, oververhitte telefoon Gebruik een vast IP, houd de telefoon aan de lader, zet batterijoptimalisatie voor CamRelay uit, zet Automatisch starten bij opstarten apparaat aan, gebruik de knop om het scherm te dimmen; houd de temperatuur bovenaan het scherm van CamRelay in de gaten; bekijk de logs van Frigate onder Settings → System → Logs
Geen geluid in live beeld Audio inschakelen staat uit, of je kijkt in MSE terwijl CamRelay OPUS verstuurt Zet audio aan in CamRelay; kies G.711 ULAW om geluid te horen in zowel MSE als WebRTC
Microfoon werkt niet Frigate geopend via HTTP in plaats van HTTPS, of poort 8555 ontbreekt Open Frigate via https://<ip>:8971; zet poort 8555 TCP/UDP open en stel webrtc.candidates in

Vraag je om hulp in de GitHub Discussions van Frigate, voeg dan je configuratiebestand, het opstartlog en de ffprobe-uitvoer van de CamRelay-stream toe. Voor vragen over CamRelay tik je op Feedback in het scherm Over van de app.

Download CamRelay via Google Play

Meer nieuws, handleidingen en apps van Banana Studio vind je op xnano.net.


Bronnen: documentatie over Live View van Frigate voor go2rtc; de gebruikershandleiding van CamRelay en de vermelding in Google Play voor CamRelay.

Related app

CamRelay - Live IP-camera via RTSP

Verander je Android-telefoon in een krachtige RTSP-netwerkcamera.

Related posts