news 2026/9/12 3:36:30

go2rtc:一台电脑接入所有摄像头的终极视频流指南(RTSP 转 WebRTC,几乎零延迟)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
go2rtc:一台电脑接入所有摄像头的终极视频流指南(RTSP 转 WebRTC,几乎零延迟)

go2rtc:一台电脑接入所有摄像头的终极视频流指南(RTSP 转 WebRTC,几乎零延迟)

【免费下载链接】go2rtcUltimate camera streaming application项目地址: https://gitcode.com/GitHub_Trending/go/go2rtc

摄像头画面想同时出现在浏览器、手机和 Apple 家庭 App 里,还嫌麻烦?go2rtc 帮你搞定。它是一个体积很小、不带依赖的视频流转发应用:把 RTSP、RTMP、MJPEG 等摄像头源接进来,再按你想要的格式转发出去,延迟接近零。家里装了几台摄像头、又想在各种设备上看实时画面的朋友,基本就是为它准备的。

🚀 go2rtc 的亮点速览

  • 零依赖:单个可执行文件,Windows、macOS、Linux、FreeBSD、树莓派 ARM 设备都能跑
  • 零延迟:多数协议走直连转发,不做多余缓冲
  • 输入来源多:RTSP、ONVIF、RTMP、HLS、MJPEG,还有 HomeKit 摄像头、小米 / Wyze / TP-Link 这类走私有协议的设备
  • 输出格式全:RTSP、WebRTC、MSE/MP4、HLS、MJPEG、RTMP、HomeKit……一路源转成多种流
  • 按需转码:只有真转不动时才调用 FFmpeg,支持硬件加速
  • 双向对讲:很多源都支持从浏览器往摄像头里喊话
  • 零配置:装完打开网页就能加流、看流

📦 三种安装方式怎么选

方案一:直接下载可执行文件

去官方版本发布页下载对应系统的文件(Windows 选go2rtc_win64.zip,Linux/Mac 选对应平台的文件),解压即可运行。Linux 和 Mac 上需要给一次执行权限:

chmod +x go2rtc_xxx_xxx

方案二:Docker 一键跑(推荐)

有 Docker 环境的话,两行命令就够了,镜像自带 FFmpeg:

docker pull alexxit/go2rtc docker run -d --network host --name go2rtc -v ~/go2rtc:/config -p 1984:1984 -p 8554:8554 -p 8555:8554 alexxit/go2rtc

--network host建议保留,WebRTC 和走 UDP 的摄像头需要它才稳定。

方案三:Home Assistant 插件

如果你本来就用 Home Assistant:设置 > 附加组件 > 右上角“+” > 附加组件存储库,添加官方存储库地址,然后安装 go2rtc 并启动。HA 2024.11 以后也内置了 go2rtc 集成,可以直接用。

怎么选?一句话:Home Assistant 用户装插件,有 Docker 环境的直接跑容器,其他情况下载可执行文件最省事。

📹 5 分钟接入你的第一台 RTSP 摄像头

跟着做,从打开管理页到看到画面就 5 分钟。

第 1 步:打开管理页。浏览器访问http://localhost:1984/(go2rtc 默认占用 1984 端口;另外 RTSP 服务在 8554 端口,WebRTC 连接用 8555 端口)。

第 2 步:添加摄像头。进入配置页(或点 add 标签),加一行 YAML。streams下就是“流名: 源地址”,RTSP 地址从摄像头说明书里抄出来即可:

streams: cam1: rtsp://admin:password@192.168.1.123:554/Streaming/Channels/101

保存后服务自动重启,新流立即生效。

第 3 步:看画面。首页会列出所有流,点击cam1的 stream 链接,浏览器自动选一个合适的播放方式(WebRTC 优先),几秒内出图。想对比不同延迟也可以试试stream.html?src=cam1&mode=webrtc这种带参数的链接。

第 4 步:分发给其他设备。同一个流可以换个“出口”给别的客户端用:

  • 手机、网页、低延迟观看:WebRTC 播放页
  • 给 Frigate、Home Assistant 录像:rtsp://本机IP:8554/cam1
  • 需要取一张图:http://本机IP:1984/api/frame.jpeg?src=cam1

到这里,go2rtc 就真正跑起来了。

