Artificial Intelligence 12 min read

Bilibili's Intelligent Adaptive Bitrate Algorithm: From Theory to Practice

Bilibili enhanced mobile video streaming by replacing standard ABR methods with an intelligent adaptive bitrate system that uses a real‑time QoE model, refined network‑speed preprocessing, long‑term feature analysis, decision‑tree‑based neural models, and personalized user modes to balance resolution, buffering, and data usage.

Bilibili Tech
Bilibili Tech
Bilibili Tech
Bilibili's Intelligent Adaptive Bitrate Algorithm: From Theory to Practice

This article introduces Bilibili's implementation of Adaptive Bitrate (ABR) algorithms for video streaming on mobile devices. The content covers traditional ABR algorithms including THROUGHPUT, MPC, BOLA, and Pensieve, analyzing their characteristics and performance differences.

Background and Challenges: With network infrastructure improvements, users expect higher resolution video content (1080P, 4K, 8K). However, unstable network speeds can cause buffering. ABR algorithms adaptively select resolution to balance video quality and playback smoothness, maximizing QoE (Quality of Experience).

Root Cause Analysis: After deploying traditional algorithms, Bilibili found users frequently switched out of ABR mode due to: 1) Low resolution when network was good; 2) High resolution during network degradation causing buffering; 3) Users preferring manual low-resolution selection for data saving.

Bilibili's Solutions:

1. Real-time QoE Model: Based on subjective user rating experiments, Bilibili developed a real-time QoE model with memory effects. The model considers startup time, resolution, buffering events, and resolution switches to calculate user experience in real-time.

2. Network Speed Preprocessing: Addressed two issues - underestimated speed when application layer data accumulation causes near-zero fetch time, and overestimated speed when CDN timeouts add waiting time.

3. Intelligent Resolution Framework: Includes network long-term features (extracting speed percentiles and volatility from 3-minute data), startup resolution algorithm, and playback resolution decision center.

4. Model Deployment: Converted neural network models to decision trees using m2cgen, generating C++ code for client deployment with less than 1% QoE loss.

5. User Preferences: Categorized users into HD (quality priority), Auto (smoothness first), and Data Saver modes for customized experiences.

Machine Learningadaptive bitrateBilibiliclient-side AImobile videoPensieve algorithmQoE optimizationvideo streaming
Bilibili Tech
Written by

Bilibili Tech

Provides introductions and tutorials on Bilibili-related technologies.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.