当前位置:首页 > Docker部署RTSP/HLS服务器指南(基于MediaMTX)

Docker部署RTSP/HLS服务器指南(基于MediaMTX)

点击次数:1358  更新日期:2025-06-12

1. 核心方案选择

推荐使用 MediaMTX(原rtsp-simple-server),因其轻量(仅5MB)、支持多协议(RTSP/RTMP/HLS/SRT)且配置简单。
镜像地址docker.io/bluenviron/mediamtx
适用场景:监控推流、直播转发、低延迟传输(<0.5s)。

2. 部署步骤

2.1 拉取镜像
docker pull bluenviron/mediamtx:latest
2.2 创建配置文件(可选)

默认配置已支持基础推拉流,需自定义时创建 mediamtx.yml :

protocols: [tcp, udp]  # 启用TCP/UDP传输  
readTimeout: 10s        # 超时设置  
paths:  
  cam1:                 # 自定义流名称  
    source: rtsp://admin:password@摄像头IP  # 自动拉取外部流(可选)
2.3 启动容器
docker run -d \  
  --name rtsp-server \  
  -p 8554:8554 \         # RTSP默认端口  
  -p 1935:1935 \         # RTMP端口(可选)  
  -p 8888:8888 \         # HTTP监控/API端口  
  -v /path/to/mediamtx.yml:/mediamtx.yml  \  # 挂载自定义配置  
  bluenviron/mediamtx

3. 推流与拉流测试

  • 推流工具:OBS、FFmpeg、IP摄像头

ffmpeg -re -i input.mp4  -c copy -f rtsp rtsp://服务器IP:8554/mystream
  • 拉流地址

    • RTSP: rtsp://服务器IP:8554/mystream

    • RTMP: rtmp://服务器IP:1935/mystream

    • HLS: http://服务器IP:8888/mystream/index.m3u8


4. 关键优化配置

参数作用示例值
readTimeout流闲置超时断开20s
sourceOnDemand按需拉流(节省资源)true
metrics启用Prometheus监控true
srtPassphraseSRT加密传输密钥mysecurekey