hls-streaming

Adaptive Bitrate Streaming

7 min read

Adaptive bitrate streaming is a technique used to optimize viewing experience for every user and device. Here's looking at how ABR streaming works and why it's advantageous.

Karan Singh
Karan Singh

30 May 2022

Adaptive Bitrate Streaming

Introduction

For broadcasters to deliver a top-grade user experience, it is imperative to optimize video streams for every user and device worldwide. Your viewers are unlikely to put up with poor-quality streams for long—consumer tolerance for bad streams happens to be around 90 seconds; beyond that, nearly 50% of viewers abandon low-quality streams.

However, most viewers stream videos using their home internet connections—and therefore, bandwidths and network speeds drastically vary. Not to mention, video streaming also depends on a device's playback and processing capacities. So, how do broadcasters ensure first-rate streaming quality for every end-user with a different device?

This is where adaptive bitrate streaming (ABR) comes in.

It allows companies to optimize streaming quality for every user and device while ensuring maximum efficiency and usability.

In this article, we'll deep-dive into how adaptive bitrate streaming works and what makes up an ABR profile so you can put together an ABR workflow for your broadcasts

What is adaptive bitrate streaming?

Adaptive bitrate streaming (ABR) is a method that allows video player clients to optimally choose video resolutions and offer multiple streams to users.

Streaming — or watching live or recorded media content via the internet — involves the continuous transmission of video/audio files from a remote server to a client. It is the process of segmentation of media content into smaller clips so consumers can playback videos in real-time without having to wait for them to load entirely.

A "bitrate" indicates the speed at which data travels over different HTTP networks. A streaming video's standard bitrate measure is expressed as megabits per second (Mbps), which is different from how video files are measured i.e. megabytes per second (MBps). In practice, when we say a high-bitrate connection, we are referring to a high-speed internet connection—and hence, a smoother streaming experience.

Using adaptive bitrate streaming, broadcasters can dynamically match streaming quality to fluctuations in internet connections, available bandwidths, and different devices' processing capacities. Simply put, the stream's bitrate is automatically upgraded and downgraded in real-time to deliver a high-quality streaming experience.

Multi-bitrate streaming

ABR is NOT to be confused with multi-bitrate streaming (MBR) which means offering multiple stream options for a broadcaster to choose accordingly. However, since MBR streaming doesn't involve adapting accordingly to different network conditions, any fluctuations in bandwidths can result in increased buffering times. Therefore, it is not ideal for all streaming environments.

Multi-Bitrate Streaming

Factors affecting streaming video bitrate

Video streaming bitrate is a characteristic of video resolution, codec, video content complexity, and frame rate:

  1. Video streams usually have a resolution of 480p, 720p,  1080p, or higher depending on the display screen. High resolutions are indicative of high-quality viewing experiences with sharp, high-definition images appearing on the display.
  2. Depending on how effective a codec is at compressing raw video data, the quality of the video varies. Generally, high-quality videos have a higher bitrate. However, with new-age codecs like H.264 and H.265, it is possible to produce high-resolution picture quality at low bitrates.
  3. Higher frame rates are directly proportional to smoother playbacks. While some companies require 24 frames per second (fps) to display motion effectively, others use 30 to 60 fps. It should be noted that higher frame rates translate to higher data requirements.

📹
Gumlet offers ABR to seamlessly stream the right quality and resolution of videos with every view. Get in touch with us to know more.

How does adaptive bitrate streaming work?

Here's a 3-step explanation of how video playback is optimized using ABR streaming to deliver the best video quality:

  1. Prepping video for ABR

It begins with an encoder preparing video for ABR streaming — multiple bitrates are created to support the target ABR streaming profile (it works well with HTTP-based streaming protocols). New-age video encoders can generate multiple digital formats from one source file.

The encoded chunks of video files are segmented into 2 to 10 seconds-long files depending on the requirement.

2. Accessing videos and bitrates via a manifest

