Utiliser toutes les fonctions de CamRelay dans Frigate NVR
Transformez un vieux téléphone Android en caméra pour Frigate NVR : CamRelay diffuse un flux RTSP avec le son, et go2rtc, intégré à Frigate, le reprend pour l'enregistrement, le direct avec le son et la communication bidirectionnelle. Pas à pas, avec un config.yml complet.
On this page
Utiliser toutes les fonctions de CamRelay dans Frigate NVR
CamRelay intègre un téléphone Android à Frigate grâce à une seule URL RTSP. go2rtc, intégré à Frigate, récupère ce flux et le partage entre l'enregistreur, le direct et le canal de communication bidirectionnelle.
CamRelay est une application de Banana Studio qui transforme un téléphone en caméra IP sur votre réseau local. Elle diffuse de la vidéo H.264 ou H.265 avec un son Opus, G.711 ou AAC. Elle dispose d'une interface web, prend en charge ONVIF et reçoit le son renvoyé par les spectateurs via le backchannel RTSP.
Flux de données : téléphone sous CamRelay → go2rtc (dans Frigate) → enregistrement, direct avec le son, communication bidirectionnelle.
La configuration ci-dessous suit Frigate 0.16. Certaines clés peuvent changer dans les versions suivantes : consultez la documentation officielle de Frigate.
Les fonctions de CamRelay dans Frigate
Les quatre premières fonctions arrivent dans Frigate via go2rtc. Les autres se règlent dans l'application et assurent un flux continu 24 h/24, 7 j/7.
| Fonction de CamRelay | Utilisation dans Frigate | Où la régler |
|---|---|---|
| Flux RTSP H.264/H.265, résolution et FPS de la caméra du téléphone | Enregistrement, détection, direct | go2rtc, étape 2.1 |
| Son G.711 (PCMU/PCMA), Opus ou AAC | Son dans le direct et les enregistrements | Codec dans l'application, étape 2.2 |
| Communication bidirectionnelle (backchannel RTSP) | Bouton micro dans le direct | WebRTC + HTTPS, étape 2.3 |
| Incrustation de la date et l'heure, du nom de la caméra, de l'IP, de la batterie et de la température, des coordonnées GPS et de la vitesse | Incrustées dans l'image enregistrée par Frigate | Dans l'application, étape 1 |
| Démarrage automatique, écran assombri, pause en cas de surchauffe ou de batterie faible | Évite les coupures du flux | Dans l'application, étape 1 |
| Enregistrement MP4 sur le téléphone, gestion des fichiers dans le navigateur | Enregistrements de secours en dehors de Frigate | Dans l'application, étape 1 |
| Interface web | Vérifier l'image et le son, modifier les réglages sans arrêter le flux | Étape 1 |
Avant de commencer
Il vous faut :
- Un serveur Frigate installé et en marche (voir le guide d'installation de Frigate), sur le même réseau local que le téléphone.
- Un téléphone Android avec CamRelay installé, branché en permanence et doté d'une adresse IP fixe sur votre routeur.
- Sous Android 17 : autorisez l'accès au réseau local pour CamRelay (Android l'affiche sous Appareils à proximité). Sans cela, Frigate ne peut pas se connecter au téléphone. Voir l'article sur CamRelay 1.0.5.
Le conteneur Frigate doit exposer ces ports pour utiliser toutes les fonctions de CamRelay :
| Port | Utilisation |
|---|---|
| 8971 | Interface web HTTPS de Frigate, obligatoire pour la communication bidirectionnelle |
| 8554 | Rediffusion RTSP de go2rtc |
| 8555 TCP et UDP | WebRTC : direct avec le son et communication bidirectionnelle |
Étape 1 : configurer CamRelay
CamRelay suit la langue du téléphone ; les noms des réglages ci-dessous sont ceux de la version française. Attention : ouvrir les Paramètres arrête le flux. Une fois CamRelay en marche, vous pouvez modifier les réglages depuis l'interface web sans l'arrêter.
1.1 Port RTSP
La section Ports serveur affiche le Port de diffusion RTSP (1935 par défaut) et le Port de l'interface web (8888 par défaut). Les valeurs par défaut conviennent.

