Componente personalizado de Home Assistant para visualización en tiempo real de casi cualquier transmisión de cámara utilizando WebRTC y otras tecnologías.
A partir de la versión 3, el servidor de transmisión se cambió de RTSPtoWebRTC a go2rtc.
go2rtc
Instalación
Configuración
Tarjeta personalizada
Plantillas
audio bidireccional
Instantáneas a Telegram
Transmitir o compartir transmisión
Transmitir a la cámara
Preguntas frecuentes
Depurar
Cámaras de trabajo conocidas
Este componente utiliza la aplicación go2rtc como servidor de streaming:
latencia de transmisión más baja posible para muchos protocolos compatibles
transmisión desde RTSP, RTMP, HTTP (FLV/MJPEG/JPEG), cámaras HomeKit, cámaras USB y otras fuentes
transmisión a RTSP, WebRTC, MSE/MP4 o MJPEG
Admite códecs populares H264/H265, AAC, PCMU/PCMA, OPUS
transcodificación sobre la marcha para códecs no compatibles a través de FFmpeg
Selección automática de tecnología de transmisión basada en códecs de transmisión, capacidades del navegador y configuración de red.
¡Lea más en los documentos de go2rtc!
Puedes instalar go2rtc de varias maneras:
Usuarios básicos : este componente descargará y ejecutará automáticamente la última versión de go2rtc, no necesita hacer nada usted mismo.
Usuarios avanzados : instale el complemento go2rtc o Frigate 12+.
Hakers : instale go2rtc como binario o Docker en cualquier servidor en LAN.
Puede cambiar la configuración de go2rtc agregando el archivo go2rtc.yaml
a su carpeta de configuración de Hass.
Importante. go2rtc ejecuta su propia interfaz web en el puerto 1984
sin contraseña. Allí puede ver una lista de transmisiones de cámaras activas. Cualquiera en su LAN puede acceder a ellos sin contraseña . Puede desactivar esto en la configuración de go2rtc.
PD. También hay otra buena tarjeta compatible con go2rtc: Frigate Lovelace Card.
Método 1. HACS > Integraciones > Plus > WebRTC > Instalar
Método 2. Copie manualmente la carpeta webrtc
de la última versión a la carpeta /config/custom_components
.
La custom_card
se registrará automáticamente en la interfaz de usuario de Home Assistant, excepto cuando esté administrando la interfaz de usuario en modo YAML. Si está administrando la interfaz de usuario en modo YAML, agregue esto a sus recursos de interfaz de usuario para que funcione la tarjeta custom:webrtc-camera
:
URL: /webrtc/webrtc-camera.jstipo: módulo
Actualiza tu navegador
Configuración> Dispositivos y servicios> Agregar integración> WebRTC
Si la integración no está en la lista, debe borrar el caché del navegador.
El componente no crea dispositivos ni entidades . Crea sólo dos servicios y una tarjeta personalizada de Lovelace.
Como url
puedes usar:
cualquier protocolo soportado por go2rtc ( rtsp
, rtmp
, http
, onvif
, dvrip
, homekit
, roborock
, etc.)
name
de la transmisión desde la configuración de go2rtc
Plantilla Jinja2
(debe representar el protocolo compatible o name
de la transmisión)
Como entity
puedes utilizar casi cualquier cámara Hass.
Como poster
puedes utilizar:
http
-link (debe ser un enlace disponible públicamente)
entity
de cámara de Hass
name
de la transmisión desde la configuración de go2rtc
Plantilla Jinja2
(debe representar entity
de la cámara o name
de la transmisión)
Mínimo
escriba: 'personalizado:webrtc-camera'url: 'rtsp://rtsp:[email protected]:554/av_stream/ch0'
o
tipo: 'custom:webrtc-camera'url: 'camera1' # nombre de transmisión de go2rtc.yaml
o
escriba: 'custom:webrtc-camera'entity: camera.generic_stream # cambie a su cámara entidad_id
o
escriba: 'personalizado:webrtc-camera'transmisiones: - url: go2rtc_stream_hdname: HD # el nombre es opcionalmodo: webrtc # el modo es opcionalmedia: video # los medios son opcionales - URL: go2rtc_stream_sdname: SDmode: msemedia: audio
PD. Puede cambiar la transmisión activa haciendo clic en la etiqueta mode
. O haciendo clic en el name
de la transmisión con ui: true
.
Lleno
¡Todas las configuraciones son opcionales! Sólo se requiere configuración: url
o entity
o streams
.
escriba: 'custom:webrtc-camera'url: 'rtsp://rtsp:[email protected]:554/av_stream/ch0'entity: camera.generic_streammode: webrtc,webrtc/tcp,mse,hls,mjpeg # tecnología de transmisión , predeterminado todos los medios: video, audio # seleccione solo pista de video o audio, predeterminado ambosservidor: http://192.168.1.123:1984/ # dirección de servidor go2rtc personalizada, vacío predeterminado: verdadero # controles de video personalizados, predeterminado falsedigital_ptz: # zoom digital y desplazamiento mediante mouse/táctil, valores predeterminados: mouse_drag_pan: verdadero mouse_wheel_zoom: verdadero mouse_double_click_zoom: verdadero touch_drag_pan: verdadero touch_pinch_zoom: verdadero touch_tap_drag_zoom: verdadero persistir: verdadero # el factor de zoom y la posición de la ventana gráfica sobreviven a las recargas de la página # digital_ptz: falso # para deshabilitar todo el zoom digital táctil/del mouse y pantitle: Mi súper cámara # póster de título de tarjeta opcional: https://home-assistant.io/images/cast/ splash.png # imagen fija cuando la transmisión se está cargando silenciada: verdadero # estado de alternancia de silencio inicial, el valor predeterminado es falso (no silenciado) intersección: 0.75 # parada automática de la transmisión cuando menos del 75% del elemento de video está en el pantalla, 50% por defectofondo: verdadero # ejecutar transmisión cuando no se muestra (por ejemplo, para carga rápida de video), accesos directos falsos predeterminados: # accesos directos personalizados, predeterminado ninguno- nombre: Grabar icono: mdi: registro-círculo-esquema servicio: switch.toggle service_data:entity_id: switch.camera_record
Controles de panorámica, inclinación y zoom: ejemplos de configuración PTZ.
En pausa por defecto
tipo: personalizado: webrtc-cameraposter: dahua1-snap # nombre de transmisión de go2rtc.yaml (http-snapshot) transmisiones: - url: '' # URL vacía, por lo que solo se mostrará el póster - url: dahua1 # nombre de la transmisión de go2rtc.yaml (rtsp-stream)
Problema con la relación de aspecto del vídeo
estilo: "vídeo {relación de aspecto: 16/9; ajuste de objeto: relleno;}"
Rotación de vídeo
En el cliente (CPU libre):
estilo: 'video {transformar: rotar (90 grados); relación de aspecto: 1}'
En el servidor: transcodificación FFmpeg (alto costo de CPU)
Ocultar etiqueta de modo
estilo: '.modo {pantalla: ninguno}'
Ocultar botón de pantalla completa
estilo: '.fullscreen {display: none}'
Ocultar botón de captura de pantalla
estilo: '.captura de pantalla {display: none}'
Ocultar botón PIP
estilo: '.pictureinpicture {display: none}'
Posición de atajos
estilo: ".shortcuts {izquierda: sin configurar; arriba: 25px; derecha: 5px; pantalla: flex; dirección flexible: columna}"
Posición PTZ
estilo: ".ptz {derecha: sin configurar; izquierda: 10px}"
Posición de la etiqueta de modo
estilo: '.header {abajo: 6px} .mode {posición: absoluta; abajo: 0px}'
Posición de la línea de encabezado
estilo: '.header {arriba: sin configurar; abajo: 6px}'
Nuevo en v3.6.0.
Opciones de tarjeta: shortcuts
, style
y ptz
compatibles con plantillas JavaScript
En shortcuts
y style
puedes usar plantillas relacionadas con states
.
En ptz
puedes usar plantillas relacionadas con streamName
/ streamID
(útil para tarjetas con múltiples plantillas)
atajos: - nombre: Barn Lighticon: ${ estados['light.yeelight_lamp'].state === 'encendido'? 'mdi:lámpara-exterior':'mdi:lámpara' }servicio: light.toggleservice_data: entidad_id: light.yeelight_lamp
ptz: servicio: notificar.notificación_persistente data_left:message: Se hizo clic en ${ this.streamName } data_right:message: Justo al hacer clic en ${ this.streamID }
Nuevo en v3.4.0.
Sólo para fuentes soportadas en go2rtc
Sólo para Hass con acceso HTTPS, esta limitación es de los navegadores.
Sólo para modo WebRTC
¡HTTPS también es importante para la aplicación móvil Hass!
Debes agregar microphone
al parámetro media
. Puedes usar dos transmisiones: una con micrófono y la segunda sin:
escriba: 'personalizado:webrtc-camera'transmisiones: - URL: go2rtc_stream - URL: go2rtc_streammode: webrtcmedia: vídeo, audio, micrófono
PD. Para la aplicación móvil Hass, asegúrese de poder utilizar el micrófono con el asistente integrado.
leer más
Los componentes admiten la transmisión a dispositivos Google Cast Chromecast (incluidos Android TV y Google Smart Screen). Leer más en wiki.
También el componente admite la creación de un enlace temporal o permanente a una transmisión sin compartir el acceso con su Home Assistant. Leer más en wiki.
Nuevo en v3.1.0.
go2rtc admite la reproducción de archivos de audio (por ejemplo, música o TTS) y transmisiones en vivo (por ejemplo, radio) en cámaras con soporte de audio bidireccional. Necesitas:
Compruebe si su cámara admite una fuente de audio bidireccional
Configurar la transmisión de la cámara en la configuración go2rtc.yaml
Verifique el códec de audio que admite su cámara
Cree reproductores multimedia virtuales para sus cámaras en configuration.yaml
:
reproductor_media: - plataforma: webrtcname: Dahua Camerastream: dahuaaudio: pcmu/48000 - plataforma: webrtcname: Tapo Camerastream: tapoaudio: pcma
P. El acceso externo con WebRTC no funciona
R. Lea más y no cree nuevos problemas.
P. El audio no funciona
R. Compruebe qué códec de audio emite su cámara. ¿Y qué tecnología utilizas para ver vídeos? Diferentes tecnologías admiten diferentes códecs.
Agregue a su configuration.yaml
:
registrador: predeterminado: advertencia registros:custom_components.webrtc: depurar
Marca | Modelos | Comentario |
---|---|---|
Cámara activa | AC-D2121IR3 | |
Cámara activa | AC-D7121IR1W | sonido de soporte |
Androide | Cámara web IP profesional | sonido de soporte, rtsp://192.168.1.123:8080/h264_ulaw.sdp |
C-tronics | CTIPC-690C | sonido de soporte, principal: rtsp://username:[email protected]:554/11 o onvif://username:[email protected]:8080?subtype=MainStreamProfileToken |
dahua | DH-IPC-HDPW1431FP-AS-0280B, VTO2211G-P | sonido de soporte |
dahua | VTO2202F-P-S2 | leer más |
EZVIS | C3S | rtsp://admin:[email protected]:554/h264/ch01/main/av_stream y /h264/ch01/sub/av_stream |
EZVIS | C3W, C3WN, C6CN, C6T | rtsp://admin:[email protected]:554/h264_stream |
EZVIS | C8C | rtsp://admin:[email protected]:554/channel80 |
Foscam | C1 | rtsp://user:[email protected]:554/videoMain |
Foscam | C2M, R2M | rtsp://user:[email protected]:88/videoMain |
Seguridad GW | GW5088IP | rtsp://192.168.1.123:554/mpeg4cif?username=admin&password=123456 |
Seguridad GW | GW5078IP | rtsp://192.168.1.123:554/stream0?username=admin&password=123456 |
Seguridad GW | GW5071IP | Aún no funciona, algo similar a rtsp://admin:[email protected]:554/live/main o rtsp://192.168.0.207:554/live/main?username=admin&password=123456 |
Hikvisión | DS-2CD2T47G1-L, DS-2CD1321-I, DS-2CD2143G0-IS | rtsp://user:[email protected]:554/ISAPI/Streaming/Channels/102 |
Hikvisión | IPC-HDW3849H-AS-PV, IPC-EW5531-AS | cableado al nvr DHI-NVR2108HS-8P-I usando un componente personalizado |
Imou | IPC-F42-B2E3 (bala 2C 4MP) | rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0 |
QNAP | QUSBCam2 | rtsp://username:[email protected]:554/channel1 documentos |
Frambuesa Pi | PiCam | leer más |
Reoenlace | RLC-410, RLC-410W, RLC-510WA, E1 Pro, E1 Zoom, 4505MP | Sonido compatible con RLC-510WA, sonido compatible con zoom E1, PTZ y zoom |
Reoenlace | E1 | rtsp://admin:[email protected]:554/h264Preview_01_main |
Sonoff | GK-200MP2-B | admite sonido y PTZ, rtsp://rtsp:[email protected]:554/av_stream/ch0 y /av_stream/ch1 |
SriHome | SH035 | rtsp://192.168.xxx.xxx:8554/profile0 y /profile1 y /profile2 |
Topvico | rtsp://192.168.1.123:8554/stream0 o rtsp://192.168.1.123:554/ch0_0.264 | |
TP-Link | Tapón C100/C200/C210/C220/C310 | rtsp://user:[email protected]:554/stream1 y /stream2 |
TVT/Secutech | NVR-0808B2-8P | rtsp://user:[email protected]:554/chID=1&streamType=main y chID=2&streamType=main |
TVT/Secutech | IPC5-DF28SN | rtsp://user:[email protected]:554/profile1 y /profile2 |
Unifi | G4 Dome, timbre G4, G3 Bullet, G3 Flex | Copie el enlace rtsps de la configuración de la cámara en Unifi Protect, pero cambie el enlace a rstp:// (el valor predeterminado es rstps://), cambie el puerto a 7447 y elimine cualquier parámetro de consulta. |
Wyze | Leva v2/v3, Leva Pan v1/v2 | sonido de apoyo |
Xiaomi | Dafang | con hack, rtsp://192.168.1.123:8554/unicast Vídeo: H264, tamaño: 1920x1080, velocidad de bits: 1000, formato: VBR, velocidad de fotogramas: 10 Audio: PCMU, tasa de entrada: 8000, tasa de salida: 44100 |
Yale | SV-4CFDVR-2 | rtsp://admin:[email protected]/cam/realmonitor?channel=1&subtype=0 |
yi | Conjunto de chips Hi3518e | con hack |
yi | Conjunto de chips MStar Infinity | con hack |