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

Why your Twitch VoD download is slow, and what to do about it

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.

#downloads#performance#twitch