RTSP握手请求错误:Mediamtx代理RTSP流至Pelco兼容CCTV服务器问题排查
RTSP代理握手故障排查(Mediamtx -> Pelco CCTV服务器)
核心抓包对比排查点
直接对比摄像头直连服务器与Mediamtx代理连接的RTSP握手差异,重点确认:
- OPTIONS响应头:Pelco设备可能依赖摄像头返回的自定义扩展字段,检查Mediamtx是否遗漏透传这类字段
- SETUP请求的Transport参数:Pelco对TCP interleaved模式、端口参数(如
interleaved=0-1)有严格要求,需确保Mediamtx完全匹配摄像头的返回格式 - RTSP版本:确认Mediamtx响应使用RTSP/1.0,部分老旧Pelco设备不支持更高版本
Mediamtx配置修正项
- 开启老旧设备兼容模式:在
mediamtx.yml中添加
该模式会适配老旧RTSP设备的握手逻辑,解决多数兼容性问题rtspCompatibility: "legacy" - 强制TCP传输:Pelco服务器通常要求TCP模式,配置:
rtspTransport: "tcp" - 权限与认证配置:确保服务器有读取权限,若摄像头需认证,补充源端认证信息:
paths: camera_stream: source: "rtsp://摄像头IP/流地址" rtspAllowRead: true sourceAuthUser: "摄像头用户名" sourceAuthPass: "摄像头密码" - 关闭不必要转码:Pelco对编码格式(如H.264 Baseline Profile)有要求,确保Mediamtx透传原始流,配置
enableTranscoding: false
Windows环境特殊检查
- 防火墙放行:允许Mediamtx使用的RTSP端口(默认554)及RTP/RTCP端口范围(默认8000-9000)
- 管理员权限启动:避免端口绑定或网络访问权限限制
额外验证步骤
- VLC测试代理流:用VLC播放
rtsp://MediamtxIP/camera_stream,确认流本身可正常播放,排除摄像头或Mediamtx流输出问题 - 临时替换代理工具:用ffmpeg做代理验证,若Pelco可正常识别,说明Mediamtx兼容性需进一步调整:
ffmpeg -i rtsp://摄像头IP/流地址 -c copy -f rtsp rtsp://0.0.0.0:554/proxy_test
内容的提问来源于stack exchange,提问作者Ivica
相关产品推荐
相关产品推荐

