go2rtc 直连小米摄像头 RTSP:接入 NVR、HomeKit 与 Frigate

记录使用 go2rtc 直接获取小米摄像头 RTSP 流,并接入 NVR、HomeKit、Frigate 的配置方法。

这篇记录如何用 go2rtc 直接拉取小米摄像头流,并统一分发给 NVR、HomeKit、Frigate。

Docker 部署示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
services:
  go2rtc:
    container_name: go2rtc
    image: alexxit/go2rtc:master-hardware
    restart: always
    network_mode: host
    privileged: true
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /vol1/1000/docker/go2rtc:/config

go2rtc 后台地址:

1
http://192.168.3.217:1984/

流配置示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
streams:
    micam1:
     - xiaomi://xxx
    #H265转H264,Homekit预览会用到
    #micam1_h264:
     #- ffmpeg:micam1#video=h264#width=1280#height=720#hardware#raw=-r 15
    micam2:
     - xiaomi://xxx
    micam3:
     - xiaomi://xxx

RTSP 流地址格式:

1
rtsp://192.168.3.217:8554/micam1

画质与参数

画质由 05 指定:

  • 0 通常表示自动
  • 1 表示 sd
  • 2 表示 hd(go2rtc 默认)

有些新摄像头的 HD 可能在 3。旧型号在 3 可能出现损坏的编解码配置,所以不建议一刀切。

你可以通过 subtype=hd/sd/auto/0-5 指定画质:

1
2
streams:
  xiaomi1: xiaomi://***&subtype=sd

双摄场景可使用第二通道参数 channel=2

1
2
streams:
  xiaomi1: xiaomi://***&channel=2

小结

用 go2rtc 统一拉流后,RTSP 可以同时供 NVR 录像、Frigate 分析、HomeKit 预览,维护成本会低很多。

参考链接

  • 摄像头支持列表:https://github.com/AlexxIT/go2rtc/issues/1982
  • 官方说明出处:https://github.com/AlexxIT/go2rtc/blob/master/internal/xiaomi/README.md
  • Docker 镜像:https://hub.docker.com/r/alexxit/go2rtc
记录并分享
使用 Hugo 构建
主题 StackJimmy 设计