Adaptive Bitrate trong ứng dụng di động — khái niệm, thuật toán và giao thức

Tác giả: IT Sectr Đã đăng: 2026-05-24 Thời gian đọc: 8 phút

Adaptive Bitrate (ABR) là công nghệ phát trực tuyến thay đổi linh hoạt chất lượng video dựa trên băng thông kênh của người dùng. Không giống như tải xuống tuần tự, ABR chia video thành các phân đoạn nhỏ 2–10 giây và chuyển đổi giữa chúng khi đang phát. Theo Báo cáo nhà phát triển video Bitmovin (2025), 86% dịch vụ phát trực tuyến sử dụng ABR để đảm bảo phát lại mượt mà trên thiết bị di động.

Những điểm chính

  • ABR — công nghệ phát trực tuyến bitrate thích ứng thay đổi chất lượng video theo điều kiện mạng.
  • Phân đoạn — video được chia thành các mảnh 2–10 giây, mỗi mảnh có nhiều bitrate.
  • HLS và MPEG-DASH — các giao thức chính cho phát trực tuyến ABR trong ứng dụng di động.
  • Thuật toán chọn bitrate bao gồm các phương pháp dựa trên thông lượng, bộ đệm và kết hợp.
  • ABR cải thiện UX bằng cách giảm thiểu bộ đệm và cho phép bắt đầu phát nhanh.

Adaptive Bitrate là gì?

Adaptive Bitrate (ABR) là phương pháp phát trực tuyến nội dung đa phương tiện trong đó tệp video được mã hóa thành nhiều biến thể với bitrate và độ phân giải khác nhau, và trình phát tự động chọn biến thể phù hợp trong thời gian thực. Người dùng nhận được chất lượng cao nhất có thể mà không bị đệm dựa trên tốc độ internet hiện tại của họ.

Không giống như tải xuống tuần tự truyền thống, ABR không yêu cầu tải toàn bộ tệp — trình phát yêu cầu các phân đoạn ngắn ở chất lượng mong muốn và có thể chuyển sang bitrate khác giữa các phân đoạn. Điều này làm cho công nghệ trở nên không thể thiếu cho các ứng dụng di động, nơi tốc độ mạng liên tục thay đổi.

Lịch sử của ABR

Công nghệ phát trực tuyến thích ứng lần đầu tiên được Move Networks triển khai thương mại vào năm 2006 để phát sóng kênh truyền hình ABC. Năm 2009, Apple giới thiệu HTTP Live Streaming (HLS), trở thành tiêu chuẩn ABR dựa trên HTTP đầu tiên được áp dụng rộng rãi và vẫn thống trị hệ sinh thái iOS.

Năm 2012, MPEG đã phát hành tiêu chuẩn MPEG-DASH (Dynamic Adaptive Streaming over HTTP) như một định dạng ABR phổ quát không gắn với nhà cung cấp cụ thể nào. DASH được hỗ trợ bởi tất cả các nền tảng chính và là tiêu chuẩn ABR duy nhất được ISO thông qua.

ABR hoạt động như thế nào?

Quy trình phát trực tuyến ABR bắt đầu ở giai đoạn chuẩn bị nội dung: video nguồn được mã hóa thành nhiều biến thể với bitrate khác nhau — ví dụ: 144p, 360p, 720p, 1080p và 4K. Mỗi biến thể được chia thành các phân đoạn có độ dài bằng nhau, thường là 2, 4, 6 hoặc 10 giây.

Một tệp kê khai được tạo trên máy chủ, mô tả các biến thể có sẵn, bitrate, độ phân giải, codec và liên kết đến các phân đoạn. Trình phát tải tệp kê khai, phân tích nó và bắt đầu phát ở bitrate thấp nhất để khởi động nhanh.

Cấu trúc tệp kê khai ABR (MPD của MPEG-DASH)

