Cómo usar todas las funciones de CamRelay en Frigate NVR
Convierte un móvil Android que ya no usas en una cámara para Frigate NVR: CamRelay transmite RTSP con audio y go2rtc, integrado en Frigate, lo recoge para grabar, ver en directo con sonido y hablar en ambos sentidos. Paso a paso, con un config.yml completo.
On this page
Cómo usar todas las funciones de CamRelay en Frigate NVR
CamRelay lleva un móvil Android a Frigate con una sola URL RTSP. go2rtc, integrado en Frigate, recibe esa transmisión y la comparte con el grabador, la vista en directo y el canal de comunicación bidireccional.
CamRelay es una app de Banana Studio que convierte un móvil en una cámara IP de tu red local. Transmite vídeo H.264 o H.265 con audio Opus, G.711 o AAC. Tiene interfaz web, es compatible con ONVIF y recibe el audio que le devuelven los espectadores a través del backchannel RTSP.
Flujo de datos: móvil con CamRelay → go2rtc (dentro de Frigate) → grabación, directo con sonido, comunicación bidireccional.
La configuración de abajo sigue Frigate 0.16. Algunas claves pueden cambiar en versiones posteriores, así que consulta la documentación oficial de Frigate.
Funciones de CamRelay en Frigate
Las cuatro primeras funciones llegan a Frigate a través de go2rtc. El resto se configuran en la app y mantienen la transmisión activa 24/7.
| Función de CamRelay | Uso en Frigate | Dónde se configura |
|---|---|---|
| Transmisión RTSP H.264/H.265, resolución y FPS de la cámara del móvil | Grabación, detección, directo | go2rtc, paso 2.1 |
| Audio G.711 (PCMU/PCMA), Opus o AAC | Sonido en el directo y en las grabaciones | Códec en la app, paso 2.2 |
| Comunicación bidireccional (backchannel RTSP) | Botón de micrófono en el directo | WebRTC + HTTPS, paso 2.3 |
| Superposición de fecha y hora, nombre de la cámara, IP, batería y temperatura, coordenadas GPS y velocidad | Integradas en la imagen que graba Frigate | En la app, paso 1 |
| Inicio automático al arrancar, pantalla atenuada, pausa por exceso de temperatura o batería baja | Evita que la transmisión se corte | En la app, paso 1 |
| Grabación MP4 en el móvil, gestión de archivos desde el navegador | Grabaciones de respaldo fuera de Frigate | En la app, paso 1 |
| Interfaz web | Comprobar imagen y sonido, cambiar ajustes sin detener la transmisión | Paso 1 |
Antes de empezar
Necesitas:
- Un servidor Frigate instalado y en funcionamiento (consulta la guía de instalación de Frigate), en la misma red local que el móvil.
- Un móvil Android con CamRelay instalado, siempre enchufado y con una dirección IP fija asignada en el router.
- En Android 17: permite a CamRelay el acceso a la red local (Android lo muestra como Dispositivos cercanos). Sin él, Frigate no puede conectarse al móvil. Consulta el artículo sobre CamRelay 1.0.5.
El contenedor de Frigate debe exponer estos puertos para usar todas las funciones de CamRelay:
| Puerto | Uso |
|---|---|
| 8971 | Interfaz web HTTPS de Frigate, necesaria para la comunicación bidireccional |
| 8554 | Retransmisión RTSP de go2rtc |
| 8555 TCP y UDP | WebRTC: directo con sonido y comunicación bidireccional |
Paso 1: configurar CamRelay
CamRelay sigue el idioma del móvil; los nombres de los ajustes de abajo son los de la versión en español. Atención: al abrir Ajustes se detiene la transmisión. Cuando CamRelay ya esté transmitiendo, puedes cambiar los ajustes desde la interfaz web sin detenerla.
1.1 Puerto RTSP
La sección Puertos del servidor muestra el Puerto de transmisión RTSP (por defecto 1935) y el Puerto de la interfaz web (por defecto 8888). Los valores por defecto sirven.

