HLS/DASH Stream Checker
Paste a stream URL (.m3u8 / .mpd / MP4) to check whether it plays in a browser. When it does not, the tool diagnoses CORS, HTTP status, encryption and codec problems, and shows the manifest contents and segment download speeds.
- 1
Paste the stream URL
Put the .m3u8, .mpd or MP4 URL you want to verify into the input field.
- 2
Press Check
The player tries to play it while the tool diagnoses CORS, HTTP status and the manifest contents.
- 3
Share the result
The Share tab gives you a short URL, an iframe snippet and CLI commands so others can open the same state.
Playback diagnostics
Check a URL and the diagnosis will appear here.
Manifest analysis
Check a URL to see the playlist contents.
Variants (renditions)
Media playlist
Raw manifest
Playback stats
Stats appear once playback starts.
Segment loads (last 20)
No segments loaded yet.
Event log
- No events yet.
Share this state
A URL that reproduces the current input and options. Short links are created by share.omikuji.dev.
iframe embed code
Embeds the player-only mode (ui=embed).
Check from the CLI
If the browser cannot play it, these commands help narrow the problem down.
Query parameters
Append parameters to the URL and the page opens in exactly that state — handy for runbooks and monitoring bookmarks.
| Parameter | Value | Description |
|---|---|---|
| url | https://…/x.m3u8 | Stream URL to check (src also works) |
| autoplay | 1 / 0 | Start playback automatically (default: 1) |
| muted | 1 / 0 | Start muted (default: 1) |
| loop | 1 / 0 | Loop playback |
| t | 30 | Start position in seconds (VOD only) |
| ui | full / embed | embed shows the player only |
| hud | 1 / 0 | Show the stats overlay |
| lowlatency | 1 / 0 | LL-HLS low latency mode (default: 1) |
| tab | diag / manifest / … | Initial tab (diag/manifest/stats/log/share/history) |
Checked history
History is stored only in this browser.
✨ Features
- Verify HLS (.m3u8), DASH (.mpd) and direct MP4 playback in the browser just by pasting a URL.
- When playback fails, get the reason: CORS, HTTP status, mixed content, encryption or codec support.
- See the variant table of the master playlist, segment download speed, live latency and buffer level.
- Share the exact state with query parameters (?url=...), and generate iframe embed code and ffplay commands.
💡 Great for
Smoke-testing a stream
After changing an encoder or CDN setting, confirm playback in the same browser environment your viewers use.
Finding out why it will not play
CORS, 404 or DRM? Copy the diagnostic report and send it straight to your streaming provider.
Reviewing your ABR ladder
The variant list shows whether the intended resolutions, bitrates and codecs are actually published.
Runbooks and monitoring links
Bookmark a URL with ?url= and a single click re-runs the same playback check.
🔒 Privacy
The stream URL you enter is fetched directly by your browser from the origin; it is never sent to or stored on our servers. History stays in your browser (localStorage). Only when you press the share button is the URL registered with share.omikuji.dev.
❓ FAQ
Why does my stream not play?
The most common cause is missing CORS headers on the origin: playing from another site requires Access-Control-Allow-Origin. Other causes are 404/403, mixed content (an http stream on an https page) and DRM. The diagnostics tab names the cause and the fix.
Is my URL sent to your server?
No. Your browser fetches the stream directly and our servers are never involved. Only when you press the share button is that URL registered with share.omikuji.dev.
Can I start playback from a query parameter?
Yes. Open the page with ?url=STREAM_URL and it checks and plays automatically. autoplay, muted, loop, t (start seconds) and ui=embed are supported too, which also makes iframe embedding easy.
Does it support DASH and plain MP4?
Yes. .mpd is played with dash.js and direct .mp4/.webm links play in the video element. HLS uses hls.js, falling back to native playback on Safari.