Bản cập nhật về nội dung nghe nhìn trong Chrome 70

François Beaufort
François Beaufort

Xem video bằng tính năng Hình trong hình

Tính năng Hình trong hình (PiP) cho phép người dùng xem video trong một cửa sổ nổi (luôn ở trên các cửa sổ khác) để họ có thể theo dõi nội dung đang xem trong khi tương tác với các trang web hoặc ứng dụng khác. Với API Web Hình trong hình mới, bạn có thể bắt đầu và kiểm soát tính năng Hình trong hình cho video trên trang web của mình.

Hãy đọc bài viết của chúng tôi để tìm hiểu tất cả thông tin này.

Bộ giải mã AV1

AV1 là bộ mã hoá và giải mã thế hệ mới do Alliance for Open Media phát triển. AV1 cải thiện hiệu suất nén hơn 30% so với bộ mã hoá và giải mã video tiên tiến nhất hiện tại là VP9. Chrome 70 thêm bộ giải mã AV1 vào Chrome Desktop x86-64 dựa trên thông số kỹ thuật luồng bit chính thức. Tại thời điểm này, khả năng hỗ trợ chỉ giới hạn ở hồ sơ 0 "Chính" và không bao gồm tính năng mã hoá. Vùng chứa được hỗ trợ là MP4 (ISO-BMFF) (xem Vùng chứa và bộ mã hoá và giải mã để biết nội dung giải thích ngắn gọn về vùng chứa).

Cách dùng thử AV1:

  1. Truy cập vào trang YouTube TestTube.
  2. Chọn "Ưu tiên AV1 cho SD" hoặc "Luôn ưu tiên AV1" để có độ phân giải AV1 mong muốn. Xin lưu ý rằng ở độ phân giải cao hơn, AV1 có nhiều khả năng sẽ gặp vấn đề về hiệu suất phát trên một số thiết bị.
  3. Thử phát các đoạn video trên YouTube từ Danh sách phát khởi chạy AV1 Beta.
  4. Xác nhận bộ mã hoá và giải mã av01 trong phần "Thống kê chi tiết".
Thống kê chi tiết có AV1 trên YouTube
Thống kê chi tiết có AV1 trên YouTube.

Hỗ trợ bộ mã hoá và chuyển đổi vùng chứa trong MSE

Chrome sẽ thêm tính năng hỗ trợ để cải thiện hiệu ứng chuyển đổi giữa các bộ mã hoá và luồng byte trong quá trình phát Tiện ích nguồn nội dung nghe nhìn bằng cách sử dụng phương thức changeType() mới trên SourceBuffer. Phương thức này cho phép loại byte nội dung nghe nhìn được thêm vào SourceBuffer được thay đổi sau đó.

Phiên bản MSE hiện tại hỗ trợ tính năng phát thích ứng nội dung nghe nhìn; tuy nhiên, việc điều chỉnh đòi hỏi mọi nội dung nghe nhìn nối vào SourceBuffer phải tuân theo loại MIME được cung cấp khi tạo SourceBuffer ban đầu qua MediaSource.addSourceBuffer(type). Các bộ mã hoá và giải mã thuộc loại đó và mọi phân đoạn khởi chạy được phân tích cú pháp trước đó phải giữ nguyên xuyên suốt. Điều này có nghĩa là trang web phải thực hiện các bước rõ ràng để hoàn thành việc chuyển đổi bộ mã hoá và giải mã hoặc chuyển đổi luồng byte (bằng cách sử dụng nhiều phần tử nội dung đa phương tiện hoặc theo dõi SourceBuffer và chuyển đổi giữa các phần tử đó), tăng độ phức tạp của ứng dụng và độ trễ mà người dùng có thể nhìn thấy. (Các hoạt động chuyển đổi như vậy đòi hỏi ứng dụng web phải thực hiện hành động đồng bộ trên luồng chính của trình kết xuất). Độ trễ chuyển đổi này làm giảm độ mượt của việc phát nội dung nghe nhìn qua các quá trình chuyển đổi.