xml
<!-- MPEG-DASH MPD manifest -->
<MPD profiles="urn:mpeg:dash:profile:isoff-live:2011">
  <Period>
    <AdaptationSet mimeType="video/mp4">
      <Representation id="720p" bandwidth="2800000"
                     width="1280" height="720">
        <SegmentTemplate duration="4"
                        media="seg_$Number$.m4s"/>
      </Representation>
    </AdaptationSet>
  </Period>
</MPD>

Chuyển đổi bitrate động

Trong khi phát, thuật toán ABR ở phía máy khách liên tục giám sát tình trạng mạng và bộ đệm. Nếu băng thông giảm, trình phát yêu cầu các phân đoạn tiếp theo ở bitrate thấp hơn để tránh đệm. Khi mạng cải thiện, bitrate tăng lên.

Việc chuyển đổi giữa các bitrate xảy ra tại ranh giới phân đoạn, làm cho thay đổi chất lượng gần như không thể nhận thấy đối với người dùng. Trình phát hiện đại có thể đồng bộ hóa các khung hình chính giữa các biến thể khác nhau để chuyển đổi diễn ra mà không có hiện tượng giả tạo thị giác.

Giao thức ABR: HLS, MPEG-DASH, Smooth Streaming

Ba giao thức ABR chính thống trị thị trường video phát trực tuyến: HLS từ Apple, MPEG-DASH như một tiêu chuẩn mở và Smooth Streaming từ Microsoft. Mỗi giao thức xác định định dạng tệp kê khai, phương pháp phân đoạn và cơ chế mã hóa.

Giao thứcNhà phát triểnTệp kê khaiPhân đoạnMã hóa
HLSApple.m3u8 (danh sách phát M3U).ts hoặc .fmp4AES-128, SAMPLE-AES
MPEG-DASHISO/MPEG.mpd (XML).m4s hoặc .webmCENC (Mã hóa chung)
Smooth StreamingMicrosoft.ismc (XML, IIS).ismv / .ismaPlayReady (AES-128 CT)

HTTP Live Streaming (HLS)

HLS là giao thức ABR phổ biến nhất, được tích hợp trong iOS, tvOS và Safari trên macOS. Định dạng tệp kê khai dựa trên danh sách phát M3U mở rộng, trong đó danh sách phát chính chứa liên kết đến các luồng biến thể với bitrate và độ phân giải khác nhau.

Mỗi biến thể tham chiếu đến danh sách phát phương tiện riêng của nó với danh sách các phân đoạn. HLS hỗ trợ phát trực tiếp thông qua cơ chế cửa sổ trượt, nơi các phân đoạn cũ bị xóa và các phân đoạn mới được thêm vào khi chúng đến.

MPEG-DASH

MPEG-DASH là tiêu chuẩn ABR duy nhất được thông qua là ISO/IEC 23009-1 vào năm 2012. Không giống như HLS, DASH sử dụng tệp kê khai XML (MPD — Media Presentation Description) và không bị ràng buộc với định dạng vùng chứa cụ thể — nó hỗ trợ fMP4, WebM và các định dạng khác.

DASH cung cấp phân đoạn linh hoạt: các phân đoạn có thể có độ dài khác nhau trong cùng một luồng, tối ưu hóa sự cân bằng giữa độ trễ và chi phí yêu cầu HTTP. Đối với phát trực tiếp, DASH hỗ trợ các mẫu SegmentTemplate.

So sánh hiệu suất giao thức

Theo các thử nghiệm của Bitmovin (2025), HLS và DASH cho thấy hiệu suất tương đương về thời gian khởi động và tần suất chuyển đổi bitrate. HLS cung cấp độ trễ thấp hơn trên iOS nhờ hỗ trợ phần cứng, trong khi DASH được ưa chuộng trên Android do cấu hình thuật toán ABR linh hoạt hơn.

Thuật toán bitrate thích ứng

Trái tim của ABR là thuật toán chọn bitrate xác định biến thể nào sẽ yêu cầu tiếp theo. Có ba họ thuật toán chính: dựa trên thông lượng, dựa trên bộ đệm và kết hợp. Mỗi phương pháp đều có điểm mạnh và giới hạn.