🔁 它能做什么:一路源,多种“出口”

接入之后,go2rtc 把这路流同时变成十几种格式,按场景挑就行:

  • RTSP 转发:最经典的“协议转换”场景。私有协议的摄像头(比如小米、Wyze、TP-Link Tapo)转成标准 RTSP,录像机、FFmpeg 直接就能拉
  • RTSP 转 WebRTC:延迟最低的一条路,手机、电脑浏览器直接看,还支持双向对讲
  • RTMP 推流:把任意一路流推到直播平台,比如 YouTube、Telegram
  • Apple HomeKit:配置一下,摄像头就出现在 Apple 家庭 App 里
  • HLS / MP4 / MJPEG:兼容老设备、老浏览器的“保底”方案
  • 反向收流(ingest):外部程序也可以把流推进来,比如浏览器摄像头画面、另一台 go2rtc 的流

多路流之间还能混音混流,把不同源的音轨和视频轨拼成一路;net 页面则能实时看到每个连接的 IP、协议、码率和传输量,排查问题很方便。想自己动手集成,可以参考 examples/ 目录里的示例代码,各协议的实现细节在 internal/ 下都有独立文档。

🛠 进阶与避坑

外网访问:家里没有公网 IP 时,可以直接用 go2rtc 内置的 ngrok / pinggy 模块做内网穿透,把 1984(网页)和 8555(WebRTC)两个端口隧道出去,方法见 internal/ngrok/README.md;有公网 IP 的话,在路由器上放行 8555 的 TCP 和 UDP 更稳。

编码兼容性:H264 几乎哪里都能播;H265(H.265)很省码率,但浏览器支持有限,Safari 和较新的 Chrome 才行。播放端拿不准时,可以在流地址后面加参数做过滤,例如?video=h264&audio=aac,让客户端只拿到它认得的编码。

安全提醒:1984、8554、8555 三个端口默认对局域网全部开放,也就是同网络下的任何设备都能看你的摄像头。信得过自家网络就没事,不放心就把apirtsp的监听地址改成127.0.0.1,只留 WebRTC 端口对外,细节在 README.md 的 Security 一节。

转码:平时基本不触发;真要转码时走 FFmpeg,Docker 的-hardware镜像还带 Intel / AMD / NVidia / Rockchip 硬件加速。

写在最后

go2rtc = 把各种摄像头的流,变成你想要的格式,安装一行命令、配置几行 YAML,第一次看画面 5 分钟。家里有几台摄像头、想省掉一堆转发软件的朋友,可以装上试试。源码里还有更多细节可以看:README.md、www/ 的播放器说明、internal/ 的各协议文档,以及 examples/ 的集成示例。

【免费下载链接】go2rtcUltimate camera streaming application项目地址: https://gitcode.com/GitHub_Trending/go/go2rtc

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 3:36:03

HAZOP分析七步实战指南:从入门到独立主持

1. 为什么HAZOP让人又爱又恨,以及什么项目真正需要它在过程安全领域干了十几年,我见过太多人把HAZOP分析当成一种“不得不做的合规负担”——临到项目评审节点,连夜拉一帮人凑在会议室里,对着P&ID(管道仪表流程图&…

作者头像 李华
网站建设 2026/9/12 3:34:24

Intel 核显凭什么也能跑 CUDA 程序:ZLUDA 兼容层实操指南

Intel 核显凭什么也能跑 CUDA 程序:ZLUDA 兼容层实操指南 【免费下载链接】ZLUDA CUDA on non-NVIDIA GPUs 项目地址: https://gitcode.com/GitHub_Trending/zl/ZLUDA 你手里只有一块 Intel 核显(或一张 AMD 显卡),可软件偏…

作者头像 李华
网站建设 2026/9/12 3:33:07

MATLAB轴承振动信号仿真与故障诊断实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 3:32:02

PCA9698 I2C GPIO扩展驱动剖析:从寄存器到Linux内核移植

简介:PCA9698是NXP推出的一款I2C总线GPIO扩展芯片,支持8路独立方向配置、上拉/下拉电阻、中断输出及宽范围逻辑电平,可适应不同电源与工作环境,广泛适用于工业自动化、智能家居和物联网设备。这套资源提供面向Linux 2.6.28的驱动源…

作者头像 李华