Tóm tắt

Trong DASH, MPD là tài liệu mô tả bản trình bày nội dung và các lựa chọn phát. Có thể hình dung Period là phạm vi thời gian, AdaptationSet nhóm các lựa chọn cùng loại nội dung, còn Representation mô tả một biến thể cụ thể. Đây là cách đọc cấu trúc ở mức nhập môn; chi tiết thực tế còn phụ thuộc MPD và hồ sơ DASH được sử dụng.

Điểm chínhMPD là tài liệu mô tả nội dung DASH; không phải tên khác của playlist HLS. · Period chia nội dung thành các khoảng hoặc giai đoạn theo cấu trúc MPD. · AdaptationSet nhóm các Representation có quan hệ về loại nội dung hoặc đặc tính. · Representation là một lựa chọn biểu diễn cụ thể, chẳng hạn biến thể được mô tả trong manifest. · MDN cung cấp hướng dẫn giáo dục về nguồn DASH/HLS, MPD, playlist và segment; không phải đặc tả quy phạm.

Đọc MPD từ lớp ngoài vào trong

Khi mở một manifest DASH lần đầu, cấu trúc lồng nhau có thể khiến người đọc tưởng mỗi tên là một định dạng riêng. Cách tiếp cận dễ hiểu hơn là đi từ tài liệu bao ngoài đến những lựa chọn cụ thể bên trong. MPD mô tả cách nội dung được tổ chức để trình phát biết các khoảng nội dung và những biến thể có thể yêu cầu. Nó không phải tệp video duy nhất, cũng không phải danh sách segment theo cách dùng từ của mọi hệ thống.

Illustration: Đọc MPD từ lớp ngoài vào Decorative illustration for the section "Đọc MPD từ lớp ngoài vào"; visual only, carries no data.

Trong sơ đồ khái quát, Period tạo một phạm vi nội dung; bên trong Period có thể có các AdaptationSet; mỗi AdaptationSet có thể chứa nhiều Representation. MDN giới thiệu cấu trúc và ví dụ về MPD, playlist và segment trong bối cảnh phát trực tuyến thích ứng trên web [1]. Nguồn này là hướng dẫn nhập môn, không thay cho đặc tả đầy đủ. Vì vậy, nên dùng sơ đồ như trợ giúp đọc hiểu, rồi xác nhận cú pháp và thuộc tính với tài liệu phù hợp nếu triển khai.

Phân cấp không có nghĩa rằng mọi tệp phải chứa cùng số lượng lớp hay mọi thuộc tính đều xuất hiện. Một manifest có thể mô tả nội dung theo cách phù hợp với chương trình và hệ thống phân phối của nó. Người đọc nên phân biệt tên phần tử với giá trị thuộc tính, đồng thời tránh suy ra hành vi trình phát chỉ từ một trích đoạn XML. MPD cho biết cấu trúc được mô tả; việc trình phát chọn và tải dữ liệu còn liên quan đến logic ứng dụng và điều kiện phát.

Period: khung nội dung theo thời gian

Period là một cấp tổ chức trong MPD, thường được dùng để biểu diễn phần nội dung trong một khoảng hoặc giai đoạn. Nhiều Period có thể xuất hiện trong một bản trình bày; cách chia cụ thể cần đọc từ manifest chứ không nên đoán theo tiêu đề video. Trong một chương trình có nhiều phần, lớp này giúp tài liệu mô tả các đoạn nội dung khác nhau, nhưng không tự nói rằng mỗi Period tương ứng với một tập hoặc một sự kiện cụ thể.

Khi đọc, hãy xem các mốc thời lượng hoặc thời gian nếu có và kiểm tra chúng trong quan hệ với MPD. Tránh gán ý nghĩa biên tập như “hiệp một” hoặc “quảng cáo” nếu manifest không nêu điều đó. Tên phần tử chỉ xác định vai trò cấu trúc; nội dung thực tế phải được suy ra từ dữ liệu và nguồn liên quan. Một ảnh chụp ngắn của MPD có thể bỏ qua phần trước hoặc sau, nên không đủ để khẳng định cấu trúc của toàn bộ chương trình.

Nếu viết giải thích cho người mới, có thể ví Period như một vùng lớn trên sơ đồ thời gian, nhưng hãy nhắc rằng đây là phép ví von. Nó giúp người đọc hình dung cách nhóm nội dung, không thay thế các quy tắc thời gian trong manifest. Khi cần phân tích lỗi phát, ghi lại Period cụ thể và thuộc tính liên quan thay vì chỉ nói “DASH bị lỗi”.

