Segment duration: the trade-off between latency, overhead and seek speed
Segment length is a balance, not a setting to copy from a tutorial. Too long and everything feels slow; too short and the request overhead itself becomes the bottleneck on television hardware.
What long segments cost
The player cannot start until it has at least one complete segment, so a ten-second segment at a high bitrate means a long wait for the first frame. Seeks pay the same price, because the player has to fetch the whole segment containing the target position before it can decode. And every rebuffer lasts longer, since the player needs a full segment to resume.
Long segments also blunt adaptive bitrate. Throughput is measured per download, so the player only gets a new reading every ten seconds and reacts to a drop in bandwidth well after the buffer has started to drain.
What short segments cost
Going the other way multiplies requests. Two-second segments on a two-hour film mean thousands of fetches, each with its own connection overhead and, if keep-alive is not working end to end, its own TLS handshake. On modest television hardware that overhead is large relative to the segment itself, and it is where TV browsers are weakest.
The manifest grows with the segment count, which matters on devices that re-parse it on every refresh, and the operational side grows too: more objects in origin storage, more entries in the CDN cache, more work for the packager. None of it is fatal, but all of it adds up.
- Long segments: slow start, slow seeks, long rebuffers, sluggish ABR reaction.
- Short segments: request overhead, larger manifests, more origin and CDN objects.
- Either way: segments not aligned to keyframes cause failures at rendition switches.
Practical defaults
For on-demand content on Smart TVs, four to six seconds is the range that works. For live, two seconds is a reasonable default when latency matters, and low-latency HLS or DASH can go further by delivering partial segments as they are produced, at the cost of tighter CDN requirements and more fragile behaviour on older players. Whatever the duration, segment boundaries must land on keyframes, with a fixed GOP across every rendition so a switch never requires the player to discard buffered data.
Packaging as CMAF - fragmented MP4 segments shared between HLS and DASH - keeps a single set of media on origin regardless of segment length, so the duration decision does not have to be made twice.
Test the decision on the slowest device
The right duration is the shortest one the oldest device you support handles without visible overhead. Measure startup time, request rate and CPU on that device with two candidate durations rather than deciding from a desktop browser, where every option looks fine.