Banana Studio
Guides · BS Manager

Usare tutte le funzioni di CamRelay in Frigate NVR

Trasforma un vecchio telefono Android in una videocamera per Frigate NVR: CamRelay trasmette un flusso RTSP con audio e go2rtc, integrato in Frigate, lo riprende per la registrazione, la diretta con audio e l'audio bidirezionale. Passo passo, con un config.yml completo.

Usare tutte le funzioni di CamRelay in Frigate NVR
On this page

Usare tutte le funzioni di CamRelay in Frigate NVR

CamRelay porta un telefono Android in Frigate con un solo URL RTSP. go2rtc, integrato in Frigate, riceve questo flusso e lo condivide con il registratore, la diretta e il canale di audio bidirezionale.

CamRelay è un'app di Banana Studio che trasforma un telefono in una videocamera IP sulla tua rete locale. Trasmette video H.264 o H.265 con audio Opus, G.711 o AAC. Ha un'interfaccia web, supporta ONVIF e riceve l'audio di ritorno da chi guarda tramite il backchannel RTSP.

Flusso dei dati: telefono con CamRelay → go2rtc (dentro Frigate) → registrazione, diretta con audio, audio bidirezionale.

La configurazione seguente si basa su Frigate 0.16. Alcune chiavi potrebbero cambiare nelle versioni successive, quindi consulta la documentazione ufficiale di Frigate.

Le funzioni di CamRelay in Frigate

Le prime quattro funzioni arrivano a Frigate tramite go2rtc. Le altre si impostano nell'app e mantengono il flusso attivo 24 ore su 24, 7 giorni su 7.

Funzione di CamRelay Uso in Frigate Dove impostarla
Flusso RTSP H.264/H.265, risoluzione e FPS dalla fotocamera del telefono Registrazione, rilevamento, diretta go2rtc, passo 2.1
Audio G.711 (PCMU/PCMA), Opus o AAC Audio nella diretta e nelle registrazioni Codec nell'app, passo 2.2
Audio bidirezionale (backchannel RTSP) Pulsante microfono nella diretta WebRTC + HTTPS, passo 2.3
Sovrimpressione di data e ora, nome della videocamera, IP, batteria e temperatura, coordinate GPS e velocità Impresse nell'immagine registrata da Frigate Nell'app, passo 1
Avvio automatico all'accensione, schermo oscurato, pausa in caso di surriscaldamento o batteria scarica Evita le interruzioni del flusso Nell'app, passo 1
Registrazione MP4 sul telefono, gestione dei file dal browser Registrazioni di backup al di fuori di Frigate Nell'app, passo 1
Interfaccia web Controllare immagine e audio, cambiare le impostazioni senza fermare il flusso Passo 1

Prima di iniziare

