Streaming video has become a major part of how we entertain ourselves, learn new skills, and connect with others. Whether you’re watching a movie, attending a live event, or participating in a virtual meeting, the quality of the video stream plays a crucial role in the overall experience. However, streaming comes with its own set of challenges, particularly when internet speeds fluctuate or devices vary in capability. This is where Adaptive Bitrate Streaming (ABR) comes in.

If you’ve ever streamed a live event and noticed the quality suddenly drop, that was ABR in action. To avoid buffering and pauses, the stream lowers its resolution temporarily. The quality adjusts to keep the video playing smoothly.

The quality of a video stream is determined by the bitrate – the amount of data transmitted per second. ABR manages this rate by dynamically adjusting the data flow based on network conditions and device capabilities. This ensures smooth playback with minimal buffering, even when internet speeds fluctuate.

How does adaptive bitrate streaming work?

How does adaptive bitrate streaming work? ABR relies on solving two key challenges:

  • Offering multiple quality levels of the video stream.
  • Choosing the best quality level based on real-time conditions.

n traditional HTTP-based streaming protocols like HTTP Live Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (MPEG-DASH), ABR works by pre-encoding video content at several resolutions and bitrates and storing those versions on a server. The video player then selects which version to stream depending on network conditions and device capability. If bandwidth drops, it switches to a lower bitrate version to prevent buffering. When conditions improve, it upgrades the stream quality.

This two-part strategy allows for smooth, responsive playback that adjusts in real time. Because ABR runs over standard HTTP infrastructure, it’s also highly scalable and works across a wide range of devices and geographic locations.

How is ABR used in WebRTC?

Since many of our video applications at Nabto use Web Real-Time Communication (WebRTC), it’s important to understand how adaptive bitrate streaming works specifically in real-time, peer-to-peer scenarios.

Unlike HTTP-based streaming, WebRTC does not rely on pre-encoded and segmented video. Instead, it must adapt on the fly, which makes some traditional ABR mechanisms unsuitable. But the core goal remains the same: offer multiple quality levels and dynamically select the best one.

Essentially, WebRTC uses different techniques to solve those same two key challenges.

1. Mechanisms for offering multiple quality levels:

  • Simulcast: The sender transmits multiple streams of the same video at different bitrates and resolutions.
  • Scalable Video Coding (SVC): The sender transmits a single stream composed of layers (base and enhancement layers), which the receiver can selectively decode to adjust quality.

These approaches give the receiver or media server flexibility to downshift or upshift quality based on conditions.

2. Mechanisms for determining the optimal bitrate:

The first of the two mechanisms in this category is RTCP (Real-Time Control Protocol) feedback, which provides ongoing reports about packet loss, round-trip time, and jitter. The second mechanism is congestion control algorithms, including:

  • Google Congestion Control (GCC): Used in many Chrome-based WebRTC implementations.
  • Scalable and Controlled Real-time Media Communication (ScReAM): Focuses on low-delay, congestion-aware media transmission.
  • TCP-Friendly Rate Control (TFRC): Maintains compatibility with TCP flows by controlling the send rate based on loss events.

These tools monitor real-time network conditions and instruct the sender to adjust video parameters, such as resolution, frame rate, and bitrate, accordingly.

For example, in a poor network environment, a WebRTC application may use RTCP feedback and congestion control to automatically reduce bitrate and frame rate, possibly switching to a lower layer in an SVC stream or a lower stream in a simulcast setup. When conditions improve, the system reverses the adjustments to enhance video quality.

By combining these mechanisms, WebRTC enables real-time adaptive streaming that doesn’t require pre-encoded segments. The result is a responsive, low-latency video experience that works well even in fluctuating network conditions, whether you’re on a call in a remote area or monitoring an IoT device from across the world.

How does this relate to IoT?

Adaptive bitrate streaming plays a critical role in many Internet of Things (IoT) applications that depend on consistent video quality. Security cameras and surveillance systems use ABR to deliver stable streams, allowing a business owner to monitor their premises remotely without glitches or buffering.

Similarly, in WebRTC-based IoT scenarios like remote-controlled drones, robotic systems, or even doorbell cameras, some level of adaptive streaming is essential. These systems often stream video in real time over unstable wireless networks. By adjusting resolution and bitrate on the fly, WebRTC ensures that operators still receive continuous visual feedback even in poor connectivity conditions.

In industrial IoT, ABR enables real-time video streaming from remote locations, such as checking the condition of pipelines on oil rigs, inspecting irrigation systems on farms, or monitoring factory machinery in areas with spotty connectivity. By adjusting video quality based on network conditions, ABR helps critical systems stay online and accessible, even in places where connections can be unpredictable.

