M3U8 Player Online – Free HLS Stream Player & Live Tester
What is an M3U8 Player & Stream Inspector?
An M3U8 player is an essential diagnostic media tool for developers, broadcast engineers, and webmasters. It parses Apple HLS (HTTP Live Streaming) manifests, extracts adaptive bitrate (ABR) tracks, and renders live video chunks directly in the web browser using Media Source Extensions (MSE) and hls.js.
Key Diagnostic Metrics Explained
- Adaptive Bitrate (ABR) Switching: Verifies how smoothly the player ramps up or scales down between video resolutions (from 360p up to 4K 2160p) as available network bandwidth fluctuates.
- Buffer Health (Buffer Length in seconds): Measures the amount of forward-buffered video stored in memory. A healthy buffer length (typically 10 to 30 seconds) protects against network jitters and stream stalling.
- Segment Latency & TTFB: Tracks round-trip network time and download speeds for individual
.tsand.m4smedia segments from your CDN origin. - Dropped Frames: Identifies video decoding bottlenecks caused by hardware constraints or mismatched PTS/DTS timestamps.
Troubleshooting Stream Errors: Understanding & Resolving CORS
If your stream triggers a NETWORK_ERROR, the overwhelming cause is CORS (Cross-Origin Resource Sharing) restrictions on the origin server. Browsers enforce security rules preventing web scripts from reading data from another domain unless the server responds with Access-Control-Allow-Origin: *.
Two Ways to Resolve CORS Issues:
- Enable the Built-in Relay: Enable Stream via Relay above. The playlist is fetched through a relay that adds the standard cross-origin headers, allowing instant previewing in your browser.
- Add Origin Headers on Your Server: Configure your Nginx, Apache, or CDN distribution (CloudFront, Cloudflare, Akamai) to return
Access-Control-Allow-Origin: *on all.m3u8and.tsfiles.
Frequently asked questions
What causes the 'CORS Policy Blocked' error?
When fetching HLS video via JavaScript (MSE), browsers require the streaming server to explicitly allow cross-origin requests. If the server does not send 'Access-Control-Allow-Origin: *', browser security blocks the player. Use the built-in relay toggle to preview these streams.
Does the player upload my video to QuickFit servers?
No! All video rendering, ABR parsing, and telemetry run 100% client-side inside your browser via hls.js — your video never leaves your device. When the built-in relay is enabled, only the playlist URL is routed through a public CORS gateway (allorigins.win), or through your own Cloudflare Worker if you set a custom relay prefix. Use your own relay for private stream URLs.
Which video formats and protocols can I test?
This player supports Apple HLS (.m3u8 master and media playlists), fragmented MP4 (fMP4), TS segment containers, standard MP4, WebM, and live IPTV streams with multi-language audio tracks.
Can I share test streams with my team?
Yes! Click 'Copy Share Link'. It embeds the stream URL and relay configuration directly into the URL hash, so your team can open and inspect the stream with one click.