vod.ing / blog / why-twitch-vod-downloads-are-slow

Why your Twitch VoD download is slow

A Twitch VoD download being slow is rarely your internet connection. Twitch shapes per-IP, the segment count matters, and parallel fragment fetch is the lever most people do not pull.

What Twitch is actually serving

A Twitch VoD is HLS: a playlist of 5–10 second `.ts` segments served from Twitch's CDN. Downloading a VoD means downloading every segment and concatenating. For a four-hour stream at 6 Mbps that is around 2,000 segments.

Each segment is a separate HTTP request. A serial fetch (one at a time) is bottlenecked by per-request overhead far more than by your link bandwidth.

Parallel fragment fetch is the main lever

yt-dlp and TwitchDownloader both support parallel segment fetching. yt-dlp's `--concurrent-fragments 8` (or higher; 16 is usually safe) typically doubles or triples real wall-clock throughput on a residential gigabit line. The default of 1 leaves most of your bandwidth idle.

Twitch does not heavily ratecap parallel HLS segment pulls from a single IP in 2026 (this was different in 2022). Going above 32 sometimes triggers throttling.

CDN geography matters

Twitch routes VoD CDN requests to a nearby edge. Europe-to-Europe is fast (200+ Mb/s easily). Europe-to-US-East is slower. Editors in Asia hitting a US-recorded VoD will see the worst case, typically 30–60 Mb/s.

There is no public way to force a different edge. A nearby VPS proxy works if you control one but adds complexity for a one-off download.

Cloud ingest as the alternative

A cloud editor that ingests directly from Twitch to its own storage skips the residential-bandwidth problem entirely. Datacenter-to-datacenter inside the same continent runs at hundreds of Mb/s consistently. Once the source is in cloud storage, you stream only the segments you watch. No full-VoD transfer to your laptop, ever.

For editors who do this work full-time, the bandwidth savings alone can justify a cloud editing tool over a local-download workflow. For occasional editors, a local tool with `--concurrent-fragments` tuned is fine.

Diagnosing a slow download

Start with `yt-dlp -v --concurrent-fragments 1` and watch the per-segment timing. If each segment takes 200ms+ the bottleneck is round-trip latency to the edge. Raising concurrency fixes this.

If individual segments are fast but throughput is still low, the issue is Twitch-side ratecapping. Drop concurrency, wait an hour, retry. There is no escalation path beyond patience.

Written by voding dev

Builds Voding and edits Twitch VoDs, mostly variety and FPS streamers. Cut a few thousand clips the slow way before switching to chat-activity editing.

#downloads#performance#twitch