
群晖 NAS 部署 go2rtc如何把 UniFi Protect 摄像头变成低延迟流媒体【免费下载链接】go2rtcUltimate camera streaming application项目地址: https://gitcode.com/GitHub_Trending/go/go2rtc这是一份在群晖SynologyNAS 上部署 go2rtc 的完整教程。go2rtc 是一个轻量级的摄像头流媒体网关能把 UniFi Protect 摄像头的 RTSP 流转成浏览器、VLC、Home Assistant 都能直接消费的格式全程零延迟、无需转码。为什么接这路流UniFi Protect 自带的录像查看体验不错但它的流格式是私有加密的第三方播放器、录像机比如 Frigate根本接不进去。go2rtc 的作用就是把这路私有流翻译成标准协议你从 Protect 控制台拿到 RTSP 地址填进 go2rtc之后就能用 RTSP、HLS、WebRTC 等任意标准方式取流。好处很直接同一路线流既能在浏览器里秒开也能喂给 NAS 上的任何录像与识别软件。动手前准备按清单确认一遍后面就不会卡壳一台运行 DSM 7 的群晖 NAS已安装 Container ManagerUniFi Protect 控制台网页或 App能正常打开并已完成一次摄像头配对在 Protect 控制台中找到目标摄像头点选后获取它的 RTSP 流地址形如rtsps://192.168.1.1:7441/一段32位token——token 就是那串随机字符相当于这路流的一次性门票摄像头与 NAS 在同一局域网内或已做好路由器端口转发跨网段才需要容器怎么建在 Container Manager 里拉取官方多架构镜像amd64/arm64 都支持创建容器时映射三个端口每个端口的用途如下1984WebUI 和管理 API 端口你配流、看流、调 API 都走这里8554RTSP 输出端口配好流之后rtsp://NAS_IP:8554/流名就是标准 RTSP 地址供 VLC、录像系统拉流8555WebRTC 端口TCPUDP浏览器低延迟播放走这里跨网段访问时需要 UDP 能通创建完成后无需预先注入任何环境变量或挂载文件配置全部通过 WebUI 在线完成改完即时生效。流地址怎么填浏览器访问http://NAS_IP:1984进入「配置」标签页把流加进 YAML。以 UniFi Protect 为例最小可运行配置只有两行streams: unifi_cam1: rtspx://192.168.1.1:7441/fD6ouM72bWoFijxK逐项说明unifi_cam1是流名你自己起后面所有播放地址都引用它建议和摄像头实际位置对应rtsps换成rtspxProtect 的 RTSP 证书是自签的rtspx前缀会跳过证书校验这是官方文档明确推荐的写法192.168.1是 Protect 所在网关的 IP7441是它对外提供 RTSP 的固定端口fD6ouM72bWoFijxK替换成你控制台上看到的 token。注意如果 Protect 给你的地址带了?enableSrtp后缀请删掉go2rtc 侧不需要也不接受这个参数一台摄像头如果有多路流主码流/子码流、不同编码可以写成一个列表go2rtc 会按序自动选择可用的那路格式就是流名 若干行地址更多源写法ONVIF、ffmpeg 兜底等可以参考项目内的 internal/rtsp/README.md里面按品牌列了推荐参数。三步验证保存配置后用下面任一方式确认流通了WebUI 播放器打开http://NAS_IP:1984/在播放器标签页选unifi_cam1能出画面即成功HLS 取流浏览器直接打开http://NAS_IP:1984/api/stream.m3u8?srcunifi_cam1能看到画面说明 HLS 协议转换正常RTSP 客户端用 VLC 打开rtsp://NAS_IP:8554/unifi_cam1这代表外部系统Home Assistant、Frigate 等可用的标准入口已经就绪如果三种方式都打不开基本可以定位到是流名写错或配置没保存——注意配置页右下角的保存按钮没点的话改的只是草稿。常见坑报错stream not found→ 访问时用的流名和 YAML 里的 key 不完全一致大小写、下划线都算→ 逐字核对流名确认配置已保存生效画面卡在转圈或黑屏→ token 过期或复制串了字符 → 回 Protect 控制台重新生成 RTSP 流整段替换不要只改其中几位配了rtsps://报证书错误→ 自签证书不被信任 → 改用rtspx://前缀并删掉?enableSrtp后缀局域网能播、外网 WebRTC 不通→ 8555 的 UDP 没做转发TCP 单转不够 → 路由器上同时放行 8555 的 TCP 和 UDP或者外网场景退而用 HLS/RTSP 取流偶发花屏、撕裂→ 部分摄像头私有 RTSP 实现不稳定 → 把源改成ffmpeg:rtspx://...形式让 FFmpeg 做协议层兜底不启用转码时基本不额外占 CPU可选增强几条按需开启不必一次全上给 RTSP 输出加密码在配置里给rtsp段填username/password本机回环访问自动豁免适合流会被外网碰到的场景WebUI 加 Basic 认证api段同样支持username/password转码与画质控制源写成ffmpeg:前缀后可在参数里指定分辨率、码率需要时才付出转码开销推流外发publish段可以把任意流实时推到 YouTube Live、Telegram 等支持 RTMP 的目标自动预热preload段指定开机即拉起的流让录像系统永远面对一条热的流流名对了、端口通了UniFi Protect 的私有流就彻底接进了标准流媒体世界——剩下的只是把更多摄像头按同样格式加进streams而已。【免费下载链接】go2rtcUltimate camera streaming application项目地址: https://gitcode.com/GitHub_Trending/go/go2rtc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考