media server logo

How to Create an Adaptive Bitrate HLS Player in Callaba

Nov 15, 2024

An adaptive bitrate HLS player helps the viewer get a smoother playback experience because the player can switch between renditions as connection quality changes. Instead of forcing one bitrate on every device and every network, the playback path adapts to what the viewer can actually sustain.

This page shows the practical Callaba workflow: create a web player, connect the source, enable adaptive bitrate, configure transcoding, preview the result, and share the player. If you want the protocol background first, see HLS and bitrate. If you want to understand where the player fits in a larger product workflow, see video embedding and Video API.

Adaptive bitrate is most useful when the audience watches on mixed devices, mixed networks, or both. It is not just a quality feature. It is a reliability feature for playback.

What you are building

  • an HLS web player
  • adaptive bitrate playback across multiple renditions
  • a shared playback URL for viewers

In practice, the player will be able to serve viewers on stronger and weaker connections without forcing them all into the same quality profile.

Key practical advantages

  • playback can adapt to the viewer's available bandwidth
  • the audience can still choose a preferred resolution when needed
  • one player can serve live or on-demand workflows more cleanly across a mixed device base

Step 1. Create a new web player

Go to the Web Players section in Callaba and click Add New.

Give the player a name that will still make sense later when you have more than one source, event, or customer environment.

Step 2. Choose the video source

Now choose where the player should get the media from. The source can be a local SRT server, an RTMP path, or an external HLS URL. In the example workflow, an HLS URL is used as the source.

The practical rule is simple: choose the source that already represents the playback-ready stream, not just the earliest ingest point in your wider workflow.

Step 3. Enable adaptive bitrate

Open Adaptive Bitrate Settings and select the original source resolution, for example 1080p.

Adaptive bitrate in this workflow supports downscaling, not upscaling. That means the source should start from the highest practical rendition you want the ladder to be based on.

Step 4. Configure transcoding

Open Video Settings and configure transcoding so the system can generate multiple renditions at different bitrates.

This is the step that makes adaptive playback possible. Without multiple output renditions, the player has nothing meaningful to switch between.

Step 5. Save and preview the player

Click Save, then use Preview to confirm that the player works and that the adaptive behavior is ready for real viewing conditions.

At this stage, do not only check whether video starts. Check whether the source, renditions, and player behavior all make sense for the actual viewing scenario.

Step 6. Share the player

Open Info to get the web player URL. This is the path you can share with viewers or integrate into a website or product flow.

Step 7. Validate the final playback experience

Confirm that the player behaves well across different connection conditions and device types before treating it as production-ready.

If playback works in one ideal test browser but not on a weaker connection or different device class, the player is not finished yet. Adaptive bitrate should be validated under real variation, not only in a clean office network.

What to check before publishing

  • the source is the right playback input, not just a temporary test URL
  • transcoding produces the renditions you actually want
  • the top rendition is realistic for the source and audience
  • the player starts quickly and remains stable when bandwidth changes

Where this fits in the wider stack

This player setup is often one part of a larger workflow:

  • Video on Demand when the content becomes a retained library asset
  • embedded playback when the player is used inside sites, products, or course pages
  • Video API when the player becomes part of an application-controlled media product

Final practical rule

An adaptive bitrate HLS player is not just a player with a checkbox turned on. It only works well when the source is appropriate, transcoding creates the right ladder, and the playback result is tested under the mixed network conditions real viewers actually have.