go2rtc 监控流媒体网关:零依赖,3 步装完 RTSP 转 WebRTC 神器
【免费下载链接】go2rtcUltimate camera streaming application项目地址: https://gitcode.com/GitHub_Trending/go/go2rtc
go2rtc 是一个监控流媒体应用:把你摄像头的 RTSP 地址接进来,立刻对外吐出 WebRTC、HLS、RTMP、HTTP-FLV 等十几种格式。零依赖、开箱即跑,本教程带你三步完成 go2rtc 安装。
为什么值得装
- ✅ 一条摄像头地址,同时以 RTSP / WebRTC / HLS / RTMP / HTTP-FLV / MJPEG 输出,浏览器、NAS、手机 App 各取所需
- ✅ 纯 Go 编写,零依赖零配置,Windows / macOS / Linux / ARM 单文件即跑,无需装任何外部库
- ✅ 原生协议直通,端到端延迟压到最低,看监控画面几乎无感
- ✅ 自带 WebUI:改配置、看日志、画网络拓扑都在浏览器里完成
动手前检查(环境检查清单)
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows / macOS / Linux / ARM(树莓派等开发板亦可) |
| 网络 | 能访问摄像头局域网地址;本机 1984 等端口未被占用 |
| 可选依赖 | FFmpeg:仅跨编码转码时需要,不装也不影响原生流 |
三步装完(go2rtc 下载 + 安装)
1️⃣ 获取 go2rtc 代码
打开终端,把源码拉到本地:
git clone https://gitcode.com/GitHub_Trending/go/go2rtc.git cd go2rtc2️⃣ 确认依赖
- 运行版:无依赖,拉下代码即可构建,什么都不用装
- FFmpeg:只在 H.265 转 H.264 这类转码场景需要,可装可不装
- 图省事可直接用 Docker 镜像,里面已内置 FFmpeg,开箱即用
3️⃣ 构建二进制并启动
go build -o go2rtc chmod +x go2rtc # Linux / macOS 需要,Windows 跳过 ./go2rtc启动后如何验证
浏览器打开http://localhost:1984/,能进 WebUI 就算成功。点顶部net页签,能看到流媒体实时拓扑图:
改配置:顶部config页签直接编辑go2rtc.yaml,加一行即可接入摄像头,点 Save & Restart 生效:
streams: hall: rtsp://admin:pass@192.168.1.12/h264更多字段参考 应用配置说明。
日常三条命令:
| 操作 | 最短做法 |
|---|---|
| 启动 | 前台./go2rtc;后台 Linux/macOSnohup ./go2rtc > app.log 2>&1 &(Windows 用 PowerShell.\go2rtc.exe *> app.log) |
| 停止 | 前台按 Ctrl+C;后台pkill go2rtc |
| 改配置 | WebUI 的 config 页签,或直接编辑同目录go2rtc.yaml |
常见问题
没有 FFmpeg 能用吗
能。RTSP / WebRTC / HLS 等原生协议流全部正常;只有跨编码转码(如 H.265 转 H.264)会不可用,装上 FFmpeg 后按需自动调用。
怎么确认启动成功
终端持续打印监听日志,且浏览器能打开 1984 端口的 WebUI;接入流后在页面里试播,延迟几乎为零即正常。
端口被占用怎么办
改go2rtc.yaml中对应服务的 listen 字段即可,默认端口:API 1984、RTSP 8554、WebRTC 8555。
克隆、构建、运行——三步落地,改一行 YAML,任意摄像头立刻变成多协议、低延迟的监控流媒体源。
【免费下载链接】go2rtcUltimate camera streaming application项目地址: https://gitcode.com/GitHub_Trending/go/go2rtc
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考