---
title: What Is Buffering? Why Videos Buffer and How to Stop It
description: Learn what is buffering, define buffering, and what video buffering means—plus why videos buffer and how to stop it.
image: https://blog.blazingcdn.com/hubfs/Gemini-Blog/image-Oct-27-2026-08-30-18-2258-AM.jpeg
---

[![BlazingCDN](https://blog.blazingcdn.com/hubfs/Logo/blog-logo-w.png)](https://blog.blazingcdn.com?hsLang=en-us)

[📘Learn ▾](https://blog.blazingcdn.com/cdn-learn?hsLang=en-us)

[CDN Fundamentals](https://blog.blazingcdn.com/cdn-fundamentals?hsLang=en-us) [By Content Type](https://blog.blazingcdn.com/by-content-type?hsLang=en-us) [Advanced Concepts](https://blog.blazingcdn.com/advanced-concepts?hsLang=en-us) [Glossary](https://blog.blazingcdn.com/glossary?hsLang=en-us)

[⚡ Web Performance](https://blog.blazingcdn.com/web-performance?hsLang=en-us)

[🎬Video & Streaming ▾](https://blog.blazingcdn.com/video-streaming-cdn?hsLang=en-us)

[🔴 Live Streaming](https://blog.blazingcdn.com/live-streaming?hsLang=en-us) [📺 VOD & OTT](https://blog.blazingcdn.com/vod-ott?hsLang=en-us) [💰 Bandwidth & Costs](https://blog.blazingcdn.com/bandwidth-costs?hsLang=en-us)

[🏭 Other Industries ▾](https://blog.blazingcdn.com/cdn-industry-insights?hsLang=en-us)

[📺 Media & Broadcasting](https://blog.blazingcdn.com/media-broadcasting?hsLang=en-us) [💾 Software & SaaS](https://blog.blazingcdn.com/software-saas?hsLang=en-us) [🏗️ DevOps & Cloud Infra](https://blog.blazingcdn.com/devops-cloud-infra?hsLang=en-us) [📚 AdTech & Advertising](https://blog.blazingcdn.com/adtech-advertising?hsLang=en-us) [🎮 Gaming & Esports](https://blog.blazingcdn.com/gaming-esports?hsLang=en-us) [📱 Mobile Apps & Developers](https://blog.blazingcdn.com/mobile-apps-developers?hsLang=en-us) [🤖 AI & Machine Learning](https://blog.blazingcdn.com/ai-machine-learning?hsLang=en-us) [🏛️ Enterprise & Corporate](https://blog.blazingcdn.com/enterprise-corporate?hsLang=en-us) [📚 E-Learning & EdTech](https://blog.blazingcdn.com/e-learning-edtech?hsLang=en-us) [🏟️ Sports & Live Events](https://blog.blazingcdn.com/sports-live-events?hsLang=en-us)

[💰 Pricing & Costs ▾](https://blog.blazingcdn.com/cdn-pricing-and-cdn-costs?hsLang=en-us)

[Provider Pricing](https://blog.blazingcdn.com/provider-pricing?hsLang=en-us) [Cost Optimization](https://blog.blazingcdn.com/cost-optimization?hsLang=en-us) [Decision Support](https://blog.blazingcdn.com/decision-support?hsLang=en-us)

[⚡Compare ▾](https://blog.blazingcdn.com/cdn-comparison?hsLang=en-us)

[Provider Comparisons](https://blog.blazingcdn.com/provider-comparisons?hsLang=en-us) [Strategy Comparisons](https://blog.blazingcdn.com/strategy-comparisons?hsLang=en-us) [Ratings & Benchmarks](https://blog.blazingcdn.com/cdn-ratings-and-benchmarks?hsLang=en-us)

[📊 Benchmarks](https://blog.blazingcdn.com/cdn-ratings-and-benchmarks?hsLang=en-us)

[🔒 Security ▾](https://blog.blazingcdn.com/cdn-security?hsLang=en-us)

[Attack Protection](https://blog.blazingcdn.com/attack-protection?hsLang=en-us) [Encryption & Access](https://blog.blazingcdn.com/encryption-access?hsLang=en-us) [Video & DRM Security](https://blog.blazingcdn.com/video-drm-security?hsLang=en-us)

[📁 Case Studies](https://blog.blazingcdn.com/case-studies?hsLang=en-us) [🔌 Integrations](https://blog.blazingcdn.com/integrations?hsLang=en-us) [🛠️ Tools](https://blog.blazingcdn.com/cdn-tools?hsLang=en-us)

[Get Started](https://blazingcdn.com/sign-up-contact-form/)

[Learn](https://blog.blazingcdn.com/en-us/tag/learn) [Video - Video & Streaming](https://blog.blazingcdn.com/en-us/tag/video-video-streaming) [Learn - CDN Fundamentals](https://blog.blazingcdn.com/en-us/tag/learn-cdn-fundamentals)

# What Is Buffering? Why Videos Buffer and How to Stop It

 Vadym Borovskyi  Oct 27, 2026, 9:31:55 AM

![](https://blog.blazingcdn.com/hubfs/Gemini-Blog/image-Oct-27-2026-08-30-18-2258-AM.jpeg)

**What is buffering?** Buffering is the video player downloading media ahead of the playhead and holding it in memory so playback continues through short network slowdowns. A video "buffers" (stalls, shows a spinner) when that reserve drains to zero because segments arrive slower than real time. Most players keep 10 to 30 seconds of media in reserve. A stall therefore means delivery has fallen behind the video's bitrate for long enough to empty the whole reserve, not just for a moment.

In HLS (RFC 8216) and MPEG-DASH players, a rebuffer happens when segment download throughput stays below the bitrate of the current rendition until the forward buffer, commonly capped near 30 seconds by default, is empty. As of 2026 this is how every mainstream adaptive bitrate (ABR) player behaves, which is why buffering is a delivery-speed problem first and a player-tuning problem second.

## **How video buffering works inside an HLS or DASH player**

An adaptive stream is a sequence of segments, typically 2 to 6 seconds each, listed in a playlist (HLS) or manifest (DASH) at several bitrates. The player fetches segments into a forward buffer, decodes from the front of it, and runs an ABR algorithm that picks the next rendition from measured throughput, buffer level, or both.

The buffer has three states that matter:

- **Startup:** the player waits until a minimum amount of media is buffered (often one to three segments) before the first frame. This wait is startup delay, sometimes called join time.
- **Steady state:** each segment downloads faster than it plays, so the buffer fills to its cap and the player idles between requests.
- **Drain and stall:** downloads fall behind playback, the buffer shrinks, and at zero playback freezes until a refill threshold is reached again. That freeze is a rebuffering event.

### Buffer drain math: when a slowdown becomes a stall

Buffer level changes by (throughput divided by bitrate) minus 1 seconds of media per second of wall time. This one ratio explains most video buffering complaints.

Worked example: a 6 Mb/s 1080p rendition and a connection that drops to 4 Mb/s. The ratio is 4 / 6 = 0.67, so the buffer loses 0.33 seconds of media every second. A full 30-second buffer survives 90 seconds of that dip; a 12-second buffer survives 36 seconds. If the ABR algorithm steps down to a 3 Mb/s rendition within the first segment, the ratio becomes 1.33 and the buffer refills instead. Stalls are what happens when the dip outlasts the buffer and the ABR reacts too late or has no lower rung to fall to.

Startup is the same arithmetic at small scale. A 6-second segment at 6 Mb/s is 36 megabits (4.5 MB). On a 20 Mb/s path it downloads in 1.8 seconds plus time to first byte. If that first byte waits on a cache miss and an origin fetch adding 200 to 400 ms, startup grows by 10 to 20 percent before a single frame renders. Shorter first segments or a lower starting rendition cut join time directly.

## **Why videos buffer: the four layers that drain the buffer**

Buffering rarely has one cause. Splitting stalls by layer is the fastest route to a fix, because each layer exposes a different metric.

| Layer | Typical symptom | Metric to check | Fix |
| --- | --- | --- | --- |
| Viewer network (last mile, Wi-Fi, mobile) | Stalls cluster by ISP, ASN or device type | Segment throughput p10 per ASN | Lower bottom rungs in the bitrate ladder, faster ABR down-switching |
| Player logic | Stalls while bandwidth looks adequate, oscillating renditions | Buffer level at each switch, switch count per minute | Buffer-aware ABR, larger target buffer for VOD |
| CDN edge | Slow first segment, stalls on less-watched titles | Cache hit ratio and time to first byte (TTFB) per segment | Origin shield, request coalescing, cache warm-up, longer segment TTLs |
| Origin and packaging | Live streams stall in sync for many viewers | Playlist update lag, origin 5xx rate, packager latency | Short playlist TTLs, redundant packagers, shielded origin |

Stalls that correlate across many viewers at once point at the CDN or origin; stalls scattered by network and device point at the last mile and the player.

## **How to stop buffering: network, player and CDN fixes**

### Player-side fixes

For VOD, a larger forward buffer is cheap insurance. In hls.js the maxBufferLength option defaults to 30 seconds; in dash.js the stableBufferTime setting defaults to 12 seconds, and raising it toward 20 to 30 seconds for on-demand content absorbs longer dips. For live, the buffer is bounded by distance to the live edge, so low-latency setups trade stall resistance for delay. Start the first segment at a conservative rendition and step up once the buffer is healthy, rather than guessing high and stalling at startup.

### Encoding and packaging fixes

A bitrate ladder with a rung near 300 to 500 kb/s gives the ABR somewhere to land on congested mobile links. Shorter segments (2 seconds instead of 6) let the player react sooner but multiply request count by three, which raises the share of time lost to per-request overhead and cache lookups.

### CDN fixes

Every cache miss on a segment adds an origin round trip to that download, and the buffer pays for it. Set long cache lifetimes on immutable segments (they never change once written) and short ones on live playlists, roughly half the segment duration, so players see new segments without hammering the origin. Origin shield and request coalescing collapse simultaneous misses for a fresh live segment into one origin fetch, which removes the synchronized stall pattern in the table above. For long-tail VOD libraries, BlazingCDN's [**Video CDN keeps the whole library replicated inside the CDN**](https://blazingcdn.com/video-cdn/), taking the origin out of the delivery path so a rarely watched title does not start with an origin fetch.

## **Buffering vs. latency, caching and bufferbloat**

**Buffering vs. latency:** latency is the delay before data starts moving (round-trip time, TTFB); buffering is the player running out of data during playback. High latency inflates startup delay and hurts short segments most, but a high-latency path with enough throughput can play without a single stall.

**Buffering vs. caching:** a player buffer holds the next few seconds of one viewer's stream in client memory; a CDN cache holds segments at the edge for every viewer. A cold CDN cache causes buffering, and a warm one is one of the most reliable ways to prevent it.

**Buffering vs. bufferbloat:** bufferbloat is oversized queues in routers and modems that inflate latency under load. It can cause video buffering indirectly, when a household upload or download saturates the link and segment requests queue behind it, but it is a network-device problem, not a player one.

## **Common misconceptions about video buffering**

**"More bandwidth always fixes it."** Throughput variance matters more than the average. A 50 Mb/s Wi-Fi link that drops to 2 Mb/s for 40 seconds will stall a 6 Mb/s stream with a 12-second buffer, per the drain math above.

**"A bigger buffer is always better."** For live and low-latency streams, every extra second of buffer is a second behind the live edge. Sports and auctions usually cannot afford a 30-second cushion.

**"The spinner means the viewer's internet is bad."** When stall rates jump for many sessions at once on the same title or event, the cause is usually upstream: a packager falling behind, a cold cache, or an origin returning errors.

## **FAQ: what is buffering and how to stop video buffering**

### What does buffering mean when a video keeps stopping?

Buffering means the player has used up the media it downloaded in advance and is waiting for more before it can resume. It happens when segments arrive slower than the video plays for longer than the reserve lasts, usually 10 to 30 seconds. Repeated stops suggest the ABR is choosing a bitrate the connection cannot sustain.

### How do engineers define buffering in streaming quality metrics?

Engineers define buffering through two numbers: startup delay, the time from play to first frame, and rebuffering ratio, total stall time divided by total watch time. Initial loading is usually excluded from the rebuffering ratio. Many streaming teams target a rebuffering ratio below 1 percent, since viewer abandonment rises quickly as stalls become frequent.

### Why does video buffering happen on fast internet?

Video buffering on fast internet usually comes from throughput variance, not the advertised speed. Wi-Fi interference, congestion at peak hours, a cold CDN cache or a slow origin can drop segment throughput below the stream bitrate for tens of seconds. A speed test measures a short burst, while a stall reflects sustained shortfall.

### Does a CDN reduce video buffering?

A CDN reduces video buffering when segments are served from cache close to the viewer, which lowers time to first byte and keeps throughput steady. The gain depends on cache hit ratio: misses still travel to the origin. Origin shield, request coalescing and cache warm-up for new releases protect live events and long-tail titles most.

## **Measure your rebuffering ratio, then fix the right layer**

This week, instrument two numbers per playback session: rebuffering ratio (stall seconds divided by watch seconds) and startup delay. Join them with CDN logs on segment URL and timestamp, and break stalls down by cache status, segment TTFB, ASN and title. If stalls follow cache misses or cluster on fresh live segments, the fix is at the edge; if they follow ASNs and devices, tune the bitrate ladder and ABR. Rerun the drain math for your top rendition against your p10 throughput to see how many seconds of buffer you actually need.

If the edge is where your stalls start, BlazingCDN's [**HLS Streaming CDN for pre-encoded HLS, LL-HLS and DASH delivery**](https://blazingcdn.com/streaming-cdn/) includes origin shield, request coalescing and cache warm-up through the API on every plan.

Share: [f](https://www.facebook.com/sharer/sharer.php?u=https://blog.blazingcdn.com/en-us/what-is-buffering-why-videos-buffer-and-how-to-stop-it) [in](https://www.linkedin.com/sharing/share-offsite/?url=https://blog.blazingcdn.com/en-us/what-is-buffering-why-videos-buffer-and-how-to-stop-it) [𝕏](https://twitter.com/intent/tweet?url=https://blog.blazingcdn.com/en-us/what-is-buffering-why-videos-buffer-and-how-to-stop-it&text=) [✉](mailto:?subject=%3Cspan%20id="hs_cos_wrapper_name"%20class="hs_cos_wrapper%20hs_cos_wrapper_meta_field%20hs_cos_wrapper_type_text"%20style=""%20data-hs-cos-general-type="meta_field"%20data-hs-cos-type="text"%20%3EWhat%20Is%20Buffering?%20Why%20Videos%20Buffer%20and%20How%20to%20Stop%20It%3C/span%3E&body=https://blog.blazingcdn.com/en-us/what-is-buffering-why-videos-buffer-and-how-to-stop-it)

![BlazingCDN](https://blog.blazingcdn.com/hs-fs/hubfs/Logo/blog-logo-w.png?height=24&name=blog-logo-w.png)

*Heavy traffic.*  
Light bill.

The CDN for video and large traffic

Their monthly bill vs ours

- 20 TBFastly $2,087**$92.50**
- 50 TBCDN77 $990**$215**
- 200 TBCloudFront $11,965**$765**

Published list prices, Aug 2026

[Calculate your cost](https://blazingcdn.com/cdn-cost-calculator/?utm_source=blog&utm_medium=sidebar&utm_campaign=blog_sidebar&utm_content=compare_calc)

## Related posts

[![](https://blog.blazingcdn.com/hubfs/Gemini-Blog/image-Oct-27-2026-08-00-43-1112-AM.jpeg)](https://blog.blazingcdn.com/en-us/quic-protocol-internals-how-it-actually-works-on-the-wire?hsLang=en-us)

Learn

### [QUIC Protocol Explained: How It Works on the Wire](https://blog.blazingcdn.com/en-us/quic-protocol-internals-how-it-actually-works-on-the-wire?hsLang=en-us)

The QUIC protocol is a UDP-based transport, published as RFC 9000 in 2021, that merges the TLS 1.3 handshake into its ...

Oct 27, 2026, 9:03:22 AM [Read more](https://blog.blazingcdn.com/en-us/quic-protocol-internals-how-it-actually-works-on-the-wire?hsLang=en-us)

[![](https://blog.blazingcdn.com/hubfs/Gemini-Blog/image-Oct-26-2026-08-30-19-3605-AM.jpeg)](https://blog.blazingcdn.com/en-us/what-is-flac-lossless-audio-streaming-explained?hsLang=en-us)

Learn

### [What Is FLAC? Lossless Audio Streaming Explained](https://blog.blazingcdn.com/en-us/what-is-flac-lossless-audio-streaming-explained?hsLang=en-us)

The short answer to what is FLAC: FLAC (Free Lossless Audio Codec) is an open, royalty-free audio format that ...

Oct 26, 2026, 9:32:02 AM [Read more](https://blog.blazingcdn.com/en-us/what-is-flac-lossless-audio-streaming-explained?hsLang=en-us)

[![BlazingCDN](https://blog.blazingcdn.com/hubfs/Logo/blog-logo-w.png)](https://blog.blazingcdn.com?hsLang=en-us)

[📘 Learn](https://blog.blazingcdn.com/cdn-learn?hsLang=en-us) [📊 Benchmarks](https://blog.blazingcdn.com/cdn-ratings-and-benchmarks?hsLang=en-us) [🎬 Video & Streaming](https://blog.blazingcdn.com/video-streaming-cdn?hsLang=en-us) [🏭 Industries](https://blog.blazingcdn.com/cdn-industry-insights?hsLang=en-us) [💰 Pricing & Costs](https://blog.blazingcdn.com/cdn-pricing-and-cdn-costs?hsLang=en-us) [⚡ Compare](https://blog.blazingcdn.com/cdn-comparison?hsLang=en-us) [🔒 Security](https://blog.blazingcdn.com/cdn-security?hsLang=en-us) [🛠️ Tools](https://blog.blazingcdn.com/cdn-tools?hsLang=en-us) [✍️ Publish with us](https://blog.blazingcdn.com/publish-with-us?hsLang=en-us)

in f 𝕏 ✉

 Copyright © BlazingCDN |. All rights reserved.

```json
{
  "@context" : "https://schema.org",
  "@id" : "https://blazingcdn.com/#organization",
  "@type" : "Organization",
  "description" : "High-volume CDN for video, live streaming, OTT/IPTV, software, games, SaaS and large-file delivery.",
  "logo" : {
    "@id" : "https://blazingcdn.com/#logo",
    "@type" : "ImageObject",
    "height" : 560,
    "url" : "https://blazingcdn.com/wp-content/uploads/2024/08/logo-560-560.png",
    "width" : 560
  },
  "name" : "BlazingCDN",
  "sameAs" : [ "https://www.linkedin.com/company/blazingcdn", "https://x.com/BlazingCdn", "https://www.reddit.com/r/BlazingCDN/", "https://www.wikidata.org/wiki/Q141711074" ],
  "url" : "https://blazingcdn.com/"
}
```

```json
{
  "@context" : "https://schema.org",
  "@id" : "https://blog.blazingcdn.com/#website",
  "@type" : "WebSite",
  "inLanguage" : "en-US",
  "name" : "BlazingCDN Blog",
  "publisher" : {
    "@id" : "https://blazingcdn.com/#organization"
  },
  "url" : "https://blog.blazingcdn.com/"
}
```

```json
{
  "@context" : "https://schema.org",
  "@id" : "https://blog.blazingcdn.com/en-us/what-is-buffering-why-videos-buffer-and-how-to-stop-it#article",
  "@type" : "BlogPosting",
  "author" : {
    "@id" : "https://blog.blazingcdn.com/en-us/author/blazingcdn#person",
    "@type" : "Person",
    "description" : "Vadym Borovskyi is Chief Product and Marketing Officer at BlazingCDN, where he has led product strategy and growth since 2021. He has more than 11 years of experience in IT product management and B2B marketing. On this blog he writes about CDN pricing and egress costs, video and software delivery, cache configuration, and how teams evaluate and switch CDN providers. He is based in Warsaw, Poland.",
    "image" : "https://143144902.fs1.hubspotusercontent-eu1.net/hubfs/143144902/vadym-borovskyi.jpg",
    "jobTitle" : "Chief Product and Marketing Officer",
    "knowsAbout" : [ "Content Delivery Networks (CDN)", "CDN pricing", "Video streaming delivery", "Software and game distribution", "Cache optimization", "Product Management", "B2B Marketing", "Digital Marketing", "Pay Per Click Marketing (PPC)", "Google Ads", "Search Engine Marketing (SEM)", "Marketing Strategy", "Artificial Intelligence (AI)", "Cloud Management", "SaaS Development", "IT Consulting", "Computer Networking", "Project Management", "Startups" ],
    "name" : "Vadym Borovskyi",
    "sameAs" : [ "https://www.linkedin.com/in/axelt/" ],
    "url" : "https://blog.blazingcdn.com/en-us/author/blazingcdn",
    "worksFor" : {
      "@id" : "https://blazingcdn.com/#organization"
    }
  },
  "dateModified" : "2026-10-27T08:31:55Z",
  "datePublished" : "2026-10-27T08:31:55Z",
  "description" : "Learn what is buffering, define buffering, and what video buffering means—plus why videos buffer and how to stop it.",
  "headline" : "What Is Buffering? Why Videos Buffer and How to Stop It",
  "image" : "https://143144902.fs1.hubspotusercontent-eu1.net/hubfs/143144902/Gemini-Blog/image-Oct-27-2026-08-30-18-2258-AM.jpeg",
  "inLanguage" : "en-us",
  "isPartOf" : {
    "@id" : "https://blog.blazingcdn.com/#website"
  },
  "mainEntityOfPage" : {
    "@id" : "https://blog.blazingcdn.com/en-us/what-is-buffering-why-videos-buffer-and-how-to-stop-it",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@id" : "https://blazingcdn.com/#organization"
  },
  "wordCount" : 1657
}
```

```json
{
  "@context" : "https://schema.org",
  "@id" : "https://blog.blazingcdn.com/en-us/what-is-buffering-why-videos-buffer-and-how-to-stop-it#breadcrumb",
  "@type" : "BreadcrumbList",
  "itemListElement" : [ {
    "@type" : "ListItem",
    "item" : "https://blog.blazingcdn.com/en-us",
    "name" : "Blog",
    "position" : 1
  }, {
    "@type" : "ListItem",
    "item" : "https://blog.blazingcdn.com/en-us/what-is-buffering-why-videos-buffer-and-how-to-stop-it",
    "name" : "What Is Buffering? Why Videos Buffer and How to Stop It",
    "position" : 2
  } ]
}
```

```json
{
  "@context" : "https://schema.org",
  "@id" : "https://blog.blazingcdn.com/en-us/what-is-buffering-why-videos-buffer-and-how-to-stop-it#faq",
  "@type" : "FAQPage",
  "mainEntity" : [ {
    "@type" : "Question",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "Buffering means the player has used up the media it downloaded in advance and is waiting for more before it can resume. It happens when segments arrive slower than the video plays for longer than the reserve lasts, usually 10 to 30 seconds. Repeated stops suggest the ABR is choosing a bitrate the connection cannot sustain."
    },
    "name" : "What does buffering mean when a video keeps stopping?"
  }, {
    "@type" : "Question",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "Engineers define buffering through two numbers: startup delay, the time from play to first frame, and rebuffering ratio, total stall time divided by total watch time. Initial loading is usually excluded from the rebuffering ratio. Many streaming teams target a rebuffering ratio below 1 percent, since viewer abandonment rises quickly as stalls become frequent."
    },
    "name" : "How do engineers define buffering in streaming quality metrics?"
  }, {
    "@type" : "Question",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "Video buffering on fast internet usually comes from throughput variance, not the advertised speed. Wi-Fi interference, congestion at peak hours, a cold CDN cache or a slow origin can drop segment throughput below the stream bitrate for tens of seconds. A speed test measures a short burst, while a stall reflects sustained shortfall."
    },
    "name" : "Why does video buffering happen on fast internet?"
  }, {
    "@type" : "Question",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "A CDN reduces video buffering when segments are served from cache close to the viewer, which lowers time to first byte and keeps throughput steady. The gain depends on cache hit ratio: misses still travel to the origin. Origin shield, request coalescing and cache warm-up for new releases protect live events and long-tail titles most."
    },
    "name" : "Does a CDN reduce video buffering?"
  } ]
}
```