
go2rtc视频流转发工具5分钟把摄像头变成低延迟视频流【免费下载链接】go2rtcUltimate camera streaming application项目地址: https://gitcode.com/GitHub_Trending/go/go2rtcgo2rtc 是一个视频流转发/协议转换工具把摄像头的 RTSP 流转换成 WebRTC、RTMP、HLS 等协议让传统摄像头画面能在浏览器、手机里以亚秒级延迟播放。如果你受够了 RTSP 在网页上放不了、延迟高、各品牌协议不统一的麻烦它可以直接接管这活。能力全景它到底能做什么先看一张表了解它覆盖的范围维度说明输入协议RTSP、WebRTC、HLS、RTMP、HomeKit以及小米/海康/大华等厂商私有协议输出协议WebRTC、RTSP、RTMP、HLS、MJPEG 等同一源可多路输出延迟表现WebRTC 路径可达亚秒级适合实时监控部署方式单二进制文件零依赖运行或 Docker 容器典型场景家用监控改造、多品牌设备统一管理、直播推流go2rtc 将多种摄像头输入协议统一转换为 WebRTC/RTSP/RTMP 等输出从零跑通安装 第一次看到画面这一步只解决一个问题最快看到第一路画面。这里以 Docker 为例如果你不用 Docker也可以直接下载对应系统的二进制文件运行效果一样。启动容器把 Web 管理界面和 WebRTC 端口映射出来docker run -d --name go2rtc \ -p 1984:1984 -p 8554:8554 -p 8555:8555/udp \ alexxit/go2rtc打开浏览器访问http://localhost:1984/点击Add粘贴摄像头的 RTSP 地址比如rtsp://admin:password192.168.1.100:554/stream并保存再在左侧点一下该流的 WebRTC 链接——视频就出来了。别担心整个过程不需要写任何配置。想自己改代码再编译的一句git clone https://gitcode.com/GitHub_Trending/go/go2rtc cd go2rtc go build -o go2rtc .即可。通过 Web 界面添加摄像头流无需手写配置文件配置实战按你的场景来Web 界面适合快速上手但多路流、固定配置还是写进go2rtc.yaml更稳。以下三个片段直接抄。场景一只有一台客厅摄像头。痛点是 RTSP 地址不好记浏览器又放不了。streams: 客厅: - rtsp://admin:password192.168.1.100:554/stream # 摄像头主码流保存后重启Web 界面和webrtc://localhost/客厅都能直接看。场景二多个品牌设备混着用。痛点是小米、海康、ONVIF 设备各说各话。streams: 小米: - xiaomi:192.168.1.11 # 小米设备走专用协议 海康: - rtsp://admin:password192.168.1.102:554 大华: - onvif://192.168.1.103:80 # 标准 ONVIF 设备效果三种来源在同一个界面里统一播放、统一转发。场景三把本地画面推到直播平台。痛点是采集卡/摄像头出的画面没法直接给直播推流。streams: 直播: - ffmpeg:rtsp://192.168.1.100:554/stream#videoh264 # 源地址后加 #video 指定编码 # 再对直播流使用 RTMP 输出rtmp://你的直播地址效果go2rtc 转封装后直播平台按标准 RTMP 接收无需额外转码工具。调优与进阶让体验再快一步只留三个最实用的。CPU 占用高、转码吃力→ 开启硬件加速ffmpeg: { hwaccel: vaapi }N 卡用cudaMac 用videotoolbox。效果解码转到 GPUCPU 占用明显下降。画面偶尔卡顿、缓冲溢出→ 调整流缓冲- buffer: 500ms写在流配置里。效果给网络抖动留出余量减少卡顿。手机看主码流带不动→ 一路流写两个 URL主码流 子码流- rtsp://...:554/main和- rtsp://...:554/sub。效果go2rtc 按客户端能力自动选合适的码流。排障速查踩过的坑都在这里现象可能原因解决动作延迟高、有明显拖影用了 RTSP/HLS 路径或缓冲过大改用 WebRTC 播放调小buffer浏览器里 WebRTC 放不了非 HTTPS 环境或 8555 端口未放通用 HTTPS 访问放行 8555 端口TCPUDP有画面没声音摄像头音频编码不匹配用#audioaac或#audioflac指定重协商摄像头连接失败RTSP 地址/认证错误或摄像头不支持该流换子码流地址试查log页面看错误详情界面打不开1984 端口被占或映射错了换端口api: { listen: :2000 }Net 页面可实时查看每路流的连接、码率与转发拓扑排障先看这里生态与扩展它和谁一起玩go2rtc 已经是不少项目的底层取流组件Home Assistant原生集成2024.11直接配置go2rtc作为摄像头源。Frigate0.12以 go2rtc 作为视频流处理核心RTSP 转 WebRTC 降低延迟。OpenIPC作为固件内的流媒体组件使用。文档入口看项目根目录的 README.md各协议的具体接入方式在 internal/ 下每个模块的 README 里例如 internal/webrtc/ 和 internal/rtsp/照着抄配置即可。写在最后go2rtc 最独特的地方在于它把取流和转发拆成了两件独立的事——任何来源的摄像头流进来后你可以同时用任意几种协议输出互不干扰。如果你手上有几台放不了浏览器的 RTSP 摄像头现在就按从零跑通那节走一遍五分钟就能看到第一路画面。【免费下载链接】go2rtcUltimate camera streaming application项目地址: https://gitcode.com/GitHub_Trending/go/go2rtc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考