📡 MediaMTX Stream Test

Test your MediaMTX streaming server

WebRTC Player (Low Latency)

WebRTC provides the lowest latency streaming. Enter your stream name below.

Note: This requires proper Nginx proxy configuration for /webrtc/ path.

HLS Player

HLS streaming works in all modern browsers but has higher latency (~3-10 seconds).

📋 Nginx Proxy Configuration Required

For this test page to work, your Nginx must proxy these paths:

location /webrtc/ {
    proxy_pass http://mediamtx:8889/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}

location /hls/ {
    proxy_pass http://mediamtx:8888/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    add_header Cache-Control no-cache;
    add_header Access-Control-Allow-Origin *;
}

📋 Server Information

MediaMTX Direct Endpoints:

  • RTSP: rtsp://your-server:8554/stream-name
  • RTMP: rtmp://your-server:1935/stream-name
  • HLS: http://your-server:8888/stream-name
  • WebRTC: http://your-server:8889/stream-name
  • SRT: srt://your-server:8890

🎥 Publishing a Stream

Using OBS Studio:

  • Go to Settings → Stream
  • Service: Custom
  • Server: rtmp://your-server:1935
  • Stream Key: your-stream-name

Using FFmpeg:

  • RTMP: ffmpeg -re -i input.mp4 -c copy -f flv rtmp://your-server:1935/mystream
  • RTSP: ffmpeg -re -i input.mp4 -c copy -f rtsp rtsp://your-server:8554/mystream

🔧 Troubleshooting

  • ERR_SSL_PROTOCOL_ERROR: Check Nginx proxy configuration above
  • Make sure all ports are properly exposed in Coolify
  • Check that the mediamtx.yml config file is mounted correctly
  • For WebRTC, ensure your server is accessible from the internet
  • Check MediaMTX logs: docker logs mediamtx
  • Check Nginx logs: docker logs mediamtx_nginx