Skip to main content

Video hosting explained: HLS vs MP4, bitrates and captions

Video is the heaviest thing most sites serve, and getting the format wrong is why viewers see a spinning wheel. Here is how to choose sensibly.

MP4 (progressive download) vs HLS (adaptive streaming)

  • MP4 is a single file served over plain HTTP. Simple, universally supported, but every viewer downloads the same quality.

  • HLS breaks the video into short segments at several quality levels and switches on the fly to match the viewer's bandwidth.

  • Use MP4 for short clips embedded on a page. Use HLS for anything long, anything mobile-first, or anything with a large audience.

Choosing bitrates

Match bitrate to resolution and accept that mobile viewers need smaller ladders. An adaptive ladder gives everyone a good experience.

  • 360p: ~700 kbps

  • 480p: ~1.2 Mbps

  • 720p: ~2.5 Mbps

  • 1080p: ~5 Mbps

Encode once, package properly

Use H.264 for the widest compatibility, then package to HLS with a master playlist that lists your renditions. A transcoder does this automatically; ask your provider whether it is included.

Captions are not optional

Captions improve comprehension, meet accessibility requirements and make your video indexable. Supply WebVTT files alongside each stream.

Embedding without surprises

Reference the HLS master playlist (for example with hls.js in the browser) rather than hotlinking a raw MP4. Set correct cache and CORS headers, and verify them with our HTTP header checker.

If you would rather not run the transcoding stack yourself, our video hosting plans handle encoding, HLS packaging and delivery for you.