Stream Inspector BETA
Guide X

Live Stream Pull Debugger — HLS · HTTP-FLV · DASH · WebRTC

Paste a pull-stream URL to play it and debug it like a pro: pre-flight connectivity & CORS checks, playlist/MPD parsing, real-time bitrate / buffer / dropped-frame metrics, full engine event logs and an error-code reference. Everything runs locally in your browser.

URL
/ focus · Enter play
Demo streams HLS fMP4+AES · Apple HLS VOD · Big Buck Bunny HLS multi-subs · BipBop HLS multi-audio/subs · ToS DASH · BBB 30fps MP4 · Flower (MDN)
Player idle — paste a pull URL above and hit “Pull & Play”

Pre-flight checks

  • ·Checks run automatically when you press “Pull & Play”.

Load a stream to see its parsed structure: variants / renditions, codecs, encryption, segment stats and engine details.

Manifest

Manifest will appear here after a stream is loaded.

Real-time metrics

sampled every 1 s while playing
Measured video bitrate—
Buffer ahead—
Buffered ranges—
-10snow+50s
No events yet — engine, network and parser messages will land here.

Offline reference of the error codes reported by each engine, with typical causes and fixes. When a live error occurs, the Overview tab links straight to the matching row.

Protocol comparison

Debugging workflow

  1. Paste the URL. Stream Inspector auto-detects the format from the extension and scheme; override it with the selector if needed.
  2. Read the pre-flight checks. Connectivity, CORS, mixed-content and manifest validity are verified before the player even starts — most “works in VLC, fails in browser” cases are CORS.
  3. Inspect the Manifest tab. Check variants & codecs, encryption (EXT-X-KEY / ContentProtection), LL-HLS parts, live/VOD type, and jump straight into any variant playlist.
  4. Watch Metrics while playing. Measured bitrate, buffer ahead, dropped frames and (for WHEP) RTT / packet loss reveal bandwidth and encoder-side problems.
  5. Trace the first error in Logs. Filter by severity, then look the code up in the Error reference tab for cause & fix.

RTMP / RTSP in a browser

Since browsers dropped Flash there is no native RTMP/RTSP pull. Either play locally with ffplay/VLC, or convert at the edge with a gateway. Pick an RTMP/RTSP URL in the format selector to get ready-to-run commands generated from your URL.

FAQ

Which pull-stream formats can I debug?
HLS (.m3u8, incl. LL-HLS and native Safari playback), HTTP-FLV and MPEG-TS over HTTP, MPEG-DASH (.mpd), WebRTC via WHEP, plus native MP4/WebM. RTMP & RTSP get URL validation and ready-to-run command-line assist instead.
Why does my stream fail here but play in VLC / ffplay?
Almost always CORS. Browser-based players (hls.js, mpegts.js, dash.js) fetch media with JavaScript, so the server must send Access-Control-Allow-Origin; VLC ignores CORS entirely. The Pre-flight panel shows exactly which request is blocked.
Why can't browsers play RTMP / RTSP directly?
Browsers only decode HTML5 media elements / MSE formats — the RTMP & RTSP protocols were never implemented. Convert at the edge with SRS, nginx-http-flv-module, MediaMTX or go2rtc into HTTP-FLV, HLS or WebRTC/WHEP.
Is my stream URL uploaded anywhere?
No. Parsing, probing and playback run 100% locally — your browser talks to your streaming server directly. History lives only in localStorage and can be cleared with one click.
What latency can I expect from each protocol?
WebRTC (WHEP) <1 s · HTTP-FLV / MPEG-TS 1–3 s · LL-HLS 2–5 s · HLS / DASH 6–30 s · RTSP 0.5–2 s (native players only). See the comparison table above.