An adaptive bitrate ladder is the set of versions of a video that a streaming player can choose from. Each rung has a resolution and a bitrate; the player starts on one, watches how quickly segments download and moves up or down as the connection changes. Get the ladder right and a viewer on a train and a viewer on a 4K television both get smooth playback from one upload. Get it wrong and you either waste disk and bandwidth on rungs nobody uses or leave slow viewers with a spinner.
This article explains how a ladder works and then shows the real one that the UFOLOAD converter builds, with the bitrates taken from the converter itself, and what each rung costs in disk space per hour of video.
How the player picks a rung
The master playlist of an HLS stream lists every rung with three attributes that matter: BANDWIDTH, RESOLUTION and CODECS. The player measures its download speed over the last few segments and picks the highest rung whose BANDWIDTH fits comfortably under that speed. Two details are worth knowing.
First, BANDWIDTH is a peak value, not an average. If a playlist understates it, the player picks a rung that the connection cannot sustain and playback stalls, which is why our converter writes the peak and never zero. Second, switching happens at segment boundaries. Our segments are four seconds long and the encoder places a keyframe at the start of each one, so the player can jump between renditions without a glitch. A shorter segment reacts faster but adds requests; four seconds is a common compromise.
If you want to put such a stream on your own page, how to embed an HLS video shows the iframe and hls.js options.
The UFOLOAD ladder
The converter has four rungs: 2160p (4K), 1080p, 720p and 360p. A rung is only created if your source is at least that tall, because upscaling adds no detail and multiplies weight and encoding time. A 720p source produces 720p and 360p; a source smaller than 360p produces one rendition at its own size, so that every file has at least one playable version. Widths follow the aspect ratio of your source and are rounded to an even number, because H.264 with 4:2:0 chroma cannot encode odd dimensions. The widths below assume 16:9.
| Rung | Frame at 16:9 | Video cap | Quality target (CRF) | Audio | Peak size per hour |
|---|---|---|---|---|---|
| 2160p | 3840x2160 | 16 Mbit/s | 20 | 192 kbit/s | 6.79 GiB |
| 1080p | 1920x1080 | 5 Mbit/s | 22 | 160 kbit/s | 2.16 GiB |
| 720p | 1280x720 | 2.8 Mbit/s | 23 | 128 kbit/s | 1.23 GiB |
| 360p | 640x360 | 0.8 Mbit/s | 26 | 64 kbit/s | 0.36 GiB |
The default preset is medium, and the rung bitrates were chosen for ordinary H.264 content. The 1080p rung is capped at 5 Mbit/s: that is enough for a clean picture, and above it the file grows without a visible gain. 4K has four times the pixels of 1080p, so its cap is 16 Mbit/s, more than three times higher, to keep blocks from showing up in complex scenes.
The converter does not produce 480p or 240p. Fewer rungs mean less disk and shorter encoding, and between 360p and 720p the player still has a sensible step for slow mobile connections. Which rungs you actually get also depends on your plan: 360p and 720p are the baseline and the top rung is limited by the plan ceiling, listed on the pricing page. On the Free plan a video gets a single quality.
CRF and a bitrate cap: why file sizes are upper bounds
The encoder does not aim at a fixed bitrate. It aims at constant quality, expressed as CRF (constant rate factor): a lower number means a better picture and a larger file. Static talking-head video needs very little data to hit the target, an action scene needs a lot. To keep any single scene from flooding a slow connection, each rung also has a maxrate equal to the bitrate in the table and a buffer of twice that. The result is a stream that is usually below the cap and never above it for long.
That is why the sizes in this article are peak sizes. A lecture or a screen recording typically lands well under them. Talk-heavy content can be a fraction of the cap, high-motion sport or noisy footage gets close to it. When you size a library, use the peak for a safe budget and your own measured average for a realistic one.
The quality profile in the Encoding studio shifts this balance. The fast profile uses a faster x264 preset and gets the video ready sooner at slightly larger files; the quality profile uses a slower preset and a lower CRF for a cleaner picture, and is available on paid plans. The balanced default sits between the two.
What a ladder costs in disk space
One hour of video at the peak of each rung weighs 6.79 GiB at 2160p, 2.16 GiB at 1080p, 1.23 GiB at 720p and 0.36 GiB at 360p. A full ladder is the sum of the rungs that your source allows, and each rung is a separate file on disk:
| Source resolution | Rungs produced | Peak size per hour of video |
|---|---|---|
| 4K (2160p) | 2160p, 1080p, 720p, 360p | 10.54 GiB |
| Full HD (1080p) | 1080p, 720p, 360p | 3.75 GiB |
| HD (720p) | 720p, 360p | 1.59 GiB |
| Below 360p | One rendition at the source size | Depends on the source |
A concrete example: 100 hours of Full HD footage produces at most about 375 GiB of renditions. If you cap the top rung at 720p, the same hundred hours need at most about 159 GiB, a reduction of more than half. The top rung dominates the bill: dropping 4K from a library of 4K sources removes roughly two thirds of its weight. Whether a host counts these renditions against your storage quota is a separate question, discussed in how much video hosting costs; on UFOLOAD the quota is counted by the size of the files you upload.
Tuning the ladder in the Encoding studio
You do not have to accept the defaults. The Encoding studio in the dashboard has three settings that change how many rungs you store:
- Maximum resolution. Videos are never encoded above this value. Resolutions above your plan ceiling are locked.
- Lowest quality. Choose 360p, 720p or 1080p as the bottom rung. Raising it removes the small rungs, which saves disk and encoding time, but viewers on weak connections lose their fallback, so keep 360p if your audience includes mobile users.
- Quick presets. Maximum quality, balanced, save storage (up to 720p and only the qualities you need) and instant publishing for eligible accounts.
Changes apply to new uploads. To apply them to videos that are already in your library, use the re-encode action, which processes the newest videos in batches and has a cool-down between runs; videos stay playable while they are re-encoded.
If you build your own ladder
- Keep steps between neighbouring rungs at roughly 1.5 to 2 times in bitrate. Smaller steps add storage without a visible benefit, bigger ones make the quality jump obvious.
- Start low enough for your slowest realistic viewers. A rung that nobody can sustain is wasted; a missing bottom rung is a spinner.
- Align keyframes with segment length, and report the peak bitrate in the playlist.
- Do not upscale. Cap each rung at the source height.
- Measure which rungs your viewers actually use after a month and drop the ones that are never played.
For the whole pipeline, from upload formats to delivery, see the features page; for plan limits and prices, see pricing. If you are still comparing options, the video hosting checklist covers encoding and quality questions to ask any provider.
Upload a video, get an HLS player and an API key in minutes. Plan limits are listed on the pricing page.