尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
把 RTSP 摄像头搬进浏览器:go2rtc 视频流转发实测
把 RTSP 摄像头搬进浏览器go2rtc 视频流转发实测【免费下载链接】go2rtcUltimate camera streaming application项目地址: https://gitcode.com/GitHub_Trending/go/go2rtcgo2rtc 是一个单二进制视频流转发工具把 RTSP、RTMP、WebRTC、HomeKit 等几十种协议的流源接进来再以 WebRTC、RTSP、HLS、MPEG-TS 等格式分发出去。H.264 源配合 WebRTC 输出时不经过转码延迟可以做到亚秒级。适合手里有一堆 RTSP 摄像头、想让家人在浏览器或手机上直接看或者在 Home Assistant、Frigate 里做集成的人。一条 Docker 命令先让画面亮起来docker pull alexxit/go2rtc docker run -d -p 1984:1984 -p 8554:8554 -p 8555:8555/udp alexxit/go2rtc镜像里自带 FFmpeg 和 Python不用再装任何东西。三个端口各管一摊1984 是 Web 界面和 HTTP API8554 是对外 RTSP 服务8555 是 WebRTC 的信令与媒体端口。打开http://localhost:1984点 Add 输入摄像头的 RTSP 地址几秒后就能看到可播放的链接。不想用 Docker 的话从 Releases 下载对应平台的二进制文件直接运行Linux/macOS 上补一句chmod x即可整个应用没有运行时依赖。配置就一个 go2rtc.yaml所有行为由一个 YAML 文件驱动默认读当前目录下的go2rtc.yaml也可以用启动参数指定别的路径。WebUI 里自带语法检查和补全的编辑器改完立即生效不需要重启进程。最小可用的配置只有 streams 这一段streams: lobby-cam: - rtsp://admin:pass123192.168.1.31:554/Streaming/Channels/101 yard-cam: - rtsp://user:pass456192.168.1.32:554/h264它实际解决哪几件事RTSP 转 WebRTC浏览器看监控的延迟底线RTSP 在浏览器里放不了这是十几年没解决的老问题。go2rtc 把摄像头拉进来后重新封装成 WebRTC 给客户端H.264 源直接转发、不做转码低延迟流媒体的实际体感是亚秒级。同一个源还能同时吐 HLS、MPEG-TS、MP4 给别的设备各取所需。不吐 RTSP 的设备也能接Wyze 走自家 P2P 协议小米、Tapo、HomeKit 各有各的门禁这些消费级摄像头通常给不出标准 RTSP。go2rtc 为每个品牌单独写了协议模块接入时把 URL 前缀换成对应协议即可例如wyze://192.168.1.50:8443?serialXXXX后面接的玩法和 RTSP 源完全一样。编码不匹配时只转码差的那一路常见坑是摄像头视频 H.264、音频 AAC而你的浏览器只认 H.264 Opus。此时给同一个流名下再加一条 ffmpeg 源指定只转音频streams: lobby-cam: - rtsp://admin:pass123192.168.1.31:554/Streaming/Channels/101 - ffmpeg:rtsp://admin:pass123192.168.1.31:554/Streaming/Channels/101#audioopusgo2rtc 会跨所有源自动匹配客户端支持的编码组合视频走 RTSP 直出音频走 ffmpeg 转出的 Opus全程不需要手动指定协商结果。对讲、回推、推流都是同一个接口双工音频对 Tapo、Ring、Wyze、小米、海康 ISAPI、ONVIF T 等设备和协议都做了适配浏览器端可以用麦克风跟摄像头端通话反向还能把任意音源推到支持双工的摄像头上做喊话。想把画面发到直播平台加一条rtmps://推流目标即可。Web 界面里的连接拓扑能看到每条活跃连接的协议、包数和字节数排障时不用再看日志猜。避坑先把这三件事确认掉WebRTC 黑屏九成是 HTTPS 和 8555 端口浏览器规定只有 HTTPS 页面才能调摄像头和麦克风本地测试要么走localhost例外要么上反代。外网访问还要在路由器把 8555 端口的 TCP 和 UDP 都放通缺一个都会时好时坏。H.265 源在浏览器放不出来用 FFmpeg 兜底老浏览器不认 H.265。给流加一条#videoh264的 ffmpeg 源即可转出来纯 CPU 转 1080p 开销不小URL 末尾追加hardwarevaapiIntel/AMD 核显、cudaN 卡或videotoolboxmacOS就能走硬件加速。播放器侧的缓存也要压链路两端都有缓冲。VLC 把 Default Caching Level 调到最低ffplay 拉流加-fflags nobuffer -flags low_delay否则服务端再快也白搭。安全默认值是宽松的要手动收紧1984、8554、8555 三个端口默认对局域网开放同网段的人不加认证就能看到摄像头画面。至少把 API 和 RTSP 绑回本机地址只留 8555 对外api: listen: 127.0.0.1:1984 allow_paths: [/api, /api/streams, /api/frame.jpeg] rtsp: listen: 127.0.0.1:8554更极端的收敛方式是用app.modules限制可加载的模块白名单防止有人通过 API 调用exec、echo这类能执行外部程序的能力。go2rtc 把摄像头视频流转发做成了一个可插拔的模块矩阵输入几十种协议、输出主流格式转码只在必要时经 FFmpeg 发生。模块总表见 internal/README.md外部集成示例在 examples/。它不会替你把烂网络变好但链路本身能做到的速度它基本给到了。【免费下载链接】go2rtcUltimate camera streaming application项目地址: https://gitcode.com/GitHub_Trending/go/go2rtc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

