Playlist HLS có thể khai báo cả BANDWIDTH lẫn AVERAGE-BANDWIDTH vì hai thuộc tính diễn tả các khía cạnh bitrate khác nhau của một rendition. Chúng giúp client lựa chọn luồng dựa trên thông tin được công bố, nhưng không phải hai bản sao của tốc độ mạng tức thời. Muốn đọc đúng, cần xem ngữ cảnh playlist và đặc tả; không so sánh một con số trong manifest với kết quả speed test rồi kết luận rằng luồng chắc chắn phát ổn định.
Điểm chính
- Đặc tả authoring HLS của Apple quy định yêu cầu cho playlist và rendition trong hệ sinh thái Apple; không đại diện mọi cách triển khai HLS. [1]
- RFC 8216 mô tả hành vi playlist, segment và client HLS theo phiên bản 7 năm 2017; đây là RFC thông tin, không phải toàn bộ đặc tả hiện hành. [2]
- BANDWIDTH và AVERAGE-BANDWIDTH là metadata của rendition, không phải phép đo trực tiếp mạng người xem.
- Tốc độ mạng biến động theo thời gian; việc chọn rendition còn phụ thuộc logic client và các thông tin playlist.
- Không suy ra KLIVE dùng giá trị bitrate hay thuật toán lựa chọn nào từ tài liệu HLS chung.
Hai thuộc tính, hai góc nhìn về bitrate
Trong HLS, playlist mô tả các rendition mà client có thể lựa chọn. BANDWIDTH và AVERAGE-BANDWIDTH được khai báo như thuộc tính bitrate trong ngữ cảnh variant, nhưng ý nghĩa không nên giản lược thành hai con số đo tốc độ đường truyền tại thời điểm xem. Đặc tả authoring HLS của Apple giải thích yêu cầu tạo playlist cho thiết bị Apple, bao gồm cấu trúc biến thể và cách mô tả nội dung. [1] Khi gặp giá trị trong một playlist cụ thể, hãy đọc cùng cấu trúc và quy tắc của phiên bản HLS đang áp dụng.
BANDWIDTH thường được sử dụng như thông tin băng thông cần tính đến khi chọn variant; AVERAGE-BANDWIDTH bổ sung mô tả về bitrate trung bình. Việc chúng cùng xuất hiện giúp client có thêm dữ liệu để xét lựa chọn, không bảo đảm mọi client xử lý giống nhau trong mọi điều kiện. Ý nghĩa cũng gắn với tài nguyên được mô tả, không phải phép đo riêng lẻ của modem hay kết nối Wi-Fi người xem.
Tại sao không thể thay bằng speed test
Speed test là ảnh chụp năng lực mạng trong một phép đo nhất định; chất lượng đường truyền thực tế có thể dao động theo thời gian, tuyến mạng, tải dùng chung và khoảng cách tới máy chủ. Ngược lại, giá trị trong playlist là thông tin do nguồn nội dung công bố cho rendition. Hai đại lượng có liên quan về chủ đề băng thông nhưng khác nguồn gốc và mục đích. Chẳng hạn, phép đo cao tại một thời điểm không chứng minh toàn bộ phiên xem duy trì cùng năng lực đó.
RFC 8216 mô tả cấu trúc playlist và cách client tương tác với nội dung HLS trong phiên bản RFC thông tin năm 2017. [2] Khi trích dẫn RFC, lưu ý phạm vi phiên bản và việc nó không phải toàn bộ đặc tả HLS hiện hành. Một triển khai có thể theo thêm tài liệu cập nhật hoặc hướng dẫn hệ sinh thái riêng; vì thế, tránh tuyên bố chỉ dựa vào một văn bản rằng mọi player đều chọn variant theo cùng một công thức.
Cách xem thông tin trong playlist
Nếu đang đọc manifest, xác định trước đó là master playlist hay media playlist và tìm variant liên quan. Ghi lại các thuộc tính đi kèm, URI được tham chiếu và phiên bản đặc tả hoặc hướng dẫn đang dùng. Đừng chỉ sao chép một con số ra ngoài ngữ cảnh. Nếu quan tâm sự cố phát, đối chiếu rendition được chọn, các segment tải được, thời gian phản hồi và thay đổi mạng trong cùng khoảng thời gian. Dữ liệu này giúp mô tả sự kiện nhưng vẫn không khẳng định một thuộc tính bitrate đơn lẻ là nguyên nhân.
Khi trao đổi với người dùng, có thể giải thích rằng BANDWIDTH và AVERAGE-BANDWIDTH là thông tin lập trình/playlist hỗ trợ lựa chọn, còn đường mạng là điều kiện biến đổi. Nêu rõ nguồn và phiên bản tài liệu, không gọi giá trị khai báo là tốc độ thực tế của người xem. Nếu trang đang theo dõi nội dung thể thao, bạn cũng có thể ghé Trang KLIVE về các nội dung giải trí livestream; liên kết này là đích nội dung, không phải nguồn đặc tả bitrate hay xác nhận cấu hình stream của KLIVE.
Nguồn tham khảo
Câu hỏi thường gặp
Có phải AVERAGE-BANDWIDTH luôn bằng tốc độ tải mà người xem nhận được không?
Không. Đây là metadata của rendition trong playlist, không phải đo tốc độ kết nối tại thiết bị người xem.
Vì sao vẫn có BANDWIDTH nếu đã khai báo AVERAGE-BANDWIDTH?
Hai thuộc tính cung cấp thông tin khác nhau trong mô tả variant. Cần đọc yêu cầu và ngữ cảnh của đặc tả thay vì coi chúng trùng lặp.
RFC 8216 có phải tài liệu đầy đủ và mới nhất về mọi HLS không?
Không. Registry ghi rõ đây là RFC thông tin năm 2017 mô tả phiên bản 7; cần lưu ý phạm vi và đối chiếu tài liệu liên quan khác khi cần.