1.2 Vídeo
- En Selección de cámara, elige la cámara que vas a usar (la trasera suele dar mejor imagen).
- Abre los ajustes propios de esa cámara y elige Resolución, Velocidad de fotogramas (FPS) y Tasa de bits de vídeo. Las resoluciones y velocidades disponibles dependen de la cámara del móvil.
- En Ajustes globales de vídeo → Códec de vídeo, elige H.264 para que los navegadores puedan reproducir el directo.
- Deja Intervalo de fotogramas clave (GOP) en 1s (valor por defecto) para que el directo se abra rápido.


Para videovigilancia, 1080p a 15 FPS es suficiente y no sobrecarga el servidor Frigate. H.265 ahorra ancho de banda, pero Frigate tiene que transcodificarlo para el navegador (consulta el paso 2.2).
1.3 Audio
En Ajustes de audio, activa Habilitar audio. El códec de audio de la transmisión se elige en Comunicación bidireccional → Códec de audio bidireccional. Este único ajuste se aplica tanto al sonido que se envía como a la comunicación bidireccional:
- G.711 ULAW: recomendado para Frigate, se reproduce directamente tanto en MSE como en WebRTC (consulta el paso 2.2).
- OPUS: el predeterminado desde Android 10, sonido más claro, pero solo se reproduce por WebRTC.
- G.711 ALAW: solo si el dispositivo que escucha requiere A-law.
- AAC: solo reproducción; la comunicación bidireccional necesita transcodificación.
Deja Modo de audio bidireccional en Comunicación de voz: incluye cancelación de eco, así que la comunicación bidireccional no se acopla.

1.4 Superposiciones, grabación y funcionamiento 24/7
- Superposición de vídeo: muestra la fecha y la hora, un nombre de cámara (Nombre de la cámara; déjalo vacío para usar el nombre del dispositivo), la dirección IP, la batería y la temperatura, las coordenadas GPS o un velocímetro. Las superposiciones se dibujan dentro del propio vídeo, así que también aparecen en las grabaciones de Frigate. Todas vienen desactivadas por defecto.
- Ajustes de grabación: activa Habilitar grabación para tener una copia de respaldo en el móvil. Los archivos MP4 se guardan en
Movies/CamRelay, divididos según la Duración del segmento de grabación (minutos). Al llegar al Almacenamiento máximo (MB), se borran los archivos más antiguos. - Seguridad y automatización: activa Inicio automático al arrancar dispositivo para que CamRelay vuelva a transmitir después de reiniciar el móvil. Desde Android 10, la app también necesita permiso para mostrarse sobre otras apps. Protección contra temperatura y Protección de batería pausan la transmisión cuando el móvil se calienta demasiado o la batería está baja, y la reanudan cuando todo vuelve a la normalidad.
- Optimización de batería: asegúrate de que la optimización de batería está desactivada para CamRelay, para que Android no lo detenga en segundo plano.



1.5 Empezar a transmitir y obtener la URL
Vuelve a la pantalla principal y toca el botón de reproducción. La barra superior muestra la resolución, los FPS, la tasa de bits y los códecs en uso. La esquina inferior muestra tres direcciones, cada una con un botón para copiarla:
rtsp://<phone-ip>:1935/: la URL RTSP para Frigate.http://<phone-ip>:8888: la interfaz web de CamRelay.http://<phone-ip>:8889/onvif/device_service: el servicio ONVIF.

