ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

10分钟上手go2rtc:RTSP转WebRTC视频流转发,浏览器秒开低延迟监控

10分钟上手go2rtc:RTSP转WebRTC视频流转发,浏览器秒开低延迟监控 10分钟上手go2rtcRTSP转WebRTC视频流转发浏览器秒开低延迟监控【免费下载链接】go2rtcUltimate camera streaming application项目地址: https://gitcode.com/GitHub_Trending/go/go2rtcgo2rtc 是个用 Go 写的视频流转发工具核心本事只有一句把摄像头的 RTSP 监控流转成浏览器能直接播放的 WebRTC 流延迟压到亚秒级。这篇上手指南写给刚拿到 go2rtc 的你按步骤走一遍读完就能把第一台摄像头挂到浏览器里看并顺手配出门铃对讲和直播推流。 go2rtc 能帮你做什么传统监控的痛点go2rtc 的解法RTSP 流在浏览器里根本放不了自动协商编码输出 WebRTC/HLS/MP4摄像头浏览器观看零插件VLC 之类客户端看 RTSP 有 2~5 秒延迟WebRTC 通道把延迟压到亚秒级低延迟监控直接可用H265 流老设备播不了、音频编码对不上需要时才调 FFmpeg 转码不需要就零转码直接转发门铃、云台等私有协议各搞一套一个进程接管 30 多种输入源RTSP、ONVIF、WebRTC、私有协议 把 go2rtc 跑起来方式一二进制包单个可执行文件不带任何依赖按操作系统下载对应文件go2rtc_linux_amd64、go2rtc_win64.zip、go2rtc_mac_arm64.zip等。Linux / macOS 下补一句执行权限chmod x go2rtc_linux_amd64。直接运行./go2rtc_linux_amd64看到 Web 界面就成功了。方式二Docker镜像里自带 FFmpeg转码开箱即用docker run -d --name go2rtc \ -p 1984:1984 -p 8554:8554 -p 8555:8554 \ -v $PWD/go2rtc.yaml:/config/go2rtc.yaml \ alexxit/go2rtc跑起来后记住三个端口1984是 Web 界面和 API8554是 RTSP 服务8555走 WebRTC。 最小配置接入摄像头在程序工作目录或挂载进容器的位置建一个go2rtc.yamlstreams: hall: rtsp://admin:password192.168.1.123/cam/realmonitor?channel1保存后验证 3 步浏览器打开http://localhost:1984/点 Config 页把配置存进去或直接刷新。切到 WebRTC 标签页左侧选中hall这条流。点播放按钮画面应该在 1 秒内出现Net 页能看到这条连接的流量统计。 三个真实用法门铃双向对讲多数门铃自带 RTSP 推流加一路 opus 转码源浏览器就能双向喊话麦克风需要 HTTPS本机调试可用反向代理加 TLS。streams: doorbell: - rtsp://admin:pass192.168.1.60:554/stream1 - ffmpeg:rtsp://admin:pass192.168.1.60:554/stream1#audioopus浏览器零延迟看监控上面那台摄像头不用改任何配置。go2rtc 会自动挑你浏览器支持的编码组合RTSP 原流直转 WebRTC不动一帧画面。中转推流到直播平台在配置里加publish段把任意一路转发成 RTMP 推出去视频 H264、音频 AAC 即可publish: mycam: - rtmps://your-platform-live-url streams: mycam: - ffmpeg:rtsp://admin:pass192.168.1.123/stream1#videocopy#audioaac 连不上、卡顿、没声音先查这三处现象先查什么改哪里Web 界面列出流但黑屏手动ffprobe那条 RTSP 地址确认摄像头本身能出流RTSP URL 或账号不行就换成ffmpeg:前缀强制转码画面能放但延迟 2 秒以上是否在看 HLS/MP4 页签切到 WebRTC 页签播放HLS 天生有片段级延迟有画面没声音源是 AAC 而 WebRTC 只收 opus/pcmu/pcma加一路ffmpeg:源#audioopus多源自动协商外网打不开路由器是否放了8555的 TCP 和 UDP开端口管理口1984建议只留给内网⚡ 硬件加速转码写法只要转码路径里加一个#hardware参数go2rtc 就会自动探测并选可用的引擎Intel/AMD 核显走 vaapiNVIDIA 走 cuda树莓派走 v4l2m2mmacOS 走 videotoolbox编码负载从 CPU 挪到 GPU多路转码时 CPU 占用明显下降。streams: cam-hw: - ffmpeg:rtsp://admin:pass192.168.1.123/stream1#videoh264#audioopus#hardware想确认当前机器支持哪个引擎访问http://localhost:1984/api/ffmpeg/hardware即可。更多细节看 internal/ffmpeg/README.md 和 internal/streams/README.md。到这里一台 RTSP 摄像头已经变成浏览器里的 WebRTC 画面。剩下要做的就是往go2rtc.yaml里加流加设备、加转码、加推流目标一个配置文件全部搞定。协议细节、编码协商和多源混流的完整说明见 README.md 的 Features 章节。【免费下载链接】go2rtcUltimate camera streaming application项目地址: https://gitcode.com/GitHub_Trending/go/go2rtc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表