go2rtc:终极摄像头流媒体应用,支持几乎所有主流协议
你是否曾经被摄像头流媒体协议众多、延迟高、集成复杂所困扰?go2rtc 的出现,旨在彻底解决这个问题。它是一个用 Go 编写的零依赖、跨平台摄像头流媒体应用,支持 RTSP、RTMP、WebRTC、HLS、MSE、MP4、MJPEG、HomeKit、FFmpeg 等数十种格式和协议,可以帮助开发者以极低的延迟接入任意摄像头并输出到任何平台。本文将带你全面了解这个潜力新星。
截至收录:
go2rtc stars数:13953
go2rtc forks数:1264
go2rtc项目目录截图

go2rtc项目核心亮点
🌟 零依赖单文件部署:无需安装任何运行时或依赖库,一个二进制文件即可运行在 Windows、macOS、Linux、FreeBSD 等主流系统上,同时还提供 Docker 镜像和 Home Assistant 插件,做到开箱即用。
⚡ 超低延迟直播:为 WebRTC、RTSP 等协议提供最低可达的流媒体传输延迟,几乎可以实现“零延迟”的实时画面,非常适合安防监控、门铃对讲等对时效性要求极高的场景。
🔌 全协议覆盖:不仅支持 RTSP、RTMP、ONVIF、HomeKit、WebRTC 等输入,还支持 HLS、MP4、MJPEG、RTMP、WebTorrent 等输出,并能以多种格式进行流媒体 ingest,或直接推流到 YouTube、Telegram 等平台。
🧠 智能编码协商与按需转码:自动匹配客户端支持的编码格式和流媒体协议,仅在必要时通过 FFmpeg 进行硬件加速转码,避免多余开销,同时保证跨设备、跨浏览器的兼容性。
go2rtc项目快速开始
只需几步,你就能在本地运行起 go2rtc:
- 安装:
# 使用 Docker(推荐,内置 FFmpeg)
docker run -d --name go2rtc -p 1984:1984 -p 8554:8554 -p 8555:8555 alexxit/go2rtc
# 或者直接下载二进制(以 Linux 为例)
wget https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64
chmod +x go2rtc_linux_amd64
./go2rtc_linux_amd64
- 启动服务并打开 Web 界面:
open http://localhost:1984
# 或浏览器直接访问 http://localhost:1984
- 添加你的第一个摄像头流:
编辑go2rtc.yaml,或直接在 Web 界面左侧编辑器中添加:
streams:
hall-camera: rtsp://admin:password@192.168.1.123/cam/realmonitor?channel=1&subtype=0
保存后,点击对应流名称即可在浏览器中通过 WebRTC 实时观看,延迟极低。
go2rtc项目应用场景
场景一:智能家居摄像头接入:Home Assistant 2024.11+ 原生集成了 go2rtc,可轻松将任意 RTSP 摄像头转换为 WebRTC 低延迟流,并支持双向语音对讲,让门铃、监控摄像头无缝融入智能家居自动化。
场景二:开源 NVR 与 AI 检测:Frigate 0.12+ 等开源 NVR 以 go2rtc 为核心流媒体层,实现多路视频接入、实时 AI 物体检测与录像,大幅简化部署复杂度。
场景三:直播推流与多媒体分发:直接将摄像头画面或本地视频发布到 YouTube、Telegram 等平台,或通过 WebRTC、HLS、MP4 等多种格式分享给任意设备,无需额外的转码服务。
用户案例:目前,Home Assistant、Frigate、OpenIPC、camera.ui 等知名开源项目都在使用 go2rtc 改善其流媒体工作流,并获得大量社区用户的信赖。
go2rtc项目链接
AlexxIT / go2rtc项目地址:https://github.com/AlexxIT/go2rtc
本文地址:https://www.tgoos.com/45364
