Every user has a different network connection, device resolution and viewing preference. HTTP Live Streaming (HLS) delivers a smooth viewing experience without buffering interruptions by adjusting the quality of the video stream in real-time, based on the available network speed and user settings.

Smooth playback without buffering, at the highest possible quality

HLS Adaptive bitrate

When encoding a video into HLS format, multiple streams are created for different bandwidths and resolutions, and each stream is segmented into small parts. The video stream is switched midstream between multiple bit rates and/or resolutions, depending on the bandwidth capacity.

Cloudinary automatically generates multiple streams (also referred to as variants) at different resolutions, qualities and bitrates from the original video to deliver an adaptive streaming experience.

Note: If your iOS app delivers video over cellular networks, and the video exceeds either 10 minutes duration or 5MB of data in a five-minute period, you are required to use HTTP Live Streaming.

HTTP Live Streaming made simple

Fragmented streaming style

Simplify the encoding process by just uploading your video file and automatically generating the master playlist and all the representations, using one command. The playlist - which describes different segments and their corresponding timing - can be mapped to any video player.

With Cloudinary, you can simply select streams from a collection of predefined profiles, according to suggested best practices.

For example, the 4K profile creates eight different representations in 16:9 aspect ratio, while the SD profile creates only three representations, all in 4:3 aspect ratio. Other commonly used profiles include the HD and Full HD.

For advanced controls, you can also fine-tune the predefined profiles to fit your needs, or to create your own custom streaming profiles.

Adaptive streaming to various devices

Any video player that supports the HLS format can be used to deliver adaptive streaming to various devices.

The player determines and selects the suitable video stream from the master playlist, based on factors such as device type, resolution and current bandwidth. If these factors change, the video player switches to another stream that matches the new requirements. Some players also allow the user to actively select the preferred stream.