Ti servono:

  • Un server Frigate installato e funzionante (vedi la guida all'installazione di Frigate), sulla stessa rete locale del telefono.
  • Un telefono Android con CamRelay installato, sempre collegato alla corrente e con un indirizzo IP fisso assegnato dal router.
  • Su Android 17: concedi a CamRelay l'accesso alla rete locale (Android lo elenca come Dispositivi nelle vicinanze). Senza questa autorizzazione, Frigate non può collegarsi al telefono. Vedi l'articolo su CamRelay 1.0.5.

Il container di Frigate deve esporre queste porte per usare tutte le funzioni di CamRelay:

Porta Uso
8971 Interfaccia web HTTPS di Frigate, necessaria per l'audio bidirezionale
8554 Restream RTSP di go2rtc
8555 TCP e UDP WebRTC: diretta con audio e audio bidirezionale

Passo 1: configurare CamRelay

CamRelay segue la lingua del telefono; i nomi delle impostazioni riportati qui sotto sono quelli in italiano. Nota: aprire le Impostazioni interrompe il flusso. Quando CamRelay è in funzione, puoi cambiare le impostazioni dall'interfaccia web senza fermarlo.

1.1 Porta RTSP

La sezione Porte server mostra la Porta streaming RTSP (predefinita 1935) e la Porta interfaccia Web (predefinita 8888). I valori predefiniti vanno bene.

Porte server nelle impostazioni di CamRelay: porta RTSP 1935 e porta web 8888

1.2 Video

  1. In Selezione fotocamera, scegli la fotocamera da usare (quella posteriore di solito offre un'immagine migliore).
  2. Apri le impostazioni specifiche di quella fotocamera e scegli Risoluzione, Frequenza fotogrammi (FPS) e Bitrate video. Le risoluzioni e le frequenze disponibili dipendono dalla fotocamera del telefono.
  3. In Impostazioni video globali → Codec video, scegli H.264 in modo che i browser possano riprodurre la diretta.
  4. Lascia Intervallo fotogrammi chiave (GOP) su 1s (predefinito) perché la diretta si apra rapidamente.

Risoluzione, FPS e bitrate per ogni fotocamera

Codec video H.264 e intervallo fotogrammi chiave di 1 secondo

Per la videosorveglianza, 1080p a 15 FPS è sufficiente e pesa poco sul server Frigate. H.265 risparmia banda, ma Frigate deve transcodificarlo per il browser (vedi il passo 2.2).

1.3 Audio

In Impostazioni audio, attiva Abilita audio. Il codec audio del flusso si sceglie in Audio bidirezionale → Codec audio bidirezionale. Questa unica impostazione vale sia per l'audio in uscita sia per l'audio bidirezionale:

  • G.711 ULAW: consigliato per Frigate, si riproduce direttamente sia in MSE sia in WebRTC (vedi il passo 2.2).
  • OPUS: predefinito da Android 10, audio più nitido, ma si riproduce solo in WebRTC.
  • G.711 ALAW: solo se il dispositivo di ascolto richiede A-law.
  • AAC: solo riproduzione; l'audio bidirezionale richiede la transcodifica.

Lascia Modalità audio bidirezionale su Comunicazione vocale: ha la cancellazione dell'eco, così l'audio bidirezionale non fischia.

Codec audio e modalità dell'audio bidirezionale

1.4 Sovrimpressioni, registrazione e funzionamento 24/7

  • Sovrapposizione video: mostra data e ora, un nome per la videocamera (Nome fotocamera; lascialo vuoto per usare il nome del dispositivo), l'indirizzo IP, batteria e temperatura, coordinate GPS o un tachimetro. Le sovrimpressioni sono disegnate nel video stesso, quindi compaiono anche nelle registrazioni di Frigate. Sono tutte disattivate per impostazione predefinita.
  • Impostazioni registrazione: attiva Abilita registrazione per avere una copia di backup sul telefono. I file MP4 vengono salvati in Movies/CamRelay, divisi secondo la Durata segmento di registrazione (minuti). Quando si raggiunge lo Spazio di archiviazione max (MB), i file più vecchi vengono eliminati.
  • Sicurezza e automazione: attiva Avvio automatico all'accensione del dispositivo perché CamRelay riprenda a trasmettere dopo il riavvio del telefono. Da Android 10 in poi, l'app ha bisogno anche dell'autorizzazione a comparire sopra le altre app. Sicurezza temperatura e Sicurezza batteria mettono in pausa il flusso quando il telefono si scalda troppo o la batteria è scarica, e lo riprendono quando tutto torna normale.
  • Ottimizzazione batteria: assicurati che l'ottimizzazione della batteria sia disattivata per CamRelay, così Android non lo chiude in background.

Opzioni di sovrapposizione video

Registrazione MP4 sul telefono

Avvio automatico all'accensione e sicurezza temperatura

1.5 Avviare la trasmissione e ottenere l'URL

Torna alla schermata principale e tocca il pulsante di riproduzione. La barra in alto mostra risoluzione, FPS, bitrate e codec in uso. L'angolo in basso mostra tre indirizzi, ciascuno con un pulsante per copiarlo:

  • rtsp://<phone-ip>:1935/: l'URL RTSP per Frigate.
  • http://<phone-ip>:8888: l'interfaccia web di CamRelay.
  • http://<phone-ip>:8889/onvif/device_service: il servizio ONVIF.

CamRelay in trasmissione: indirizzi RTSP, web e ONVIF in basso

Per una videocamera che resta sempre nello stesso posto, tocca l'icona della luna (Oscura schermo) per spegnere lo schermo. Risparmi energia ed eviti il burn-in sugli schermi OLED. Tocca due volte per riattivarlo.

Gli esempi seguenti usano rtsp://192.168.1.50:1935/; sostituiscilo con l'URL mostrato da CamRelay. La versione attuale di CamRelay non chiede ancora credenziali per RTSP, quindi usala solo su una rete di cui ti fidi.

In arrivo: il prossimo aggiornamento di CamRelay permette di impostare nome utente e password per proteggere il flusso RTSP. Basterà poi aggiungerli all'URL in go2rtc, per esempio rtsp://user:[email protected]:1935/.

Puoi verificare il flusso dal server Frigate con ffprobe:

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

L'output dovrebbe elencare un flusso video h264 e un flusso audio (pcm_mulaw con G.711 ULAW, opus con OPUS).

Passo 2: configurare go2rtc in Frigate

go2rtc dentro Frigate è l'unico che si collega al telefono. Preleva una sola volta il flusso RTSP di CamRelay e lo condivide con registrazione, rilevamento, diretta (MSE, WebRTC) e audio bidirezionale. Frigate stesso legge da rtsp://127.0.0.1:8554/camrelay, quindi il telefono non deve mai gestire più connessioni contemporaneamente. Così si scalda meno e consuma meno batteria.

2.1 Aggiungere il flusso

Aggiungi un blocco go2rtc a ~/frigate/config/config.yml:

go2rtc:
  streams:
    camrelay:                              # stesso nome della videocamera in Frigate
      - rtsp://192.168.1.50:1935/          # l'URL mostrato da CamRelay
  webrtc:
    candidates:
      - 192.168.1.100:8555   # IP del server Frigate
      - stun:8555
  • Basta una riga RTSP. Con audio G.711 o Opus, go2rtc passa video e audio direttamente al browser, senza transcodifica ffmpeg:. La stessa riga RTSP trasporta anche il canale di audio bidirezionale.
  • webrtc.candidates è necessario con Docker semplice; senza, WebRTC e il microfono non funzionano sulla rete locale. Le porte 8555 TCP/UDP sono state aperte in "Prima di iniziare".
  • Se il flusso ha lo stesso nome della videocamera, Frigate lo usa automaticamente per la diretta. Altrimenti, imposta live.streams per la videocamera.

2.2 Codec e audio

Imposta CamRelay sul video H.264. G.711 è la scelta audio più semplice. Secondo la documentazione di Frigate, MSE (la diretta predefinita) riproduce AAC o PCMA/PCMU, mentre WebRTC (usato per l'audio bidirezionale) riproduce Opus o PCMA/PCMU. Solo G.711 funziona direttamente in entrambi.

Audio di CamRelay MSE WebRTC Riga go2rtc aggiuntiva
G.711 ULAW / ALAW (PCMU/PCMA) Sì Sì Nessuna
OPUS No Sì ffmpeg:camrelay#audio=aac per sentirlo in MSE
AAC Sì No ffmpeg:camrelay#audio=opus per WebRTC

Opus suona più nitido di G.711 (qualità telefonica a 8 kHz) se guardi soprattutto in WebRTC. Se devi usare H.265, aggiungi una riga di transcodifica video e mantieni la riga RTSP:

go2rtc:
  streams:
    camrelay:
      - rtsp://192.168.1.50:1935/
      - "ffmpeg:camrelay#video=h264#hardware"   # copia H.264 per i browser

2.3 Audio bidirezionale

Durante la trasmissione, CamRelay è sempre pronto a ricevere audio tramite il backchannel RTSP; non c'è alcun interruttore da attivare. go2rtc apre questo canale a partire dalla riga RTSP del punto 2.1, senza configurazioni aggiuntive.

Per parlare, apri Frigate in HTTPS sulla porta 8971, vai alla diretta della videocamera e premi il microfono; Frigate passa da solo a WebRTC. La tua voce esce dall'altoparlante del telefono, al volume impostato con Volume riproduzione in CamRelay.

Se anche un'altra app deve parlare direttamente al telefono, aggiungi #backchannel=0 alla fine dell'URL RTSP, così go2rtc non occupa il canale.

2.4 Aggiungere la videocamera a Frigate

Aggiungi un blocco cameras sotto il blocco go2rtc. La videocamera rilegge il flusso da go2rtc invece di collegarsi al telefono:

cameras:
  camrelay:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/camrelay   # il flusso go2rtc del punto 2.1
          input_args: preset-rtsp-restream
          roles:
            - record
            - detect   # richiesto da Frigate, nient'altro da configurare
    record:
      enabled: true

CamRelay invia un solo flusso (non c'è un sub-stream), quindi la videocamera lo usa sia per la registrazione sia per il rilevamento.

Riavvia e controlla:

docker compose restart frigate
docker logs -f frigate

Per controllare solo go2rtc, aggiungi temporaneamente la porta 1984:1984 a docker-compose e apri http://<server-ip>:1984. Il flusso camrelay dovrebbe avere una sorgente RTSP con video H264 e audio PCMU/PCMA o OPUS. Quando CamRelay compare nella pagina principale di Frigate, hai finito.

Passo 3: config.yml completo

Il file seguente contiene solo ciò che serve a CamRelay: il flusso go2rtc, WebRTC, l'accesso con login (per l'HTTPS, necessario all'audio bidirezionale) e la registrazione con audio.

go2rtc:
  streams:
    camrelay:
      - rtsp://192.168.1.50:1935/   # l'URL mostrato da CamRelay, H.264 + G.711 ULAW
  webrtc:
    candidates:
      - 192.168.1.100:8555   # IP del server Frigate
      - 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: richiesto da Frigate
    record:
      enabled: true
    live:
      streams:
        CamRelay: camrelay

version: 0.16-0

Risoluzione dei problemi

La maggior parte dei problemi quando si aggiunge CamRelay a Frigate dipende dall'URL del flusso, dai codec o dalla rete.

Sintomo Causa comune Soluzione
La videocamera mostra "No frames received" URL o porta errati, CamRelay non sta trasmettendo, oppure Android l'ha chiuso in background Copia di nuovo l'URL dalla schermata principale di CamRelay; verificalo con ffprobe; apri http://<ip>:1984 (se esposta) per vedere se go2rtc riceve il flusso
Impossibile collegarsi, anche sulla stessa Wi-Fi Telefono con Android 17 senza accesso alla rete locale; "isolamento client" sul router; rete ospiti; VPN Consenti Dispositivi nelle vicinanze a CamRelay; disattiva l'isolamento client/AP; metti server e telefono sulla stessa rete principale
Immagine a scatti o spezzata Pacchetti UDP persi Aggiungi #transport=tcp all'URL in go2rtc
La diretta non si riproduce nel browser Flusso H.265 o candidati WebRTC mancanti Scegli H.264 in CamRelay, oppure transcodifica con ffmpeg:...#video=h264; imposta webrtc.candidates
La connessione cade ogni tanto Wi-Fi instabile, ottimizzazione della batteria di Android, surriscaldamento del telefono Usa un IP fisso, tieni il telefono in carica, disattiva l'ottimizzazione della batteria per CamRelay, attiva Avvio automatico all'accensione del dispositivo, usa il pulsante per oscurare lo schermo; controlla la temperatura in alto nella schermata di CamRelay; consulta i log di Frigate in Settings → System → Logs
Nessun audio nella diretta Abilita audio è disattivato, oppure guardi in MSE mentre CamRelay invia OPUS Attiva l'audio in CamRelay; scegli G.711 ULAW per sentire l'audio sia in MSE sia in WebRTC
Il microfono non funziona Frigate aperto in HTTP invece che in HTTPS, oppure porta 8555 mancante Apri Frigate su https://<ip>:8971; esponi la porta 8555 TCP/UDP e imposta webrtc.candidates

Quando chiedi aiuto nelle GitHub Discussions di Frigate, allega il file di configurazione, il log di avvio e l'output di ffprobe per il flusso di CamRelay. Per domande su CamRelay, tocca Feedback nella schermata Informazioni dell'app.

Scarica CamRelay da Google Play

Trovi altre novità, guide e app di Banana Studio su xnano.net.


Fonti: documentazione Live View di Frigate per go2rtc; la guida utente di CamRelay e la scheda su Google Play per CamRelay.

Related app

CamRelay - Telecamera IP in diretta tramite RTSP

Trasforma il tuo telefono Android in una potente videocamera di rete RTSP.

Related posts