If an M3U8 link fails with 403, 404, or an expired token, the player is often not the root cause. Reproduce the request in LivePlayer, then inspect the playlist status in DevTools Network.
Only test streams you are authorized to access. Do not share private tokens, DRM keys, or credentials in support emails or public tickets.
First 60-second check
- Paste the failing URL into LivePlayer.
- Open DevTools → Network.
- Press Play again.
- Find the M3U8 request and note the status code.
- Play a public sample stream in the same player.
If the sample works and your URL returns 403 or 404, focus on the source URL and server policy.
Fixing M3U8 403 errors
403 means access was refused. Typical causes:
- Signed URL expired
- Missing or invalid token / signature query params
- Hotlink or referrer protection
- IP allowlists or geo rules
- Playlist allowed, but segments blocked
What to do:
- Request a freshly generated stream URL from the CDN or CMS.
- Retest immediately before the token window closes.
- Check whether segment requests also return 403, not only the top playlist.
- Confirm the URL is being copied in full, including query parameters.
Fixing M3U8 404 errors
404 means something in the path is missing. Typical causes:
- Wrong or truncated playlist URL
- Old VOD path that was moved or deleted
- Master playlist points to variant paths that no longer exist
- Relative segment paths resolve to the wrong host or folder
What to do:
- Open the playlist URL directly and confirm it returns playlist text.
- Inspect variant and segment URLs for typos or stale folders.
- Use the M3U8 Analyzer if the manifest loads but media fails afterward.
- Compare against a known sample stream to confirm the player path still works.
Expired link patterns to watch for
- Query params such as expires, token, signature, or policy fields
- Links that worked yesterday and fail today with no player changes
- Links that work once in a dashboard preview, then fail when shared later
When a link is time-limited, treat “get a new URL” as the first fix, not the last.
403 vs CORS vs expired token
- 403: server refused access
- 404: resource missing
- CORS error: browser blocked cross-origin use even if the network response exists
- Expired signed URL: often appears as 403 and is fixed by regenerating the link
If the console points to cross-origin blocking, continue with How to Fix M3U8 CORS Errors.
A simple decision path
- Sample stream plays, your URL returns 403 → refresh token / access policy.
- Sample stream plays, your URL returns 404 → fix path or republish media.
- Both fail → check browser, extensions, network filter, or page HTTPS issues.
- Playlist 200 but segments fail → inspect segment URLs and permissions next.
For the broader troubleshooting list, use M3U8 Not Playing? 8 Common Fixes. For the full browser QA workflow, use How to Test HLS Streams in Your Browser.