Với phương thức changeType() mới, SourceBuffer có thể lưu vào vùng đệm và hỗ trợ phát lại trên nhiều định dạng luồng byte và bộ mã hoá và giải mã. Phương thức mới này giữ lại nội dung nghe nhìn đã lưu vào bộ đệm trước đó, modulo loại bỏ hoặc loại bỏ khung mã hoá MSE trong tương lai, đồng thời tận dụng logic ghép và lưu vào bộ đệm trong thuật toán xử lý khung được mã hoá MSE hiện có.

Dưới đây là cách sử dụng phương thức changeType():

const sourceBuffer = myMediaSource.addSourceBuffer('video/webm; codecs="opus, vp09.00.10.08"');
sourceBuffer.appendBuffer(someWebmOpusVP9Data);

// Later on...
if ('changeType' in sourceBuffer) {
  // Change source buffer type and append new data.
  sourceBuffer.changeType('video/mp4; codecs="mp4a.40.5, avc1.4d001e"');
  sourceBuffer.appendBuffer(someMp4AacAvcData);
}

Như dự kiến, nếu loại đã truyền không được trình duyệt hỗ trợ, thì phương thức này sẽ gửi ra một ngoại lệ NotSupportedError.

Hãy xem mẫu để phát với bộ đệm giữa các bộ mã hoá và giải mã cũng như quá trình lưu vào bộ đệm luồng nhiều byte và phát một phần tử âm thanh.

Ý định gửi | Công cụ theo dõi trạng thái Chrome | Lỗi Chromium

Opus ở định dạng MP4 cho MSE

Kể từ Chrome 33, bộ mã hoá và giải mã âm thanh mở Opus có tính linh hoạt cao đã được hỗ trợ trong các phần tử <audio><video>. Tính năng hỗ trợ Opus trong ISO-BMFF (còn gọi là Opus trong MP4) được thêm vào sau đó. Giờ đây, Opus ở định dạng MP4 đã có trong Chrome 70 dành cho Tiện ích nguồn nội dung nghe nhìn.

Đây là cách bạn có thể phát hiện xem Opus trong MP4 có được hỗ trợ cho MSE hay không:

if (MediaSource.isTypeSupported('audio/mp4; codecs="opus"')) {
  // TODO: Fetch data and feed it to a media source.
}

Nếu bạn muốn xem ví dụ đầy đủ, hãy xem mẫu chính thức của chúng tôi.

Do thiếu công cụ để kết hợp Opus ở định dạng MP4 với các giá trị cắt bỏ kết thúc và bỏ qua chính xác, nên nếu độ chính xác đó quan trọng đối với bạn, bạn sẽ cần sử dụng SourceBuffer.appendWindow{Start,End}SourceBuffer.timestampOffset trong Chrome để phát lại mẫu với độ chính xác cao.

Ý định gửi | Công cụ theo dõi trạng thái Chrome | Lỗi Chromium

Cho phép phát lại nội dung được bảo vệ theo mặc định trên Android

Trong Chrome 70 dành cho Android, giá trị mặc định của chế độ cài đặt "nội dung được bảo vệ" trên trang web sẽ thay đổi từ "Hỏi trước" thành "Được phép", giúp giảm sự phiền hà liên quan đến việc phát nội dung đa phương tiện như vậy. Thay đổi này có thể xảy ra một phần là do các bước bổ sung được thực hiện để xoá giấy phép nội dung nghe nhìn (cùng với cookie và dữ liệu trang web), đảm bảo rằng các trang web không sử dụng giấy phép nội dung nghe nhìn để theo dõi những người dùng đã xoá dữ liệu duyệt web.

ALT_TEXT_HERE
Chế độ cài đặt nội dung được bảo vệ trong Android.