找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 133|回复: 0

03 Home Assistant 中怎么使用WebRTC Camera

[复制链接]

30

主题

4

回帖

228

积分

管理员

积分
228
发表于 2025-12-14 17:35:34 | 显示全部楼层 |阅读模式

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 地址,直接填进去,效果最好。

codeYaml

type: custom:webrtc-cameraurl: rtsp://admin:password@192.168.1.10:554/h264/ch1/main/av_stream



(注意:请将 url 替换为你自己摄像头的真实地址)

场景 B:使用现有的 HA 摄像头实体

如果你已经在 HA 里通过 Onvif 或其他方式接入了摄像头,可以直接用实体 ID。

codeYaml

type: custom:webrtc-cameraentity: camera.living_room_camera



(注意:将 entity 替换为你 HA 里的摄像头实体 ID)

场景 C:高级配置 (云台控制、样式调整)

如果你的摄像头支持云台 (PTZ),可以添加控制按钮:

codeYaml

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,欢迎淘宝搜索!


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|HomeAssistant 莱特智能 ( 渝ICP备11002672号-1 )

GMT+8, 2026-3-3 03:46 , Processed in 0.069397 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表