
只有 HTTP 通道可用时mediamtx 如何用 RTSP over HTTP 隧道读取外部 RTSP 流【免费下载链接】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当外部 RTSP 服务器或摄像头部署在强制的 API 网关或严格防火墙之后、只有 HTTP 协议被放行时普通的rtsp://直连拉流会失败。MediaMTX 支持把 RTSP 封装进 HTTP 隧道即 RTSP over HTTP tunneling来解决这个问题在mediamtx.yml中把拉流源的 scheme 改成rtsphttpMediaMTX 就会通过隧道从外部 RTSP 服务器读取流并把结果流发布到本地路径上供其他客户端用常规的 RTSP 地址消费。隧道方案的选择依据RTSP-specific features 中说明了标准 HTTP 隧道有两个变体选型依据是网关/防火墙的能力RTSP over WebSocketrtspws/rtspsws效率更高但要求网关或防火墙支持 WebSocketRTSP over HTTPrtsphttp/rtspshttp较老的变体在极端情况下也能工作。ws与不带ws的差异在于隧道方式rtsps前缀则表示外部源本身是加密 RTSPRTSPS。带http/ws的四种 scheme 在 mediamtx.yml 的pathDefaults注释中都有列出格式均为scheme://user:passhost:port/path。如果网关只放行最普通的 HTTP 流量就用rtsphttp加密源用rtspshttp。另外MediaMTX 对入站的 HTTP 隧道 RTSP 连接是自动处理的不需要任何配置本文讨论的是出站拉流也就是读取外部 RTSP 流这一方向只需配置source。配置拉流路径编辑mediamtx.yml在paths段下添加一个路径把source设为带隧道 scheme 的 URL这是 RTSP cameras and servers 中拉流配置方式在隧道场景下的对应写法paths: proxied: # standard-rtsp-url 换成外部 RTSP 服务器的实际地址 # 即 user:passhost:port/path 的形式 source: rtsphttp://user:passhost:port/path几个需要注意的点proxied是路径名可以任意取配置后拉到的流会出现在本机的rtsp://localhost:8554/proxied上。如果用户名或密码中含有?、:等特殊字符需要先做 URL 编码再填入 URL。使用rtspshttp外部源为 RTSPS且其 TLS 证书是自签名或无效证书时可以用sourceFingerprint提供证书指纹来放行校验获取方式见 RTSP cameras and servers 文档中的openssl命令。若希望只在有读者连接时才去拉源、节省带宽可加sourceOnDemand: yes并配合sourceOnDemandStartTimeout无读者超时后关断源使用默认值是false即持续拉流。修改mediamtx.yml后可以重启 MediaMTX 进程或利用其配置热加载功能让新配置生效参见 Install 中提到的 hot-reloading 功能。验证拉流结果流拉取成功后它会像普通路径一样可通过本机 RTSP 端口读取。用 RTSP 客户端 访问即可例如 FFmpegffmpeg -rtsp_transport tcp -i rtsp://localhost:8554/proxied -c copy output.mp4也可以用 Control API 确认路径状态先在mediamtx.yml中启用api: yes然后查询当前活动的路径列表见 Control APIcurl http://127.0.0.1:9997/v3/paths/list注意 Control API 默认仅允许 localhost 访问。边界与限制四种隧道 schemertsphttp、rtspshttp、rtspws、rtspsws覆盖明文/加密源 × HTTP/WebSocket 隧道的组合如果选了rtspws但网关不支持 WebSocket拉流会失败此时应退回rtsphttp变体。文档未对 HTTP 隧道拉流的额外性能开销给出量化说明只说明 WebSocket 变体more efficient选型以网关能力为准。拉流路径支持的视频/音频编解码范围与普通 RTSP 拉流一致见 RTSP cameras and servers 顶部的编解码表。更多 RTSP 传输协议与加密的细节见 RTSP-specific features。【免费下载链接】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),仅供参考