Connected vehicles and telematics systems – which collect and transmit data from vehicles in real time – also benefit from ABR by streaming dashcam footage and real-time navigation data. For example, a rideshare driver’s dashcam can continue recording and uploading footage even as the vehicle moves through areas with weaker coverage. Navigation apps can also update maps and traffic information smoothly, helping drivers avoid delays without losing connection.

In healthcare and telemedicine, IoT-enabled medical devices use ABR to support video consultations. A doctor can conduct a virtual appointment with a patient in a rural area, with the video adjusting quality automatically to stay connected even when bandwidth drops. Remote monitoring devices in hospitals can also stream video updates to specialists, ensuring clear communication without overwhelming the network. By optimizing video delivery across diverse environments, ABR makes real-time video streaming more reliable and practical for critical uses.

Best bit rates

Choosing the right bitrate is essential for ensuring smooth, high-quality video streaming. Bitrate determines how much data is transmitted per second in a stream, directly impacting video quality and bandwidth usage. Remember that ABR dynamically adjusts the bitrate based on network conditions and device capabilities, making it preferable to fixed bitrates.

Here are the ideal bitrates for different video resolutions and frame rates:

1080p at 60fps (Full HD):

  • Bitrate: 4,500 – 6,000 Kbps
  • This range delivers high-quality video with clear details and smooth motion, perfect for viewers with strong internet connections.

720p at 30fps (HD):

  • Bitrate: 2,500 – 4,000 Kbps
  • A suitable range for moderate internet speeds, providing clear video without overloading bandwidth.

480p at 30fps (Standard Definition):

  • Bitrate: 1,000 – 2,500 Kbps
  • Ideal for slower connections, offering smooth playback while minimizing data usage and maintaining basic video quality.

The key to a seamless streaming experience lies in finding the right balance. A high bitrate can cause buffering on slower connections, while a low bitrate may lead to poor video quality. ABR technology ensures these adjustments happen automatically, maintaining smooth playback even when network speeds fluctuate.

ABR also enhances the viewing experience across different devices. Whether you’re streaming on a smartphone, tablet, or smart TV, ABR adapts the video quality to the device and network, ensuring the best experience. In areas with limited bandwidth, ABR lowers the bitrate to avoid buffering, and when the connection improves, it increases the quality for a sharper, smoother video.

By dynamically adjusting to real-time conditions, ABR optimizes both video quality and bandwidth efficiency, ensuring users have the best streaming experience, no matter where they are or what device they’re using.

Note that in WebRTC, however, bitrates may vary more frequently than in traditional streaming since the system adapts in real time based on conditions like CPU load and network congestion. The goal isn’t fixed quality, but rather a continuous balance between visual clarity and uninterrupted delivery.

Future trajectory with AI

As internet speeds and device capabilities continue to improve, developers are finding new ways to make ABR even smarter by combining it with AI. Although ABR has already made streaming smooth by adjusting video quality to fit available bandwidth, upcoming advancements are pushing this technology even further to deliver personalized, seamless, and highly optimized video experiences.

AI can enhance ABR by predicting network fluctuations and device performance more accurately. Traditional ABR systems adjust quality in real-time based on immediate network conditions, but with AI, these systems can look ahead, anticipating potential bottlenecks or connectivity issues before they even happen. This predictive approach ensures that the user experience remains uninterrupted, even during sudden spikes or drops in network performance.

For example, AI-driven ABR systems could monitor historical data from a user’s internet connection and predict the optimal bitrate ahead of time, adjusting the stream for the best possible quality based on patterns, time of day, or even the type of content the user is watching. If someone regularly experiences network slowdowns during evening hours, the system could proactively lower the stream’s quality slightly before a buffering event occurs. Whether the user is watching a live sports game, participating in a virtual class, or attending an important video meeting, the experience would stay smooth and uninterrupted.

In the context of IoT, AI-enhanced ABR would be particularly beneficial. For instance, in industries like healthcare, in which video consultations are becoming more prevalent, AI could ensure that video quality is consistently clear even during peak usage times or in remote areas with fluctuating network availability. AI could also assess the quality of real-time video feeds from security cameras, drones, or remote industrial machines, adjusting the video quality based on the importance of the content being streamed.

Final thoughts

ABR has redefined how we consume video, becoming a cornerstone of both entertainment and IoT applications. By dynamically adjusting video quality based on network conditions and device capabilities, tools like ABR and WebRTC’s adaptive features help to ensure a flawless viewing experience, even when connectivity is unpredictable.

As the demand for high-quality, on-demand content grows and IoT systems continue to play a pivotal role in industries worldwide, adaptive streaming will remain essential, driving not only better video experiences but also more intelligent systems.

Read our other resources

We’ve published a range of resources for our community, including:

Want to learn more about P2P IoT?

Please visit the:
P2P IoT Academy

Deep dive Into our documentation?

Please visit the:
Nabto Platform Overview

Try our demo for Video Surveillance?

Please visit the:
Nabto Edge
Video Cam Demo

Looking for other Great posts?

###