Thuật toán dựa trên thông lượng

Các thuật toán dựa trên thông lượng ước tính băng thông mạng dựa trên tốc độ tải xuống của các phân đoạn trước đó. Thuật toán chọn bitrate tối đa không vượt quá 80–90% thông lượng đo được, để lại biên độ cho biến động.

Nhược điểm của phương pháp này là nhạy cảm với các đột biến tốc độ ngắn hạn. Nếu mạng giảm mạnh trong khi tải xuống phân đoạn, ước tính thông lượng trở nên quá thấp, làm giảm chất lượng không cần thiết.

Thuật toán dựa trên bộ đệm

Các thuật toán dựa trên bộ đệm đưa ra quyết định dựa trên mức độ đầy của bộ đệm trình phát. Nếu bộ đệm đầy hơn 70%, thuật toán tăng bitrate; nếu bộ đệm giảm xuống dưới 20%, nó giảm mạnh chất lượng để ngăn chặn đệm.

Lợi thế chính là không giảm chất lượng sai trong thời gian mạng suy giảm ngắn hạn, vì bộ đệm làm mượt các biến động. Nhược điểm là phản ứng chậm với các thay đổi băng thông kéo dài.

Thuật toán kết hợp và học máy

Các trình phát hiện đại như ExoPlayer và AVPlayer sử dụng thuật toán kết hợp kết hợp ước tính thông lượng và trạng thái bộ đệm. ExoPlayer sử dụng thuật toán ABR mặc định DefaultTrackSelector, xem xét cả hai tham số.

Trong giai đoạn 2024–2025, các thuật toán dựa trên ML đang được triển khai tích cực, dự đoán các thay đổi mạng trong tương lai dựa trên dữ liệu lịch sử. Netflix, YouTube và Twitch sử dụng mô hình học máy riêng để tối ưu hóa việc chọn bitrate, giảm số lần chuyển đổi 30–40%.

ABR trong ứng dụng di động

Các ứng dụng di động đặt ra yêu cầu đặc biệt đối với ABR do sự bất ổn định của mạng di động (4G/LTE, 5G) và sức mạnh tính toán hạn chế của thiết bị. Trình phát phải nhanh chóng thích ứng với thay đổi mạng, đồng thời giảm thiểu mức tiêu thụ điện năng và sử dụng dữ liệu.

Theo OpenSignal (2025), tốc độ 4G trung bình ở khu vực đô thị dao động từ 5 đến 50 Mbps và khi di chuyển có thể giảm xuống 1 Mbps. Các thuật toán ABR phải chuyển đổi giữa các bitrate trong vòng 1–2 phân đoạn để tránh đệm khi vào đường hầm hoặc thang máy.

Cấu hình ABR trong ExoPlayer (Android)

kotlin
val trackSelector = DefaultTrackSelector(context).apply {
    setParameters(buildUponParameters {
        setMaxVideoSizeSd()
        setAllowVideoMixedMimeTypeAdaptiveness(true)
        setPreferredVideoRoleFlags(
            roleFlags(C.ROLE_FLAG_DESCRIBES_VIDEO_AND_AUDIO)
        )
    })
}

val adaptiveTrackSelectionFactory =
    AdaptiveTrackSelection.Factory()
val player = ExoPlayer.Builder(context)
    .setTrackSelector(trackSelector)
    .setMediaSourceFactory(
        DashMediaSource.Factory(dataSourceFactory)
    )
    .build()

Tối ưu hóa ABR cho thiết bị di động

Đối với ứng dụng di động, tải ban đầu nhanh (thời gian đến khung hình đầu tiên dưới 2 giây) là rất quan trọng. Nên bắt đầu phát ở bitrate thấp nhất có sẵn và sau đó tăng chất lượng khi bộ đệm đầy — chiến lược start-low-and-rise.

Mức tiêu thụ điện năng cũng quan trọng: giải mã tăng tốc phần cứng nên được sử dụng cho tất cả các bitrate. Giải mã phần mềm bitrate cao (1080p trở lên) trên thiết bị cũ có thể dẫn đến quá nhiệt và điều chỉnh hiệu suất.

