Overview of Adaptive Bitrate Algorithms and ABR Design for Video Streaming

undefined
AAMP Adaptive Bitrate Algorithms
Overview of AAMP ABR Behavior
Comcast Confidential & Proprietary
ABR Design - Throughput
Video/Audio/Iframe Segments
Segment
Downloader
Retry download on timeout
Video Segment
Size (bytes) >
aamp-abr-
threshold-size
Successful Download
Downloaded bytes / time
Downloaded bytes / time
Downloaded bytes / time
Update Persisted Recent Download Statistics
Bitrate Data Store of
size = abrCacheLength
(history cache size)
Default Settings
:
abr-cache-length = 3
abr-cache-life = 5 sec
abr-cache-outlier = 5 Mbps
aamp-abr-threshold-size= 6000
GetNetworkThroughput
Read download info
< abr-cache-life
Network throughput estimation;
smoothing heuristic: Ignore outliers
bps ( > abr-cache-outlier)
Comcast Confidential & Proprietary
ABR Design - Throughput
ABR check - after each
segment download
GetNetworkThroughput
Read
throughput
Total Dnld
duration > abr-
skip-duration*
Default Settings
:
abr-skip-duration = 6 (2sec * 3 segs)
abr-nw-consistency = 2
Nw
throughput
< Profile
BW
No
New Profile Selection based on
NW BW
Note:
*abr-skip-duration interval prevents profile switching immediately after 1
st
 segment download during tune.
* consistency count set to 1 during first profile switch after tune to reduce additional segment download time for profile change .
Yes
Yes
Is new profile
consistent
(abrNwConsistency
– thrashing
avoidance when on
edge)
Apply New Profile
Comcast Confidential & Proprietary
Hybrid ABR ( Throughput + Buffer)
Profile Selection based on NW
BW
Profile
Changed ?
Check for enough buffer before
rampup (max-buffer-rampup) .If
not switch to previous profile
New Profile
> Current
Profile  ?
Default Settings
:
max-buffer-rampup= 15sec
Minimum buffer = 1 fragment
duration + NetworkDownload
Timeout(10sec)
If one profile download and if
*minimum buffer available
,then not to switch profile.
Yes
Yes
ABR Valley escape
heuristic
No
No change in profile for some
duration .
Buffer >
max buffer
?
Buffer <
min buffer
?
Select Next Higher
profile
Select Next Lower
profile
Apply New Profile
Comcast Confidential & Proprietary
Hybrid ABR ( Throughput + Buffer) – Variable Timeouts
Download timeouts are configured for a fixed/App configured timeout value ( Default of 10sec)
With Hybrid ABR , timeout interval will be changed based on the buffer value available
If video playback buffer > MaxBuffer Configured   , then increase the timeout value .
If video playback buffer < MaxBuffer Configured , then set the timeout to Fixed/App configured timeout interval
Increased download timeout interval prevents frequent ABR rampdown  , due to download delays .
If download bps < profile bps && download time < fragment duration , then download bps = profile bps . This
also keeps ABR steady .
Slide Note
Embed
Share

This content provides insights into the Adaptive Bitrate Algorithms (AAMP) and ABR Design, focusing on behaviors, throughput considerations, network consistency, profile selection, buffering strategies, and hybrid approaches. It covers topics such as segment downloading, network throughput estimation, profile switching, and buffer management in video streaming applications.

  • Adaptive Bitrate Algorithms
  • ABR Design
  • Video Streaming
  • Network Throughput
  • Buffer Management

Uploaded on Sep 12, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. AAMP Adaptive Bitrate Algorithms Overview of AAMP ABR Behavior

  2. ABR Design - Throughput Retry download on timeout Default Settings: abr-cache-length = 3 abr-cache-life = 5 sec abr-cache-outlier = 5 Mbps aamp-abr-threshold-size= 6000 Segment Downloader Video/Audio/Iframe Segments Video Segment Size (bytes) > aamp-abr- threshold-size Successful Download Update Persisted Recent Download Statistics Downloaded bytes / time GetNetworkThroughput Bitrate Data Store of size = abrCacheLength (history cache size) Downloaded bytes / time Read download info < abr-cache-life Downloaded bytes / time Network throughput estimation; smoothing heuristic: Ignore outliers bps ( > abr-cache-outlier) Comcast Confidential & Proprietary Comcast Confidential & Proprietary 2

  3. ABR Design - Throughput ABR check - after each segment download GetNetworkThroughput Default Settings: abr-skip-duration = 6 (2sec * 3 segs) abr-nw-consistency = 2 Read throughput Nw Total Dnld duration > abr- skip-duration* throughput < Profile BW No Yes Yes New Profile Selection based on NW BW Is new profile consistent (abrNwConsistency thrashing avoidance when on edge) Apply New Profile Note: *abr-skip-duration interval prevents profile switching immediately after 1st segment download during tune. * consistency count set to 1 during first profile switch after tune to reduce additional segment download time for profile change . Comcast Confidential & Proprietary Comcast Confidential & Proprietary 3

  4. Hybrid ABR ( Throughput + Buffer) Default Settings: max-buffer-rampup= 15sec Minimum buffer = 1 fragment duration + NetworkDownload Timeout(10sec) Profile Selection based on NW BW No Profile Changed ? ABR Valley escape heuristic Yes No change in profile for some duration . New Profile > Current Profile ? Yes Check for enough buffer before rampup (max-buffer-rampup) .If not switch to previous profile If one profile download and if *minimum buffer available ,then not to switch profile. Buffer < min buffer ? Buffer > max buffer ? Select Next Lower profile Select Next Higher profile Apply New Profile Comcast Confidential & Proprietary Comcast Confidential & Proprietary 4

  5. Hybrid ABR ( Throughput + Buffer) Variable Timeouts Download timeouts are configured for a fixed/App configured timeout value ( Default of 10sec) With Hybrid ABR , timeout interval will be changed based on the buffer value available If video playback buffer > MaxBuffer Configured , then increase the timeout value . If video playback buffer < MaxBuffer Configured , then set the timeout to Fixed/App configured timeout interval Increased download timeout interval prevents frequent ABR rampdown , due to download delays . If download bps < profile bps && download time < fragment duration , then download bps = profile bps . This also keeps ABR steady . Comcast Confidential & Proprietary Comcast Confidential & Proprietary 5

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#