Para una cámara que se queda siempre en el mismo sitio, toca el icono de la luna (Atenuar pantalla) para dejar la pantalla en negro. Así ahorras energía y evitas que las pantallas OLED se marquen. Toca dos veces para reactivarla.
Los ejemplos de abajo usan rtsp://192.168.1.50:1935/; sustitúyela por la URL que muestra CamRelay. La versión actual de CamRelay todavía no pide usuario y contraseña en RTSP, así que úsala solo en una red de confianza.
Próximamente: la próxima actualización de CamRelay permite definir un usuario y una contraseña para proteger la transmisión RTSP. Entonces solo tendrás que añadirlos a la URL en go2rtc, por ejemplo
rtsp://user:[email protected]:1935/.
Puedes comprobar la transmisión desde el servidor Frigate con ffprobe:
ffprobe -rtsp_transport tcp rtsp://192.168.1.50:1935/
La salida debería mostrar una transmisión de vídeo h264 y una de audio (pcm_mulaw con G.711 ULAW, opus con OPUS).
Paso 2: configurar go2rtc en Frigate
go2rtc, dentro de Frigate, es lo único que se conecta al móvil. Recoge una sola vez la transmisión RTSP de CamRelay y la comparte con la grabación, la detección, el directo (MSE, WebRTC) y la comunicación bidireccional. El propio Frigate lee de rtsp://127.0.0.1:8554/camrelay, así que el móvil nunca tiene que atender varias conexiones a la vez. De este modo se calienta menos y ahorra batería.
2.1 Añadir la transmisión
Añade un bloque go2rtc a ~/frigate/config/config.yml:
go2rtc:
streams:
camrelay: # mismo nombre que la cámara de Frigate
- rtsp://192.168.1.50:1935/ # la URL que muestra CamRelay
webrtc:
candidates:
- 192.168.1.100:8555 # IP del servidor Frigate
- stun:8555
- Basta con una línea RTSP. Con audio G.711 u Opus, go2rtc pasa el vídeo y el sonido directamente al navegador, sin transcodificar con
ffmpeg:. La misma línea RTSP lleva también el canal de comunicación bidireccional. webrtc.candidateses obligatorio si usas Docker sin más; sin él, WebRTC y el micrófono no funcionan en la red local. Los puertos 8555 TCP/UDP ya se abrieron en "Antes de empezar".- Cuando la transmisión tiene el mismo nombre que la cámara, Frigate la usa automáticamente para el directo. Si no, configura
live.streamspara la cámara.
2.2 Códecs y audio
Configura CamRelay con vídeo H.264. G.711 es la opción de audio más sencilla. Según la documentación de Frigate, MSE (el directo por defecto) reproduce AAC o PCMA/PCMU, y WebRTC (el que se usa para la comunicación bidireccional) reproduce Opus o PCMA/PCMU. Solo G.711 funciona directamente en los dos.
| Audio de CamRelay | MSE | WebRTC | Línea extra en go2rtc |
|---|---|---|---|
| G.711 ULAW / ALAW (PCMU/PCMA) | Sí | Sí | Ninguna |
| OPUS | No | Sí | ffmpeg:camrelay#audio=aac para oírlo en MSE |
| AAC | Sí | No | ffmpeg:camrelay#audio=opus para WebRTC |
Opus suena más claro que G.711 (calidad telefónica de 8 kHz) si sueles ver el directo por WebRTC. Si tienes que usar H.265, añade una línea de transcodificación de vídeo y conserva la línea RTSP:
go2rtc:
streams:
camrelay:
- rtsp://192.168.1.50:1935/
- "ffmpeg:camrelay#video=h264#hardware" # copia H.264 para los navegadores
2.3 Comunicación bidireccional
Mientras transmite, CamRelay siempre está listo para recibir audio por el backchannel RTSP; no hay ningún interruptor que activar. go2rtc abre este canal a partir de la línea RTSP del paso 2.1, sin configuración adicional.
Para hablar, abre Frigate por HTTPS en el puerto 8971, ve al directo de la cámara y pulsa el micrófono; Frigate cambia a WebRTC por sí solo. Tu voz sale por el altavoz del móvil, al volumen que marque Volumen de reproducción en CamRelay.
Si otra app también necesita hablar directamente con el móvil, añade #backchannel=0 al final de la URL RTSP para que go2rtc no ocupe el canal.
2.4 Añadir la cámara a Frigate
Añade un bloque cameras debajo del bloque go2rtc. La cámara vuelve a leer la transmisión desde go2rtc en lugar de conectarse al móvil:
cameras:
camrelay:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/camrelay # la transmisión de go2rtc del paso 2.1
input_args: preset-rtsp-restream
roles:
- record
- detect # obligatorio en Frigate, no hay nada más que configurar
record:
enabled: true
CamRelay envía una sola transmisión (no hay subtransmisión), así que la cámara la usa tanto para grabar como para detectar.
Reinicia y comprueba:
docker compose restart frigate
docker logs -f frigate
Para comprobar solo go2rtc, añade temporalmente el puerto 1984:1984 a docker-compose y abre http://<server-ip>:1984. La transmisión camrelay debería tener una fuente RTSP con vídeo H264 y audio PCMU/PCMA u OPUS. Cuando CamRelay aparezca en la página de inicio de Frigate, ya está.
Paso 3: config.yml completo
El archivo de abajo contiene solo lo que necesita CamRelay: la transmisión de go2rtc, WebRTC, el inicio de sesión (para HTTPS, necesario para la comunicación bidireccional) y la grabación con sonido.
go2rtc:
streams:
camrelay:
- rtsp://192.168.1.50:1935/ # la URL que muestra CamRelay, H.264 + G.711 ULAW
webrtc:
candidates:
- 192.168.1.100:8555 # IP del servidor 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: obligatorio en Frigate
record:
enabled: true
live:
streams:
CamRelay: camrelay
version: 0.16-0
Solución de problemas
La mayoría de los problemas al añadir CamRelay a Frigate se deben a la URL de la transmisión, a los códecs o a la red.
| Síntoma | Causa habitual | Solución |
|---|---|---|
| La cámara muestra "No frames received" | URL o puerto incorrectos, CamRelay no está transmitiendo o Android lo ha detenido en segundo plano | Vuelve a copiar la URL desde la pantalla principal de CamRelay; compruébala con ffprobe; abre http://<ip>:1984 (si está expuesto) para ver si go2rtc recibe la transmisión |
| No conecta, ni siquiera en la misma Wi-Fi | Móvil con Android 17 sin acceso a la red local; "aislamiento de clientes" en el router; red de invitados; VPN | Permite Dispositivos cercanos a CamRelay; desactiva el aislamiento de clientes/AP; pon el servidor y el móvil en la misma red principal |
| Imagen entrecortada o rota | Paquetes UDP perdidos | Añade #transport=tcp a la URL en go2rtc |
| El directo no se reproduce en el navegador | Transmisión H.265 o faltan los candidatos WebRTC | Elige H.264 en CamRelay o transcodifica con ffmpeg:...#video=h264; configura webrtc.candidates |
| La conexión se corta de vez en cuando | Wi-Fi inestable, optimización de batería de Android, sobrecalentamiento del móvil | Usa una IP fija, mantén el móvil cargando, desactiva la optimización de batería para CamRelay, activa Inicio automático al arrancar dispositivo, usa el botón de atenuar pantalla; vigila la temperatura en la parte superior de la pantalla de CamRelay; revisa los registros de Frigate en Settings → System → Logs |
| No hay sonido en el directo | Habilitar audio está desactivado, o estás viendo en MSE mientras CamRelay envía OPUS | Activa el audio en CamRelay; elige G.711 ULAW para oír el sonido tanto en MSE como en WebRTC |
| El micrófono no funciona | Frigate abierto por HTTP en lugar de HTTPS, o falta el puerto 8555 | Abre Frigate en https://<ip>:8971; expón el puerto 8555 TCP/UDP y configura webrtc.candidates |
Si pides ayuda en las GitHub Discussions de Frigate, incluye tu archivo de configuración, el registro de arranque y la salida de ffprobe de la transmisión de CamRelay. Para preguntas sobre CamRelay, toca Comentarios en la pantalla Acerca de de la app.
Descarga CamRelay en Google Play
Encuentra más noticias, guías y apps de Banana Studio en xnano.net.
Fuentes: documentación de Live View de Frigate para go2rtc; la guía de usuario de CamRelay y la ficha de Google Play para CamRelay.
Related app
CamRelay - Cámara IP en directo mediante RTSP
Convierte tu teléfono Android en una potente cámara de red RTSP.
Related posts
Cómo convertir un móvil Android viejo en una cámara de seguridad
Dale una segunda vida a un móvil Android viejo como cámara de seguridad: colócalo bien, mantenlo enchufado, deja que CamRelay arranque solo tras un reinicio y mira o graba la cámara desde cualquier navegador de tu Wi-Fi.
Cómo convertir un móvil Android en una cámara en vivo
Convierte cualquier móvil Android en una cámara en vivo en pocos minutos con CamRelay: concede los permisos, toca el botón de reproducir y mira la imagen en cualquier navegador web de tu Wi-Fi. Sin cuenta, sin nube y sin instalar nada en el dispositivo desde el que miras.