1.2 Vidéo
- Sous Sélection de la caméra, choisissez la caméra à utiliser (la caméra arrière donne généralement une meilleure image).
- Ouvrez les réglages propres à cette caméra et choisissez la Résolution, la Fréquence d'images (FPS) et le Débit vidéo. Les résolutions et fréquences d'images disponibles dépendent de la caméra du téléphone.
- Sous Paramètres vidéo globaux → Codec vidéo, choisissez H.264 pour que les navigateurs puissent lire le direct.
- Laissez l'Intervalle d'images clés (GOP) sur 1s (valeur par défaut) pour que le direct s'ouvre rapidement.


Pour la surveillance, 1080p à 15 FPS suffit et ménage le serveur Frigate. Le H.265 économise de la bande passante, mais Frigate doit alors le transcoder pour le navigateur (voir l'étape 2.2).
1.3 Audio
Sous Paramètres audio, activez Activer l'audio. Le codec audio du flux se choisit sous Communication bidirectionnelle → Codec audio bidirectionnel. Ce seul réglage s'applique à la fois au son envoyé et à la communication bidirectionnelle :
- G.711 ULAW : recommandé pour Frigate, lu directement en MSE comme en WebRTC (voir l'étape 2.2).
- OPUS : valeur par défaut à partir d'Android 10, son plus clair, mais lu uniquement en WebRTC.
- G.711 ALAW : seulement si l'appareil d'écoute exige l'A-law.
- AAC : lecture uniquement ; la communication bidirectionnelle nécessite un transcodage.
Laissez le Mode audio bidirectionnel sur Communication vocale : il intègre l'annulation d'écho, ce qui évite le larsen pendant la communication bidirectionnelle.

1.4 Incrustations, enregistrement et fonctionnement 24 h/24
- Superposition vidéo : affichez la date et l'heure, un nom de caméra (Nom de la caméra ; laissez-le vide pour utiliser le nom de l'appareil), l'adresse IP, la batterie et la température, les coordonnées GPS ou un compteur de vitesse. Les incrustations sont dessinées dans la vidéo elle-même : elles apparaissent donc aussi dans les enregistrements de Frigate. Elles sont toutes désactivées par défaut.
- Paramètres d'enregistrement : activez Activer l'enregistrement pour garder une copie de secours sur le téléphone. Les fichiers MP4 sont enregistrés dans
Movies/CamRelayet découpés selon la Durée de segment d'enregistrement (en minutes). Quand le Stockage maximal (Mo) est atteint, les fichiers les plus anciens sont supprimés. - Sécurité & Automatisation : activez Démarrage automatique au démarrage de l'appareil pour que CamRelay reprenne la diffusion après un redémarrage du téléphone. À partir d'Android 10, l'application a aussi besoin de l'autorisation de s'afficher par-dessus les autres applications. Sécurité thermique et Sécurité de la batterie mettent le flux en pause quand le téléphone chauffe trop ou que la batterie est faible, puis le relancent quand tout revient à la normale.
- Optimisation de la batterie : vérifiez que l'optimisation de la batterie est désactivée pour CamRelay, afin qu'Android ne l'arrête pas en arrière-plan.



1.5 Lancer la diffusion et récupérer l'URL
Revenez à l'écran principal et appuyez sur le bouton de lecture. La barre du haut indique la résolution, les FPS, le débit et les codecs utilisés. Le coin inférieur affiche trois adresses, chacune avec un bouton de copie :
rtsp://<phone-ip>:1935/: l'URL RTSP pour Frigate.http://<phone-ip>:8888: l'interface web de CamRelay.http://<phone-ip>:8889/onvif/device_service: le service ONVIF.

Pour une caméra qui reste au même endroit, appuyez sur l'icône lune (Assombrir l'écran) pour éteindre l'affichage. Cela économise de l'énergie et évite le marquage des écrans OLED. Appuyez deux fois pour le rallumer.
Les exemples ci-dessous utilisent rtsp://192.168.1.50:1935/ ; remplacez-la par l'URL affichée par CamRelay. La version actuelle de CamRelay ne demande pas encore d'identifiants en RTSP : utilisez-la uniquement sur un réseau de confiance.
Bientôt : la prochaine mise à jour de CamRelay permettra de définir un nom d'utilisateur et un mot de passe pour protéger le flux RTSP. Il suffira alors de les ajouter à l'URL dans go2rtc, par exemple
rtsp://user:[email protected]:1935/.
Vous pouvez vérifier le flux depuis le serveur Frigate avec ffprobe :
ffprobe -rtsp_transport tcp rtsp://192.168.1.50:1935/
La sortie doit indiquer un flux vidéo h264 et un flux audio (pcm_mulaw avec G.711 ULAW, opus avec OPUS).
Étape 2 : configurer go2rtc dans Frigate
go2rtc, dans Frigate, est le seul à se connecter au téléphone. Il récupère une seule fois le flux RTSP de CamRelay et le partage entre l'enregistrement, la détection, le direct (MSE, WebRTC) et la communication bidirectionnelle. Frigate lui-même lit rtsp://127.0.0.1:8554/camrelay : le téléphone n'a donc jamais à servir plusieurs connexions à la fois. Il chauffe moins et la batterie est préservée.
2.1 Ajouter le flux
Ajoutez un bloc go2rtc à ~/frigate/config/config.yml :
go2rtc:
streams:
camrelay: # même nom que la caméra Frigate
- rtsp://192.168.1.50:1935/ # l'URL affichée par CamRelay
webrtc:
candidates:
- 192.168.1.100:8555 # IP du serveur Frigate
- stun:8555
- Une seule ligne RTSP suffit. Avec un son G.711 ou Opus, go2rtc transmet la vidéo et le son directement au navigateur, sans transcodage
ffmpeg:. Cette même ligne RTSP porte aussi le canal de communication bidirectionnelle. webrtc.candidatesest obligatoire avec Docker classique ; sans cela, WebRTC et le micro ne fonctionnent pas sur le réseau local. Les ports 8555 TCP/UDP ont été ouverts dans « Avant de commencer ».- Quand le flux porte le même nom que la caméra, Frigate l'utilise automatiquement pour le direct. Sinon, définissez
live.streamspour la caméra.
2.2 Codecs et audio
Réglez CamRelay sur la vidéo H.264. Le G.711 est le choix audio le plus simple. D'après la documentation de Frigate, le MSE (le direct par défaut) lit l'AAC ou le PCMA/PCMU, et le WebRTC (utilisé pour la communication bidirectionnelle) lit l'Opus ou le PCMA/PCMU. Seul le G.711 fonctionne directement dans les deux.
| Audio de CamRelay | MSE | WebRTC | Ligne go2rtc supplémentaire |
|---|---|---|---|
| G.711 ULAW / ALAW (PCMU/PCMA) | Oui | Oui | Aucune |
| OPUS | Non | Oui | ffmpeg:camrelay#audio=aac pour l'entendre en MSE |
| AAC | Oui | Non | ffmpeg:camrelay#audio=opus pour le WebRTC |
L'Opus offre un son plus clair que le G.711 (qualité téléphonique à 8 kHz) si vous regardez surtout en WebRTC. Si vous devez utiliser le H.265, ajoutez une ligne de transcodage vidéo et conservez la ligne RTSP :
go2rtc:
streams:
camrelay:
- rtsp://192.168.1.50:1935/
- "ffmpeg:camrelay#video=h264#hardware" # copie H.264 pour les navigateurs
2.3 Communication bidirectionnelle
Pendant la diffusion, CamRelay est toujours prêt à recevoir du son via le backchannel RTSP ; il n'y a aucun interrupteur à activer. go2rtc ouvre ce canal à partir de la ligne RTSP de l'étape 2.1, sans configuration supplémentaire.
Pour parler, ouvrez Frigate en HTTPS sur le port 8971, allez dans le direct de la caméra et appuyez sur le micro ; Frigate passe tout seul en WebRTC. Votre voix sort du haut-parleur du téléphone, au volume défini par Volume de lecture dans CamRelay.
Si une autre application doit aussi parler directement au téléphone, ajoutez #backchannel=0 à la fin de l'URL RTSP pour que go2rtc ne monopolise pas le canal.
2.4 Ajouter la caméra à Frigate
Ajoutez un bloc cameras sous le bloc go2rtc. La caméra relit le flux depuis go2rtc au lieu de se connecter au téléphone :
cameras:
camrelay:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/camrelay # le flux go2rtc de l'étape 2.1
input_args: preset-rtsp-restream
roles:
- record
- detect # exigé par Frigate, rien d'autre à configurer
record:
enabled: true
CamRelay envoie un seul flux (il n'y a pas de sous-flux) : la caméra l'utilise donc à la fois pour l'enregistrement et la détection.
Redémarrez et vérifiez :
docker compose restart frigate
docker logs -f frigate
Pour vérifier go2rtc seul, ajoutez temporairement le port 1984:1984 à docker-compose et ouvrez http://<server-ip>:1984. Le flux camrelay doit avoir une source RTSP avec une vidéo H264 et un son PCMU/PCMA ou OPUS. Quand CamRelay apparaît sur la page d'accueil de Frigate, c'est terminé.
Étape 3 : config.yml complet
Le fichier ci-dessous contient uniquement ce dont CamRelay a besoin : le flux go2rtc, WebRTC, la connexion (pour le HTTPS, nécessaire à la communication bidirectionnelle) et l'enregistrement avec le son.
go2rtc:
streams:
camrelay:
- rtsp://192.168.1.50:1935/ # l'URL affichée par CamRelay, H.264 + G.711 ULAW
webrtc:
candidates:
- 192.168.1.100:8555 # IP du serveur 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 : exigé par Frigate
record:
enabled: true
live:
streams:
CamRelay: camrelay
version: 0.16-0
Dépannage
La plupart des problèmes rencontrés en ajoutant CamRelay à Frigate viennent de l'URL du flux, des codecs ou du réseau.
| Symptôme | Cause fréquente | Solution |
|---|---|---|
| La caméra affiche « No frames received » | Mauvaise URL ou mauvais port, CamRelay ne diffuse pas, ou Android l'a arrêté en arrière-plan | Recopiez l'URL depuis l'écran principal de CamRelay ; vérifiez-la avec ffprobe ; ouvrez http://<ip>:1984 (si exposé) pour voir si go2rtc reçoit le flux |
| Connexion impossible, même sur le même Wi-Fi | Téléphone sous Android 17 sans accès au réseau local ; « isolation des clients » sur le routeur ; réseau invité ; VPN | Autorisez Appareils à proximité pour CamRelay ; désactivez l'isolation des clients/AP ; placez le serveur et le téléphone sur le même réseau principal |
| Image saccadée ou déchirée | Paquets UDP perdus | Ajoutez #transport=tcp à l'URL dans go2rtc |
| Le direct ne se lit pas dans le navigateur | Flux H.265 ou candidats WebRTC manquants | Choisissez H.264 dans CamRelay, ou transcodez avec ffmpeg:...#video=h264 ; définissez webrtc.candidates |
| La connexion coupe de temps en temps | Wi-Fi instable, optimisation de la batterie d'Android, surchauffe du téléphone | Utilisez une IP fixe, laissez le téléphone en charge, désactivez l'optimisation de la batterie pour CamRelay, activez Démarrage automatique au démarrage de l'appareil, utilisez le bouton d'écran assombri ; surveillez la température en haut de l'écran de CamRelay ; consultez les journaux de Frigate sous Settings → System → Logs |
| Pas de son dans le direct | Activer l'audio est désactivé, ou lecture en MSE alors que CamRelay envoie de l'OPUS | Activez l'audio dans CamRelay ; choisissez G.711 ULAW pour avoir le son en MSE comme en WebRTC |
| Le micro ne fonctionne pas | Frigate ouvert en HTTP au lieu de HTTPS, ou port 8555 manquant | Ouvrez Frigate sur https://<ip>:8971 ; exposez le port 8555 TCP/UDP et définissez webrtc.candidates |
Pour demander de l'aide dans les GitHub Discussions de Frigate, joignez votre fichier de configuration, le journal de démarrage et la sortie de ffprobe pour le flux CamRelay. Pour toute question sur CamRelay, appuyez sur Commentaires dans l'écran À propos de l'application.
Télécharger CamRelay sur Google Play
Retrouvez d'autres actualités, guides et applications de Banana Studio sur xnano.net.
Sources : documentation Live View de Frigate pour go2rtc ; le guide de l'utilisateur de CamRelay et la fiche Google Play pour CamRelay.
Related app
CamRelay - Caméra IP en direct via RTSP
Transformez votre téléphone Android en une puissante caméra réseau RTSP.
Related posts
Comment transformer un ancien téléphone Android en caméra de sécurité
Offrez une seconde vie à un ancien téléphone Android en le transformant en caméra de sécurité : placez-le bien, gardez-le alimenté, laissez CamRelay démarrer tout seul après un redémarrage, et regardez ou enregistrez la caméra depuis n'importe quel navigateur sur votre Wi-Fi.
Comment transformer un téléphone Android en caméra en direct
Transformez n'importe quel téléphone Android en caméra en direct en quelques minutes avec CamRelay : accordez les autorisations, appuyez sur le bouton de lecture et regardez le flux dans n'importe quel navigateur web sur votre Wi-Fi. Sans compte, sans cloud, rien à installer sur l'appareil de visionnage.