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:

  1. 安装
# 使用 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
  1. 启动服务并打开 Web 界面
open http://localhost:1984
# 或浏览器直接访问 http://localhost:1984
  1. 添加你的第一个摄像头流
    编辑 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

声明:本站资源均整理自互联网,版权归原作者所有,仅供学习交流使用,请勿直接商用,若需商用请购买正版授权。因违规使用产生的版权及法律责任由使用者自负。部分资源可能包含水印或引流信息,请自行甄别。若链接失效可联系站长尝试补链。若侵犯您的权益,请邮件(将 # 替换为 @)至 feedback#tgoos.com,我们将及时处理删除。转载请保留原文链接,感谢支持原创。