WebRTC Camera组件的安装和使用

WebRTC Camera组件的安装和使用

WebRTC Camera是一个Home Assistant的自定义组件,它可以让你在浏览器中实时查看摄像机流,无需插件或Flash。它使用了WebRTC技术,可以实现低延迟、高质量、跨平台的视频传输。它还支持多种协议和编码格式,以及自定义快捷键和样式。

安装前的准备

在安装WebRTC Camera组件之前,你需要先安装go2rtc应用作为流媒体服务器。go2rtc是一个开源的项目,它可以实现多种协议和编码格式之间的转换和传输,以及WebRTC的信令和连接。你可以通过以下几种方式安装go2rtc:

  • 基本用户 - 这个组件会自动下载和运行go2rtc的最新版本,你不需要做任何事情。
  • 高级用户 - 安装go2rtc或Frigate 12+的附加组件。
  • 黑客 - 在局域网内的任何服务器上安装go2rtc的二进制文件或Docker。

你可以通过在你的Hass配置文件夹中添加go2rtc.yaml文件来修改go2rtc的设置。

注意:go2rtc会在1984端口上运行一个没有密码的Web界面,你可以在那里看到摄像机的活动流列表。你的局域网内的任何人都可以无密码地访问它们。你可以在go2rtc的配置中禁用这个功能。

安装方法

你可以通过以下两种方法安装WebRTC Camera组件:

  • 方法1:HACS > Integrations > Plus > WebRTC > Install
  • 方法2:手动从最新版本中复制webrtc文件夹到/config/custom_components文件夹。

配置方法

你可以通过以下步骤配置WebRTC Camera组件:

  • Settings > Devices & Services > Add Integration > WebRTC
  • 如果组件不在列表中,你需要清除浏览器缓存。
  • 组件不会创建设备和实体,它只会创建两个服务和一个lovelace自定义卡片。

使用方法

你可以使用lovelace自定义卡片来显示摄像机流。作为url,你可以使用任何go2rtc支持的协议,或者指定go2rtc配置中的流名称。作为实体,你可以使用Hass中几乎任何摄像机。

最简单的示例

type: 'custom:webrtc-camera'
url: 'rtsp://rtsp:12345678@192.168.1.123:554/av_stream/ch0'

或者

type: 'custom:webrtc-camera'
entity: camera.generic_stream  # 改为你的摄像机实体ID

完整的示例

type: 'custom:webrtc-camera'
url: 'rtsp://rtsp:12345678@192.168.1.123:554/av_stream/ch0'

ui: true  # 自定义视频控制,默认为false
title: 我的超级摄像机  # 可选的卡片标题
poster: https://home-assistant.io/images/cast/splash.png  # 流加载时的静态图片
muted: true  # 禁用声音,默认为false

intersection: 0.75  # 当视频元素在屏幕中小于75%时自动停止流,默认为50%
background: true  # 在不显示时运行流(例如为了快速加载视频),默认为false

shortcuts: # 自定义快捷键,默认无
- name: 录制
  icon: mdi:record-circle-outline
  service: switch.toggle
  service_data:
    entity_id: switch.camera_record

mode: webrtc,mse,mp4,mjpeg

PTZ配置示例

如果你的摄像机支持PTZ(平移、倾斜、缩放)功能,你可以使用style参数来调整视频的方向、比例和快捷键的位置。以下是一些示例:

  • 隐藏模式标签
style: '.mode {display: none}'
  • 移动模式标签
style: '.header {bottom: 6px} .mode {position: absolute; bottom: 0px}'
  • 移动头部线
style: '.header {top: unset; bottom: 6px}'

参考资料

如果你想了解更多关于WebRTC Camera组件或WebRTC技术的信息,你可以访问以下链接:

希望这篇教程对你有所帮助。如果你有任何问题或反馈,你可以在GitHub上提交issue