Go2rtc:
一款功能强大的通用摄像头流媒体服务器,专为解决安防监控领域的视频协议兼容性与低延迟传输难题而设计。它能够作为一个高效的中转网关,将各类传统的监控视频流汇聚并转换为现代化的 Web 友好协议。

TIP:由于 Go2rtc 功能非常多,就不展开详细介绍,本篇主要简单介绍如何配置小米摄像头获取 RTSP 地址
安装
Docker Compose
services:
go2rtc:
image: alexxit/go2rtc:latest
container_name: go2rtc
network_mode: host
privileged: true
ports:
- 1984:1984
environment:
- TZ:Asia/Shanghai
volumes:
- ./config:/config
restart: always
参数说明(更多参数建议去看文档)
:::TZ(环境变量):设置时区
/config(路径):配置文件
:::
网络模式选择:
官方默认使用 host 模式,当然也可以桥接只暴露常用的 1984 和 8554 端口。至于为什么额外多写了 1984 端口,是为了 NAS 系统 Docker 里有跳转链接,所以也将端口号标出来。
使用
浏览器中输入 http://NAS的IP:1984 就能看到界面

点击顶部导航栏的“add”按钮

滑动到最底部就能看到“Xiaomi”,点击展开

填写小米账号信息(手机号和密码)进行登录

登录成功之后,点击加载设备

等下会用到这个 URL 链接(如果后面联动其他容器应用也是要的)

来到 config 页面,需要先配置才能正常使用

TIP:下面出现的参数说明
小米在 go2rtc 的画质等级subtype=0:auto(自动)subtype=1:SD(标清)subtype=2:HD(高清)subtype=3:FHD(超清)subtype=4–5:部分新机型更高画质video=copy视频不转码、直接复制,省 CPU、低延迟audio=pcmu音频转成 PCMU 格式,浏览器 / 网页播放兼容最好
需要先配置视频流,参考下面的格式
streams: xiaomi_auto: - "xiaomi_url&subtype=0#video=copy#audio=pcmu" xiaomi_4k: - "xiaomi_url&subtype=3#video=copy#audio=pcmu"

替换 xiaomi_url 为之前获取的 URL 链接,点击保存重启

跳转到首页,就能看到添加的视频流

可以正常直接打开观看

回到 config 页面,下面还需要配置当前 Go2rtc 后台用户名和密码
api: listen: ":1984" # 网页后台端口 username: admin password: "password"

再次刷新网页,就需要用户名和密码才能登录了

接下来配置 RTSP 协议流的用户名和密码,避免直接暴露
rtsp: listen: ":8554" # RTSP 端口 username: admin password: "password"

TIP:访问 RTSP 的格式
# 无密码rtsp://NAS的IP:8554/xiaomi_autortsp://NAS的IP:8554/xiaomi_4k# 开启密码认证rtsp://admin:password@NAS的IP:8554/xiaomi_autortsp://admin:password@NAS的IP:8554/xiaomi_4k
这样基本都配置完,可以复制 RTSP 流连接到其他需要软件上调用了

总结
Go2rtc 是一款通用摄像头流媒体服务器,能把各品牌摄像头的视频流转换为 RTSP/WebRTC/HLS 等通用协议,方便接入 Home Assistant、Frigate 等平台。以小米摄像头为例,登录小米账号即可获取 RTSP 流,跟着教程配置不难,但自己折腾还是有一定门槛。家里有摄像头想接入智能家居或 NAS 监控的,值得一试。
综合推荐:⭐⭐⭐(功能强大,摄像头接入智能家居的桥梁)
使用体验:⭐⭐⭐(兼容性强,但配置有门槛)
部署难易:⭐⭐⭐(参数较多,配置文件需要手写 YAML)︎