SpringBoot+Vue大学城水电管理系统架构与优化实践

SpringBoot+Vue大学城水电管理系统架构与优化实践

/* 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 4:37:24
NautilusTrader 实盘节点如何配置 LiveNodeConfig 并注册数据与执行客户端?

NautilusTrader 实盘节点如何配置 LiveNodeConfig 并注册数据与执行客户端?

NautilusTrader 实盘节点如何配置 LiveNodeConfig 并注册数据与执行客户端? 【免费下载链接】nautilus_trader Production-grade Rust-native trading engine with deterministic event-driven architecture 项目地址: https://gitcode.com/GitHub_Trending/na/na…

📅 2026/9/12 4:37:24
Java AST静态审计实战:从公交系统看源码级质量管控

Java AST静态审计实战:从公交系统看源码级质量管控

/* 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 4:37:24
MORE NEWS

更多资讯

📰

农场管理系统开发:Flask与Django技术选型实战

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

📰

在 .NET 中使用 Semantic Kernel 集成 AWS Bedrock Agent:环境准备、配置与七个实战示例

在 .NET 中使用 Semantic Kernel 集成 AWS Bedrock Agent:环境准备、配置与七个实战示例 【免费下载链接】semantic-kernel Integrate cutting-edge LLM technology quickly and easily into your apps 项目地址: https://gitcode.com/GitHub_Trending/se/semanti…

📰

Text-to-CAD实战:用自然语言一句话生成可编辑三维模型

前阵子同事在群里甩过来一句话:帮我画一个M8外六角螺栓,两头倒角,长度40。换作以前,我得打开CAD,新建文件,切视图,画六边形,拉伸,再切出螺杆和倒角,少说也要十…

📰

中小企业管理软件的关联输入功能设计与实现

1. 项目背景与核心需求 《看潮企业管理软件》是一款面向中小企业的综合管理解决方案,这个编号为03-008的开发模块聚焦于"关联输入"功能的实现。在实际企业管理中,数据关联性往往比单一数据录入更重要——采购订单需要关联供应商信息&#xff0…

📰

大模型任务系统架构设计与JSON Schema驱动开发实践

1. 项目概述:大模型任务系统核心架构解析在Claude Code第七课Task System任务系统的学习中,我们接触到现代大模型开发中最关键的架构设计范式。这套系统本质上是通过JSON Schema驱动的任务编排引擎,实现了从结构化数据到实际操作的智能映射。…

📰

YOLO目标检测工程实战:从原理拆解到工业部署避坑指南

1. 这不是“科普文”,是目标检测工程师的入门第一课:从YOLO标题里挖出真问题你点开这个标题,大概率不是想听“目标检测就是识别图中有什么物体”这种教科书定义。你真正卡住的地方,可能是:标注完500张图,训…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