尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

go2rtc 快速入门:手把手把 RTSP 摄像头变成浏览器 WebRTC 低延迟直播

go2rtc 快速入门:手把手把 RTSP 摄像头变成浏览器 WebRTC 低延迟直播 go2rtc 快速入门手把手把 RTSP 摄像头变成浏览器 WebRTC 低延迟直播【免费下载链接】go2rtcUltimate camera streaming application项目地址: https://gitcode.com/GitHub_Trending/go/go2rtc用网页看 RTSP 摄像头画面往往落后真实世界三四秒缓冲条转圈是常态想低延迟就得再折腾一套推流。go2rtc 是一个零依赖的摄像头流媒体应用把 RTSP、ONVIF、HomeKit 等几十种输入源转换成 WebRTC、RTSP、HLS 等输出核心场景就是低延迟的 RTSP 转 WebRTC。本文不深入原理只带你用一条命令加一行配置跑通完整流程。三分钟跑通主流程本节只做一件事让一个 RTSP 摄像头出现在浏览器里全程两条命令加一行配置。最快部署方法Docker 一条命令如果你机器上装了 Docker这是最短路径。官方镜像内置 FFmpeg一条命令即可运行docker run -d --name go2rtc \ --network host \ -v ~/go2rtc:/config \ alexxit/go2rtc # 预期输出一行容器 ID无报错⚠️ 注意--network host对 WebRTC 很关键。用默认桥接网络时必须手动映射 8555 端口否则浏览器连不上媒体流。✅ 验证点浏览器打开http://localhost:1984/能看到 go2rtc 的 Web 界面即部署成功。想看运行状态执行docker logs go2rtc查看启动日志各模块正常监听、无报错即可。不想装 Docker 的话也可以下载对应系统的单文件二进制支持 Windows、macOS、Linux、ARMchmod x后直接运行功能一致。添加第一路 RTSP 源go2rtc 的配置是一个 YAML 文件go2rtc.yaml添加一路流只需两行streams: hall-camera: rtsp://admin:password192.168.1.123/cam/realmonitor?channel1subtype0把地址换成你的摄像头即可流名可任意起。同一路流也可以写成列表把多个源比如 RTSP 加一路 ffmpeg 转码并列go2rtc 会自动挑选可用的编码。推荐在 Web 界面里编辑配置带语法高亮和检查保存后服务自动重载。密码不想硬编码可以用环境变量rtsp://admin:${CAMERA_PASSWORD}192.168.1.123/...。✅ 验证点流列表里出现hall-camera且状态正常即配置生效。打开 WebRTC 播放在 Web 界面点击流名称选 WebRTC 播放或者直接访问内置通用播放页http://localhost:1984/stream.html?srchall-camera内置播放器会自动在 WebRTC、MSE、HLS 之间挑选当前浏览器和网络下最合适的方式无需任何设置。✅ 验证点画面接近实时播放即成功。「Net」页能看到每路连接的协议、字节数和连接关系图方便你确认实际走的是 WebRTC。到这里主流程就完整了摄像头 → go2rtc → 浏览器 WebRTC全程没有装任何插件。按需深入三种部署方式怎么选方式适合场景关键点二进制生产环境、资源最小单文件零依赖下载即可运行Docker开发测试、快速体验需--network host镜像内置 FFmpegHome Assistant 加载项智能家居在 HA 加载项仓库搜索 go2rtc 安装启动默认端口一览端口协议用途1984HTTPWeb 界面与 HTTP API8554RTSPRTSP 服务器8555TCP/UDPWebRTC 服务器8443SRTPHomeKit 输出✅ 验证点curl -I http://localhost:1984/返回 200且 8555 端口可被浏览器访问。播放报错怎么排查先排除源头问题用 VLC 或 ffplay 直接播放摄像头的原始 RTSP 地址确认摄像头本身正常。然后打开 Web 界面看流的状态再对照下表处理症状常见原因处理方式浏览器黑屏摄像头是 H265浏览器支持有限加一行ffmpeg:hall-camera#videoh264转成 H264有画面没声音音频编码与播放方式不匹配用?videoaudioall过滤查看流里实际编码WebRTC 连不上8555 端口不通Docker 改 host 网络或映射 8555麦克风没反应浏览器麦克风仅允许 HTTPS本机 localhost 可用外网需配置 TLS仍定位不了时把相关模块日志调到 trace 级别看细节log: webrtc: trace各浏览器对 H264/H265、MSE、HLS 的支持差异较大完整矩阵见 README.md 的 Codecs madness 一节遇到兼容问题先查那张表。进阶玩法转码、编码过滤与双向音频编码过滤不转码只挑编码。rtsp://192.168.1.123:8554/camera1?mp4会给出 MP4 兼容的组合适合录像场景。按需转码ffmpeg:hall-camera#videoh264Docker 加--privileged可启用硬件加速。双向音频内置webrtc.html页面支持把浏览器麦克风推给摄像头Tapo、Tuya、Wyze、小米等品牌可用。更多能力发布到直播平台、预加载流、向摄像头播音频见 internal/streams/README.md全部配置项见 www/schema.json配置加载与日志说明见 internal/app/README.md。下一步用 Docker 跑起 go2rtc确认 1984 端口可访问配置一行 RTSP 源用stream.html?src...在浏览器播放对照排障表处理黑屏或无声问题阅读 internal/webrtc/README.md 与 internal/ffmpeg/README.md 了解模块细节【免费下载链接】go2rtcUltimate camera streaming application项目地址: https://gitcode.com/GitHub_Trending/go/go2rtc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表