ABR và phân tích hiệu suất

Các chỉ số chất lượng ABR chính: số lần chuyển đổi bitrate, thời gian đến khung hình đầu tiên (TTFF) và tỷ lệ chuyển đổi so với tổng thời gian xem. Chỉ số QoE (Chất lượng trải nghiệm) được tính dưới dạng tổng trọng số của bitrate, phạt chuyển đổi và phạt đệm.

Để giám sát ABR, nên thu thập phân tích từ trình phát: bitrate hiện tại, kích thước bộ đệm, băng thông, số lượng và loại chuyển đổi. Dữ liệu này giúp nhà cung cấp nội dung tối ưu hóa tập hợp bitrate có sẵn và cấu hình phân đoạn cho đối tượng cụ thể của họ.

Câu hỏi thường gặp

Adaptive Bitrate trong ứng dụng di động là gì?

Adaptive Bitrate (ABR) là công nghệ phát trực tuyến thay đổi chất lượng video linh hoạt theo điều kiện mạng. Trình phát chia video thành các phân đoạn và chọn bitrate tối ưu cho từng phân đoạn, đảm bảo phát lại mượt mà không bị đệm trên thiết bị di động.

HLS khác MPEG-DASH như thế nào?

HLS là giao thức Apple sử dụng danh sách phát M3U và luồng truyền tải (.ts). MPEG-DASH là tiêu chuẩn ISO mở với tệp kê khai XML (.mpd) và định dạng phân đoạn linh hoạt. HLS hoạt động tốt nhất trên iOS, DASH trên Android và web.

ABR ảnh hưởng đến chất lượng video như thế nào?

ABR cải thiện chất lượng cảm nhận bằng cách loại bỏ đệm: video có thể tạm thời giảm độ phân giải khi mạng kém đi, nhưng không dừng lại. Người dùng thích video 720p mượt mà hơn video 4K bị giật với đệm liên tục.

Thuật toán ABR nào được sử dụng trong ExoPlayer?

ExoPlayer sử dụng thuật toán kết hợp DefaultTrackSelector xem xét băng thông mạng và mức độ đầy bộ đệm. Các chiến lược dựa trên thông lượng và dựa trên bộ đệm cũng có sẵn với khả năng tùy chỉnh qua AdaptiveTrackSelection.Factory.

Phân đoạn ảnh hưởng đến ABR như thế nào?

Độ dài phân đoạn xác định tần suất thích ứng: phân đoạn ngắn (2 giây) phản ứng nhanh hơn với thay đổi mạng nhưng tạo ra nhiều yêu cầu HTTP hơn. Phân đoạn 4–6 giây là tối ưu cho thiết bị di động, cân bằng tốc độ thích ứng và chi phí.

Tóm tắt

  • Adaptive Bitrate — công nghệ phát trực tuyến chính điều chỉnh chất lượng video linh hoạt dựa trên băng thông mạng.
  • HLS và MPEG-DASH — các giao thức ABR chính; HLS thống trị trên iOS, DASH trên Android và nền tảng web.
  • Thuật toán ABR được chia thành dựa trên thông lượng, dựa trên bộ đệm và kết hợp; thuật toán ML thế hệ mới giảm chuyển đổi 30–40%.
  • Phân đoạn thành các mảnh 2–10 giây cho phép trình phát chuyển đổi bitrate giữa các phân đoạn mà người dùng không nhận thấy.
  • Tối ưu hóa di động yêu cầu khởi động nhanh (start-low-and-rise) và xem xét mức tiêu thụ điện năng khi giải mã.
  • Chỉ số QoE bao gồm số lần chuyển đổi, thời gian đến khung hình đầu tiên và tần suất đệm.
  • Thuật toán kết hợp kết hợp ước tính thông lượng và trạng thái bộ đệm để chọn bitrate tối ưu.

Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay

IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.

Thảo luận dự án

Đọc thêm