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.