Skip to content

MSE là API trình duyệt hay một giao thức streaming?

admin· · Gremir Models Journal
Tóm tắt

Media Source Extensions (MSE) là API web cho phép ứng dụng đưa dữ liệu media vào một phần tử audio hoặc video thông qua các bộ đệm; bản thân MSE không phải giao thức streaming. HLS và DASH là những cách mô tả/phân phối nội dung theo playlist hoặc manifest cùng các đoạn media. Một trình phát có thể phối hợp các lớp này, nhưng việc một website dùng cách nào cần được xác minh riêng.

Điểm chínhMSE là API trình duyệt với MediaSource và SourceBuffer để ứng dụng nạp dữ liệu media theo cách linh hoạt. · HLS và DASH mô tả nội dung và các segment theo cách riêng; chúng không đồng nghĩa với MSE. · MSE có thể là nền tảng mà ứng dụng dùng để đưa các đoạn đã tải vào phần tử media. · Tài liệu API và hướng dẫn adaptive streaming giải thích khái niệm, không xác nhận triển khai của KLIVE.

API là giao diện giữa ứng dụng và trình duyệt

API là tập hợp giao diện mà phần mềm có thể gọi để yêu cầu một chức năng. MSE mở rộng khả năng phát media trên web bằng đối tượng MediaSource và SourceBuffer. Ứng dụng có thể nhận các phần dữ liệu, nối chúng vào bộ đệm, kiểm soát thời điểm và xử lý các nguồn media theo logic riêng. Trình duyệt tiếp tục đảm nhiệm việc giải mã và trình bày theo khả năng của nền tảng.

Điểm mấu chốt là MSE không tự xác định máy chủ truyền dữ liệu theo giao thức mạng nào, cũng không phải một danh sách định dạng phát trực tiếp. Nó là giao diện phía trình duyệt để cung cấp dữ liệu cho media element. Tài liệu MDN giới thiệu MSE theo vai trò API và cơ chế dùng SourceBuffer; đây là mô tả công nghệ web, không bằng chứng rằng một dịch vụ cụ thể đang sử dụng nó. [1]

HLS và DASH mô tả luồng theo cách khác

Trong adaptive streaming, nội dung thường được chia thành nhiều đoạn. HLS sử dụng playlist để mô tả các biến thể và phân đoạn; DASH dùng manifest MPD để mô tả nội dung, biểu diễn và tham chiếu segment. Trình phát đọc mô tả, yêu cầu dữ liệu phù hợp rồi cập nhật phát lại theo cơ chế của mình. Đây là lớp định dạng và phân phối nội dung, khác với giao diện mà trang web gọi để đẩy dữ liệu vào media element.

Illustration: HLS và DASH mô tả luồng theo cách Decorative illustration for the section "HLS và DASH mô tả luồng theo cách"; visual only, carries no data.

Sự phân biệt không có nghĩa HLS hoặc DASH luôn cần MSE, hay MSE chỉ dùng được với hai lựa chọn ấy. Hỗ trợ và cách triển khai phụ thuộc trình duyệt, hệ điều hành, codec, ứng dụng và đường phát. Tài liệu MDN về adaptive streaming trình bày HLS/DASH cùng các playlist, manifest và segment như các thành phần của luồng, trong khi MSE là một cơ chế phía web có thể tham gia xử lý. [3]

Một cách hình dung hữu ích: HLS/DASH trả lời “nội dung được mô tả và chia phần ra sao?”, còn MSE trả lời “ứng dụng web có thể đưa các byte media vào bộ phát bằng giao diện nào?”. Hai câu hỏi liên quan trong một hệ thống nhưng không thể dùng thay từ cho nhau. Khi tài liệu sản phẩm nói “hỗ trợ streaming”, cần đọc thêm xem nó đang nói định dạng, API, giao thức vận chuyển hay trải nghiệm phát.

Tiêu chuẩn MSE định nghĩa phạm vi nào?

Đặc tả MSE mô tả các giao diện và hành vi mà trình duyệt triển khai có thể cung cấp cho ứng dụng, bao gồm việc tạo nguồn media và quản lý buffer. W3C MSE 2 là Working Draft, vì vậy chính tài liệu nêu trạng thái dự thảo và khả năng thay đổi. Nó hữu ích để hiểu kiến trúc và thuật ngữ, nhưng không nên trích như một cam kết cuối cùng rằng mọi trình duyệt xử lý giống hệt nhau.

Đặc tả cũng không cho biết một website bất kỳ chọn codec, máy chủ, chính sách chất lượng hay thuật toán chuyển bitrate nào. Những chi tiết đó nằm ở lớp triển khai ứng dụng và dịch vụ. Khi cần phân tích một trình phát thực tế, phải xem hành vi được quan sát, tài liệu công khai của nhà cung cấp hoặc mã triển khai có thể kiểm chứng; không thể suy ra tất cả từ định nghĩa API. [2]

Áp dụng phân biệt này khi đọc thông tin về video

Khi gặp câu “video này dùng MSE”, hãy hỏi đó là thông tin đã kiểm tra trên chính trang hay chỉ là giả định từ một mẫu kiến trúc phổ biến. Khi gặp “luồng HLS”, hãy hỏi nguồn đang xác nhận playlist thực tế hay chỉ đang mô tả một định dạng thường gặp. Không nên suy ra nền tảng sử dụng một giao thức cụ thể chỉ vì trình duyệt có API hỗ trợ nó.

Illustration: Áp dụng phân biệt này khi đọc thông Decorative illustration for the section "Áp dụng phân biệt này khi đọc thông"; visual only, carries no data.

Nếu người xem gặp lỗi phát, phân biệt lớp giúp đặt câu hỏi đúng: nội dung có tải được không, manifest/playlist có thể đọc không, codec có được giải mã không, buffer có dữ liệu tiếp theo không, hay phần tử video báo trạng thái nào? Những kiểm tra này là hướng suy luận chung, không phải chẩn đoán cho một dịch vụ nếu chưa có bằng chứng. Hướng dẫn dành cho một dịch vụ video khác cũng không thể chứng minh nguyên nhân trên KLIVE.

KLIVE có các nội dung thể thao và đường dẫn liên quan tới thông tin trận bóng đá; đó là ngữ cảnh nội dung chứ không phải thông tin về kiến trúc player. Khám phá thêm về kết quả các trận bóng đá tại KLIVE Một liên kết đến trang thể thao không xác nhận trang dùng MSE, HLS hay DASH, cũng không xác nhận khả năng phát hiện tại. Hãy giữ ranh giới giữa mục đích điều hướng và nhận định kỹ thuật.

Nguồn tham khảo

  1. MDN — Media Source Extensions API
  2. W3C — Media Source Extensions 2
  3. MDN — Setting up adaptive streaming media sources

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

MSE có phải giao thức truyền video không?

Không. MSE là API trình duyệt cho phép ứng dụng cung cấp dữ liệu media cho phần tử phát thông qua các đối tượng như MediaSource và SourceBuffer.

HLS có phải MSE không?

Không. HLS mô tả cách tổ chức/phân phối luồng bằng playlist và segment; MSE là API web. Một ứng dụng có thể kết hợp các lớp đó.

Có thể kết luận KLIVE dùng MSE từ bài viết này không?

Không. Các nguồn được dẫn giải thích công nghệ nói chung, không xác nhận cách triển khai player cụ thể của KLIVE.

Reserve Your Numbered Edition.

Each Gremir release is capped at 500 units. 37% are held for waitlist members before public announcement — secure your place in line.

Join the Waitlist