Video players leverage manifests that contain information regarding the videos and available bitrates so as to match playback with the user's network connection and device.

The manifest file for HTTP Live Streaming (HLS) is the .m3u8 playlist whereas DASH carries the media presentation description (MPD).

Once the video player has access to the streaming profile (discussed in further sections), it works with content delivery networks (CDNs) and begins playback as the video content becomes available on the local web server. This further decreases startup times reduces latency and cuts down packet loss.

3. Dynamic adapting to network conditions and available bandwidths

Evert broadcaster relies on their own ABR algorithm (to determine which bit rates are to be downloaded to ensure a smooth streaming experience. They usually begin with downloading the lowest bit rate and go higher as network conditions permit.

While some adaptive players leverage throughput-based algorithms that depend on previous streams to decide the next bitrate, others rely on buffer-based algorithms to optimize streams in a manner that the local buffer always has a sufficient video available for playback.

A combination of both algorithms — a hybrid algorithm — switches bit rates by continuously assessing the speed and buffer occupancy.

Adaptive Bitrate Streaming

Adaptive Bitrate Streaming Profiles

The information contained in a manifest includes a set of varying parameters that are required to optimize a particular video file for different devices and networks. Creating ABR streaming profiles involves putting together a unique ladder with information on different bitrates, frame rates, video resolutions, codecs, and so on.

While some ABR ladders can universally optimize videos for all platforms and network connections (eg: Apple's fixed bitrate encoding ladder which was later refined by adaptive bitrate streaming Netflix), there are others that also take into account the processing capacities of different smartphones and smart TVs while encoding. This is referred to as context-aware encoding (CAE) and is known to deliver high-quality streams at lower bandwidths.

Support for video streaming protocols

As it happens, streaming profiles vary with different broadcasters. This means the streaming protocols, video players, and bit rates that will be included in different streaming profiles depend on the respective goals of the broadcaster.

OTT services typically leverage HLS or MPEG-DASH where ABR streams are segmented into 1 – 15 seconds videos each.

Dynamic Adaptive Streaming over HTTP (DASH)

A commonly used streaming codec-agnostic protocol is Dynamic Adaptive Streaming over HTTP (DASH) — or MPEG-DASH — which is compatible with almost every new-age browser. It should be noted that MPEG-DASH doesn't work with HTML5, but it is supported by most video players due to adaptive bitrate streaming in JavaScript and Media Source Extensions (MSEs).

HTTP Live Streaming (HLS)

Among the most popular streaming protocols that allows ABR streaming is the Real-time Messaging Protocol (RTMP) which is compatible with Flash Player. On the flip side, the majority of browsers support HTML5 video players today. So, RTMP is not always suitable for ABR streaming.

The more preferred option in this case—and most cases—is HTTP live streaming (HLS) which supports H.264 and H.265 codecs. HLS adaptive streaming is widely known to reduce latency since it allows videos to be segmented into much smaller files.

HTTP Dynamic Streaming (HDS)

HDS — or HTTP dynamic streaming — is an Adobe-developed adaptive bitrate streaming method that facilitates delivery of MP4 video content over HTTP-based connections. Since Adobe Flash Player is discontinued now, HDS is majorly supported by Adobe AIR.

HDS works efficiently for on-demand or live streaming (not compatible with Apple devices) because HTTP allows the HDS streams to be cached. This is usually carried out by a CDN.

Microsoft Smooth Streaming (MSS)

MSS — or Microsoft Smooth Streaming — is a set of ABR technologies that cater to the Microsoft ecosystem. For instance, streaming audio or video on Windows 7 or above, Microsoft's Silverlight, Xbox 360, and so on.

Benefits of adaptive bitrate streaming

ABR streaming offers the following benefits:

  • High-quality streaming experience: ABR effectively minimizes buffering despite poor Internet connections; viewers can enjoy a seamless streaming experience without unnecessary disruptions.
  • Reduced start-up times: Adaptive bitrate streaming begins playback at the lowest bitrate stream and therefore, you don't have to wait for the video load.
  • Highly optimized for mobile phones, tablets, and laptops: ABR is limited by a device's processing power; it ensures smooth streaming despite constraints (if any) in this regard.
  • Supports an extensive range of CDNs and servers: Since ABR streams rely on HTTP-based technologies for delivery, they are compatible with almost every web server and video content delivery network (CDN).

Difference between Progressive streaming and adaptive streaming

Progressive video streaming should not be mistaken for adaptive streaming.

While adaptive streaming involves delivering the best video quality despite network conditions and device specifications — progressing streaming refers to the same video file (.mp4 or another format) being streamed over the internet. It can be configured (stretched or squashed only) to fit different devices and screen sizes but the video file does not change.

ABR streams leverage HTTP-based mechanics like MPEG DASH and HLS to deliver video streams and progressive streaming uses a HTTP web server to stream media rather than a streaming server.

Progressive Streaming

Progressive streaming has two limitations to it:

  1. If a video file's resolution is 1280 x 720 and the screen it is being played on is 1920 x 1080px, the video will appear stretched and pixelated.
  2. Progressive streaming is also associated with prolonged buffering, which is made worse by poor internet connections.

ABR streaming overcomes both of this quality and buffering problems:

  1. Since it allows video player clients to configure videos for different devices and screen sizes, it does not pose any video quality issues.
  2. Secondly, ABR streaming allows video players to dynamically adapt to a user's internet speeds. When there's a slow connection, it switches to downloading smaller videos to ensure uninterrupted streaming.

Gumlet supports adaptive bitrate streaming

Gumet offers a simple, fully-managed solution to help broadcasters efficiently optimize video streams for end-users.

With Gumlet's HTML5 ABR video players, intuitive video transcoding tools, and flexible encoding capabilities, businesses can ensure content delivery of video content in the most efficient way possible. Swiftly optimize your video streams with ABR streaming — and enhance user experience with high-quality streaming experience!

📹
Stream videos to millions in minutes with a seamless end-user experience with every view. No credit card required.

Conclusion

With dynamic fluctuations in internet connections, evolving bandwidths, and variations in system performances, it is not easy for broadcasters to deliver buttoned-up streams at all times. However, new-age technologies like Adaptive bitrate streaming are playing a crucial role in helping broadcasters deliver high-quality streams while maximizing usability for every user and device.

If you are looking to optimize your video streams for greater accessibility and quality, consider signing up on Gumlet today!

Subscribe to Latest Post

Don't miss out on latest article and more related posts.


Related Readings

Understanding Digital Video - Formats, Codecs, Containers

Understanding Digital Video - Formats, Codecs, Containers

This article will mainly discuss these three terms - Video formats, Video containers, and Video codecs. And how these terms are inter-connected.
Nitin Meena
Nitin Meena

29 Aug 2022 - 7 min read

LCP - What is Largest Contentful Paint?

LCP - What is Largest Contentful Paint?

Largest Contentful Paint is crucial in measuring page load performance. This blog aims to educate readers about LCP and related improvement measures.
Divyesh Patel
Divyesh Patel

9 Oct 2021 - 3 min read

How Page Speed and Image Optimization Affects Website SEO

How Page Speed and Image Optimization Affects Website SEO

Page speed and image optimization directly affect website SEO. Learn how Page Speed Affects SEO Rank and why images affect page speed. Discover the best practices to improve website page speed and how to optimize images for SEO.
Nitin Meena
Nitin Meena

8 Oct 2021 - 4 min read

Ready to get started?

Sign up and start optimizing your videos and images by up to 68% with Gumlet. No credit card is required. No credit card is required. You can also reach out to get a custom pricing estimate or to schedule a demo

Optimizing videos is hard, but
our pricing is not

Simple per-minute pricing with no hidden fees.
Pricing details

Effortlessly integrate Gumlet into your existing stack

Upload with API and set webhooks for output in minutes.
Integration guide