WebRTC Camera。它能将 RTSP 流的延迟降低到 1秒以内(甚至是毫秒级),并且支持双向语音。
以下是详细的安装和使用教程:
第一步:准备工作
- Home Assistant 已经安装并运行。
- 已安装 HACS(Home Assistant Community Store)。
- 如果没有安装 HACS,你需要先安装它,这是管理第三方插件的必备工具。
摄像头的 RTSP 地址(例如:rtsp://admin:password@192.168.1.x:554/stream)或者已经在 HA 中添加好的摄像头实体(Entity ID)。
第二步:安装集成 (通过 HACS)
- 打开 Home Assistant 左侧菜单的 HACS。
- 点击 Integrations (集成)。
- 点击右下角的 Explore & Download Repositories (浏览并下载存储库)。
- 在搜索框输入 WebRTC。
- 找到 WebRTC Camera (作者是 AlexxIT),点击进入。
- 点击右下角的 Download 进行下载。
- 下载完成后,必须重启 Home Assistant。
第三步:配置集成
- 重启完成后,进入 HA 左侧菜单的 配置 (Settings) ->设备与服务 (Devices & Services)。
- 点击右下角的 添加集成 (Add Integration)。
- 搜索 WebRTC Camera。
- 点击它进行添加。通常不需要额外配置,直接点击提交即可。它会自动在后台安装并运行 go2rtc 服务器(这是核心流媒体服务)。
第四步:在仪表盘中使用 (前端卡片配置)
这是最关键的一步,你需要将监控画面添加到你的 Lovelace 仪表盘中。
- 进入你的仪表盘页面,点击右上角的 三个点 ->编辑仪表盘 (Edit Dashboard)。
- 点击右下角的 添加卡片 (Add Card)。
- 滑到最下方,选择 手动 (Manual) 卡片(或者搜索 Custom: WebRTC Camera)。
- 在代码编辑器中输入以下 YAML 配置。
场景 A:直接使用 RTSP 地址 (推荐,延迟最低)
如果你知道摄像头的 RTSP 地址,直接填进去,效果最好。
type: custom:webrtc-cameraurl: rtsp://admin:password@192.168.1.10:554/h264/ch1/main/av_stream
(注意:请将 url 替换为你自己摄像头的真实地址)
场景 B:使用现有的 HA 摄像头实体
如果你已经在 HA 里通过 Onvif 或其他方式接入了摄像头,可以直接用实体 ID。
type: custom:webrtc-cameraentity: camera.living_room_camera
(注意:将 entity 替换为你 HA 里的摄像头实体 ID)
场景 C:高级配置 (云台控制、样式调整)
如果你的摄像头支持云台 (PTZ),可以添加控制按钮:
type: custom:webrtc-cameraurl: rtsp://admin:password@192.168.1.10:554/stream
# 开启 PTZ 控制 (需要摄像头支持 Onvif 并且 HA 已配置)
ptz:
service: onvif.ptz
data_left:
entity_id: camera.my_camera
pan: LEFT
data_right:
entity_id: camera.my_camera
pan: RIGHT
data_up:
entity_id: camera.my_camera
tilt: UP
data_down:
entity_id: camera.my_camera
tilt: DOWN
第五步:进阶问题与外网访问 (重要)
在局域网内,上述配置通常即插即用。但如果你需要在外网(使用流量或公司Wi-Fi)访问家里的 HA 并查看低延迟监控,会涉及到网络穿透问题。
WebRTC 协议依赖 UDP 连接,而路由器通常会阻挡这些连接。
解决方法:配置端口映射
该集成默认使用 8555 端口进行视频流传输。
- 登录你的路由器后台。
- 找到 端口转发 (Port Forwarding) 设置。
- 添加一条规则:
- 外部端口: 8555
- 内部 IP: 你 Home Assistant 的 IP 地址
- 内部端口: 8555
- 协议: TCP + UDP
如果你使用的是 Docker 安装的 HA,确保在启动 Docker 容器时映射了 8555 端口 (-p 8555:8555/tcp -p 8555:8555/udp)。
常见故障排除 (FAQ)
1. 画面显示 “MSE” 而不是 “WebRTC”,且有延迟?
- 这说明 WebRTC 连接失败,回退到了 MSE 模式。通常是因为网络问题(如外网未开放 UDP 端口)或浏览器不支持。
- H.265 编码问题:WebRTC 在大多数浏览器(尤其是 Chrome/桌面端)不支持 H.265 (HEVC) 编码。请进入摄像头后台设置,将视频编码改为 H.264。
2. 手机 App 上看不了?
- 确保 Home Assistant App 已更新到最新版。
- 如果是 iOS,检查是否开启了本地网络权限。
3. 如何启用双向语音?
- 这需要摄像头支持双向语音标准,并且配置相对复杂(通常需要编辑 go2rtc.yaml 文件)。如果只需要看画面,基础配置即可。
4. 画面一直是绿屏或花屏?
- 90% 是因为摄像头输出了 H.265 格式。请务必改为 H.264。
总结
核心流程就是:HACS 安装 -> 重启 -> 添加集成 -> 仪表盘添加 custom:webrtc-camera 卡片。一旦配置成功,你会发现画面几乎是实时的,体验会有质的飞跃。发帖者介绍-莱特智能成立于2010年,专注智能家居整体解决方案,Now ALL IN HA,欢迎淘宝搜索!