2026/9/7 15:40:24

Mediamtx RTSP SETUP 路径实战指南:从拼地址到快速排查 404

Mediamtx RTSP SETUP 路径实战指南:从拼地址到快速排查 404 Mediamtx RTSP SETUP 路径实战指南从拼地址到快速排查 404【免费下载链接】mediamtxReady-to-use Media-over-QUIC / SRT / WebRTC / RTSP / RTMP / LL-HLS / MPEG-TS / RTP live media server and media proxy that allows to read, publish, proxy, record and playback real-time video and audio streams.项目地址: https://gitcode.com/GitHub_Trending/me/mediamtxMediamtx 收到 RTSP 的 SETUP 请求后会先对请求里的路径做严格校验路径拼错、没配映射、没过认证都会直接被打回。本文手把手带你把 RTSP 路径配对并用状态码和日志快速定位问题。先弄对——拼出一条合法的 SETUP 地址地址三要素客户端发 SETUP 时URL 由三部分构成协议固定rtsp://端口Mediamtx 默认 RTSP 端口是8554见 mediamtx.yml 里的rtspAddress路径这一段必须以/开头例如/stream1。Mediamtx 在校验时源码位于 internal/servers/rtsp/session.go 的onSetup会直接检查首字符不是/就回 400日志里写的是invalid path所以最经典的坑就是漏掉开头那个斜杠正确: rtsp://192.168.1.10:8554/cam1 错误: rtsp://192.168.1.10:8554cam1一个直接能跑的例子假设你已经用 ffmpeg 往cam1这个路径推流那拉流端只需ffplay rtsp://192.168.1.10:8554/cam1地址对、流在线SETUP 就能顺利建立传输会话。路径本身合法只是第一步服务器还得认识它指向哪路流。再配好——把路径映射到你想要的流静态路径别名Mediamtx 里路径名是别名真正的流来源写在paths里。在 mediamtx.yml 的paths:段落约第 875 行加一条映射paths: cam1: source: rtsp://192.168.1.50:554/stream cam2: source: rtsp://192.168.1.51:554/stream改完重启服务或等热加载生效客户端访问rtsp://server:8554/cam1实际拿到的是上游摄像头的流。用 on-demand 按需拉起流有些流不想一直占用资源可以配runOnDemand平时不启动第一个读者请求进来时自动执行命令推流没人看再自动回收。写法大致是paths: mycam: runOnDemand: ffmpeg -re -i input.mp4 -f rtsp rtsp://localhost:8554/mycam runOnDemandCloseAfter: 10s注意runOnDemandStartTimeout默认 10s命令没在超时内推上来读者就会等不到流。细节可看 on-demand 发布文档。出问题怎么办——按 HTTP 状态码对号入座状态码典型日志常见原因快速解法400invalid path路径为空、不以/开头或 URL 拼写畸形检查地址三要素确保形如rtsp://host:8554/path401 / 403认证相关报错含用户、动作未带凭证或该用户对read/publish无权限在 URL 里补user:pass或核对 认证文档 里的用户权限配置404找不到对应 path流没发布、路径拼错、on-demand 没拉起来确认上游已发布到该路径名检查runOnDemand命令能否正常推流一句话记忆400 是地址没拼对401/403 是身份不对404 是流不存在。用日志把问题锁死排查前先把 mediamtx.yml 里的日志开到debuglogLevel: debug logDestinations: [stdout]会话建立成功后info级别就能看到这样一条记录说明路径解析、传输方式、编码全部就位[session 8f3a2c1d] is reading from path cam1, with tcp, H264对照这条日志path cam1和客户端请求的路径一致说明映射没问题如果日志里根本看不到对应 path问题就出在 SETUP 之前的地址或认证环节。更多日志技巧见 logging 文档。写在最后RTSP 路径问题九成集中在两件事地址少个/或者paths里没配这路流。先把 SETUP 地址拼规范再让路径映射和认证跟上状态码基本就不会再找上门。下一步建议打开 debug 日志用ffplay rtsp://server:8554/你的路径完整走一遍把上面那张速查表存进你的排障笔记里。【免费下载链接】mediamtxReady-to-use Media-over-QUIC / SRT / WebRTC / RTSP / RTMP / LL-HLS / MPEG-TS / RTP live media server and media proxy that allows to read, publish, proxy, record and playback real-time video and audio streams.项目地址: https://gitcode.com/GitHub_Trending/me/mediamtx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考