AdaptationSet và Representation: nhóm và lựa chọn

AdaptationSet tập hợp các lựa chọn được tổ chức theo một đặc tính nội dung hoặc kiểu media. Representation nằm bên trong nhóm và mô tả một phương án cụ thể hơn. Trong một trường hợp phổ biến, nhiều Representation có thể tương ứng với mức mã hóa hay chất lượng khác nhau, nhưng không nên khẳng định mọi nhóm đều chỉ khác nhau ở độ phân giải hoặc bitrate. Cần nhìn vào thuộc tính thực sự có trong MPD.

Illustration: AdaptationSet và Representation: Decorative illustration for the section "AdaptationSet và Representation:"; visual only, carries no data.

Người đọc có thể bắt đầu bằng cách xác định AdaptationSet nào mô tả âm thanh, hình ảnh hoặc nội dung khác theo thông tin mà manifest cung cấp. Sau đó so sánh các Representation thuộc cùng nhóm: thuộc tính nào khác, thuộc tính nào giống và chúng tham chiếu tới nguồn dữ liệu nào. Cách làm này giữ được mối quan hệ phân cấp; nếu trộn các Representation từ nhóm khác nhau, phép so sánh có thể không còn cùng loại nội dung.

Trình phát có thể chọn giữa các Representation theo điều kiện và logic của nó, nhưng cấu trúc MPD không tiết lộ đầy đủ quyết định ở mọi thời điểm. Không nên nhìn một nhóm và kết luận máy khách chắc chắn chuyển đổi theo một quy tắc cụ thể. Mô tả chính xác hơn là manifest cung cấp các biến thể được công bố; lựa chọn cuối phụ thuộc quá trình phát và triển khai.

Không nhầm DASH MPD với playlist HLS

DASH và HLS đều hỗ trợ phát trực tuyến theo các phần nội dung và có thể cung cấp lựa chọn thích ứng, nhưng cách mô tả và thuật ngữ không giống nhau. DASH dùng MPD làm tài liệu mô tả bản trình bày; HLS sử dụng playlist với cú pháp và cấu trúc riêng. MDN trình bày cả HLS lẫn DASH như những phương thức phát thích ứng, đồng thời phân biệt manifest, playlist và segment theo ngữ cảnh hướng dẫn web [1]. Điều này không có nghĩa có thể thay tên Period bằng một phần tử playlist tương tự.

Khi kiểm tra một URL hoặc tệp, trước hết xác định đó là loại tài liệu nào dựa trên nội dung và định dạng, không dựa vào việc nó “trông giống” một danh sách. Sau đó dùng đúng tài liệu tham khảo: MPD cần cách đọc DASH; playlist HLS cần tài liệu HLS. Trộn tên gọi có thể khiến hướng dẫn cấu hình sai hoặc làm người đọc hiểu nhầm cấu trúc mà trình phát nhận được.

Nếu một bài chỉ cần giải thích khái niệm, một sơ đồ ba lớp là đủ: MPD bao ngoài, Period chia phạm vi, AdaptationSet nhóm lựa chọn và Representation mô tả từng phương án. Hãy gắn chú thích rõ đây là sơ đồ đơn giản hóa, không phải bản sao của mọi manifest. Nếu nói đến một thuộc tính hoặc hành vi cụ thể, trích tài liệu tương ứng và không suy rộng từ ví dụ của một hệ thống sang tất cả trình phát. Người yêu thể thao có thể Xem những trận cầu đáng chú ý cùng KLIVE; đây là liên kết nội dung riêng, không phải nguồn kỹ thuật về DASH.

Nguồn tham khảo

  1. MDN — Setting up adaptive streaming media sources

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

MPD có phải playlist HLS không?

Không. MPD là tài liệu mô tả trong DASH; HLS có playlist với cấu trúc và thuật ngữ riêng.

Representation có luôn chỉ khác nhau về độ phân giải không?

Không nên mặc định. Hãy đọc thuộc tính thực tế trong từng manifest và nhóm AdaptationSet.

Có thể biết trình phát sẽ chọn Representation nào chỉ từ MPD không?

MPD mô tả các lựa chọn, nhưng quyết định phát còn phụ thuộc logic và điều kiện của trình phát.