How to use this page: the first table maps the symptom you can see to the cause and the shortest fix. Where a case needs more than a line, it links to a dedicated page on this blog — those pages are the deep versions of the same diagnosis, not different opinions.
Nothing is found
| Symptom | Cause | Fix |
|---|---|---|
| “Unsupported website” | The tool expects a site it knows, and this one isn’t in its list | Use a tool that observes requests instead of parsing markup |
| “Cannot parse video URL” | The address is a page, a share link, or a wrapper — not media | Point at the address that actually plays |
| Detects no media at all | Analysis ran before playback, or the media is in a frame | Play first; then target the frame’s document |
| Fails after website login | The tool has no session; the site authorised your browser, not it | Work inside the session — profile reuse or sign-in in the app |
| Cannot access video behind login | Same cause; the entitlement never reaches the request | See the login page below |
Deep pages: detecting no media and sites that require login.
The server said no
| Symptom | Cause | Fix |
|---|---|---|
| 403 Forbidden | Signature expired, referer missing, or client pinned | Re-capture from the playing page and fetch immediately |
| 401 Unauthorized | Request arrived anonymous | Fetch with your session locally |
| “Expired link” errors | Signed addresses were captured too early or reused | Re-resolve; never store addresses as assets |
| Fails on redirect URLs | The tool stopped at a redirect instead of following to the final host | Follow redirects, then classify the final shape |
| Fails because of hotlink protection | The CDN refuses requests that don’t originate from its own pages | Fetch in the page session; a bare URL will keep failing |
Full treatment: 403 and 401 errors, including how to tell expiry from referer checks from entitlement.
It downloaded, but the file is wrong
| Symptom | Cause | Fix |
|---|---|---|
| Corrupted file, won’t open | Transfer truncated mid-write, or the container was finalised before all parts arrived | Re-fetch missing segments, then remux from complete parts |
| Only a few kilobytes | You saved an error page, a poster image, or a manifest renamed to .mp4 | Inspect the first bytes; re-capture the real media request |
| MP4 won’t play anywhere | Wrong container for the codec inside, or a missing init segment | Probe with ffprobe; remux, don’t re-encode |
| Video but no audio | Only one family of adaptive tracks was fetched | Fetch audio too and mux both — no-audio page |
| Audio but no video | The audio representation was selected alone | Map one video and one audio stream |
| Wrong resolution | The player’s bandwidth estimate chose a lower rung | Re-analyse after full playback and select manually |
| Quality lower than expected | A second re-encode, or the source simply is that rung | Compare bitrate; keep the first saved copy |
| No subtitles found | Caption tracks are fetched only when selected | Open the caption menu during capture — subtitles page |
Environment problems that look like tool problems
Machine sleep
“Download stops when the computer sleeps” is a power setting, not a bug. Long fetches need the machine awake and plugged in; on laptops, closing the lid is the usual culprit. Keep segments until the merged file plays end to end.
Large files
“Video download fails on large files” almost always means an address expired halfway or the destination hit a limit: path length on Windows, a FAT-family volume refusing files over 4 GB, or a sync folder fighting the writer. Split the diagnosis: does it fail at the same percentage every time, or at the same elapsed minutes? Same percentage points at a bad segment; same time points at expiry. Full guidance in failed or stalled downloads.
Per-OS checks
On macOS, “troubleshoot video downloader on macOS” usually resolves to codec confusion — QuickTime supports fewer codecs than VLC, so the file is fine and the player is the limit. Check the destination folder too, since Desktop and Documents are sync-managed areas.
On Windows 11, “troubleshoot video downloader on Windows 11” usually resolves to three things: an elevation prompt that shouldn’t have been needed, a path that grew past the length limit, or security software quarantining an unsigned installer. Details on the Windows page.
The order that finds causes fastest
- Does the video still play in your browser, in your account, right now? If not, stop — everything downstream inherits that.
- Re-analyse after playing. Most “no media” and “expired” cases are timing.
- Read the status code: 401 is identity, 403 is authorisation, 404 is existence.
- Inspect the file:
ffprobe -v error -show_streams -show_format fileanswers corrupted-versus-incomplete in one line. - Then and only then suspect the tool — test it on a page you know works.
What no tool can fix
- Protected delivery. If a stream is DRM-encrypted, a downloader’s failure is correct behaviour — how to tell.
- Entitlements you don’t hold. Region limits, subscription tiers and private content are decisions, not defects.
- Deleted sources. When a VOD ages out of retention or a post is removed, nothing retrieves it.
- Quality that was never served. A rung below what you hoped for is the ceiling of what exists — how quality works.
FAQ
Why does my video downloader say the site is unsupported?
Because it relies on a list of sites it has code for. A downloader that observes what the page requests has no such list, which is why “unsupported” stops being a category of failure.
The downloaded file is a few kilobytes — what is it?
Usually an error page, a poster, or a manifest saved under an .mp4 name. Look at the first bytes and re-capture the actual media request.
Why does a large download fail at the same point each time?
That pattern means one specific segment cannot be fetched. Re-fetch that part alone rather than restarting the whole file.
How do I fix hotlink protection blocking my download?
You don’t send the URL out of context; you fetch inside the page session, which supplies the referer and client the CDN expects.
Downloaded MP4 won’t play. Is it corrupt?
Probe it. A missing init segment or an unsupported codec inside a valid container both look like corruption and neither is one.
Can I fix a DRM-protected download failure?
No, and the failure is correct. Protected streams never produce a clear file, so this is a boundary rather than a troubleshooting case.