HLS trong quá trình di chuyển trình phát Shaka

Tổng quan

Cast Web Receiver SDK hỗ trợ việc phát nội dung bằng một số giao thức truyền phát trực tuyến trên web. Dựa trên giao thức được sử dụng, SDK sẽ tải một trình phát để xử lý việc phát nội dung. Trong trường hợp nội dung HLS, Thư viện trình phát nội dung đa phương tiện (MPL) sẽ được tải. Trong trường hợp nội dung DASH, Shaka Player sẽ được tải.

Trong thời gian tới, các nhóm kỹ thuật của Cast SDK và Shaka Player sẽ hợp tác để tăng cường hỗ trợ việc phát nội dung HLS trên Shaka Player. MPL sẽ không nhận được các bản cập nhật quan trọng nữa. Bạn nên chọn sử dụng Shaka Player để phát nội dung HLS của ứng dụng.

Lợi ích của Shaka Player

Khi thay đổi trình phát, các ứng dụng sẽ tận dụng những lợi ích sau:

  • Phiên phát trực tuyến ổn định hơn cho người dùng, với những điểm cải tiến về lỗi thời gian tải và độ trễ.
  • Tiếp tục áp dụng các tính năng HLS mới nhất.
  • Phân tích nguyên nhân gốc rễ rõ ràng hơn đối với các vấn đề về khả năng tương thích giữa trình phát và nội dung do bản chất mã nguồn mở của Shaka Player.
  • Cơ sở mã nguồn mở của trình phát cho phép các đối tác đóng góp cho Dự án Shaka Player.
  • Giảm đáng kể thời gian phát hành chính thức tính năng và bản sửa lỗinhịp độ phát hành của Trình phát Shaka thường xuyên và độc lập với các bản phát hành của Web Receiver SDK.
  • Kiểm soát môi trường phát tốt hơn do API shakaVersion cung cấp.
  • Google tăng cường hỗ trợ phát bằng các tài nguyên kỹ thuật tập trung vào việc phát HLS trên Shaka Player như trong lộ trình.

Dòng thời gian

Web Receiver SDK sẽ chuyển sang sử dụng Shaka Player làm trình phát mặc định để phát nội dung HLS. Việc này sẽ được thực hiện theo từng giai đoạn để hướng dẫn các đối tác trong quá trình di chuyển.

Pha ban đầu Ngày bắt đầu Tổng quan
1 Tháng 10 năm 2022 Cast Web Receiver SDK giới thiệu các API để chọn sử dụng phát nội dung HLS trên Shaka Player.
2 Tháng 11 năm 2025 Cast Web Receiver SDK thay đổi trình phát mặc định thành Shaka Player để phát nội dung HLS.

Các nhóm kỹ thuật của Web Receiver SDK đang áp dụng phương pháp dựa trên hiệu suất và sẽ chỉ chuyển sang giai đoạn tiếp theo khi hiệu suất của Shaka Player ngang bằng với hiệu suất cơ bản của MPL. Những thay đổi này sẽ được thông báo trong nhóm Google cast-sdk-announcements và được cập nhật trong hướng dẫn này.

Chọn nhận

Bắt đầu từ CAF phiên bản 3.0.0105, có một cấu hình cấp ứng dụng để chọn sử dụng Shaka Player cho hoạt động phát HLS. Phiên bản này cũng giới thiệu một API để chọn trong số các phiên bản được hỗ trợ của Trình phát Shaka để tải. Các cờ này được cung cấp trong lớp CastReceiverOptions thông qua các thuộc tính useShakaForHlsshakaVersion, đồng thời được đánh giá khi CastReceiverContext bắt đầu. Mọi ứng dụng chọn sử dụng Shaka cho HLS đều phải đặt phiên bản Shaka Player tối thiểu là 4.15.12 để tận dụng những điểm cải tiến mới nhất của HLS. Để chọn sử dụng, hãy làm theo đoạn mã dưới đây:

const context = cast.framework.CastReceiverContext.getInstance();

let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = true;

context.start(castReceiverOptions);

Xác thực nội dung

Các đối tác nên xác thực việc phát nội dung trên Shaka Player trước khi chọn sử dụng Shaka Player trong ứng dụng phát hành công khai. Bạn nên kiểm thử từng biến thể trong nội dung của mình như được liệt kê dưới đây:

  • Loại luồng phát: TRỰC TIẾP hoặc VOD
  • Định dạng vùng chứa: TS, MP4 hoặc luồng cơ bản
  • Nội dung có gián đoạn hoặc quảng cáo dạng nhúng
  • Phát trên các loại thiết bị sau: màn hình thông minh, thiết bị truyền nội dung Google Cast, thiết bị Android TV, TV có Google Cast, loa thông minh

Nếu bạn phát hiện thấy lỗi hoặc hành vi không mong muốn, hãy gửi lỗi. Sau khi bạn xác minh được rằng nội dung của mình không gặp phải lỗi phát nghiêm trọng, hãy đẩy các thay đổi vào môi trường phát hành công khai.

Chọn không tham gia

Web Receiver SDK sẽ chuyển sang mô hình chọn không sử dụng để phát nội dung HLS của Shaka Player theo tiến trình. Thuộc tính useShakaForHls sẽ thay đổi giá trị mặc định từ false thành true. Tại thời điểm đó, các ứng dụng có thể chọn sử dụng MPL để phát HLS bằng cách đặt thuộc tính này thành false theo cách thủ công. Khi CastReceiverContext bắt đầu, Web Receiver SDK sẽ quay lại tải MPL thay vì Shaka Player. Hãy xem mẫu bên dưới để biết cách chọn không nhận:

const context = cast.framework.CastReceiverContext.getInstance();

let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = false;

context.start(castReceiverOptions);

Báo cáo sự cố

Các đối tác nên báo cáo mọi vấn đề mà họ gặp phải khi phát nội dung HLS. Như đã đề cập, MPL sẽ không nhận được các bản cập nhật quan trọng nữa. Nếu bạn gặp phải bất kỳ vấn đề nào với MPL, hãy làm theo các bước trong phần Chọn sử dụng của hướng dẫn để xác minh xem việc chuyển sang Shaka Player có giải quyết được vấn đề của bạn hay không. Hãy làm theo các bước dưới đây nếu vấn đề vẫn tiếp diễn hoặc nếu bạn gặp phải một vấn đề khác khi chuyển đổi người chơi.

  1. Hãy thử đặt shakaVersion thành một phiên bản nhánh khác để giải quyết vấn đề. Ví dụ: nếu bạn gặp vấn đề trên nhánh 4.15, hãy thử đặt nhánh đó thành bản phát hành mới nhất trong một nhánh khác. Hãy xem ghi chú phát hành Shaka Player để tìm các bản phát hành có thông tin cập nhật phù hợp nhất. Xin lưu ý rằng API shakaVersion có phiên bản tối thiểu và tối đa được hỗ trợ như được nêu chi tiết trong tài liệu tham khảo. Nếu bạn nhận thấy có sự hồi quy, hãy báo cáo vấn đề này trong công cụ theo dõi vấn đề của Shaka Player.
  2. Hãy thử thay đổi các thông số cấu hình trình phát. Bạn có thể định cấu hình Shaka Player thông qua đối tượng PlayerConfiguration. Web Receiver SDK xác định một tập hợp các giá trị mặc định và cho phép các ứng dụng sửa đổi cấu hình này thông qua thuộc tính shakaConfig trong đối tượng PlaybackConfig. Giá trị này được đánh giá trong thời gian tải khi phiên bản trình phát được tạo. Xem thêm trong phần cấu hình và các lựa chọn của ứng dụng. Các giá trị mặc định do Web Receiver SDK đặt là các giá trị được đề xuất.
  3. Kiểm tra xem vấn đề đó có được báo cáo trong công cụ theo dõi lỗi của Trình phát Shaka hay công cụ theo dõi lỗi của Cast hay không. Bình luận về lỗi đó và thêm mọi thông tin liên quan nếu lỗi đó cũng mô tả vấn đề của bạn.
  4. Kiểm thử nội dung của bạn trên trang web minh hoạ Shaka Player. Nếu bạn thấy vấn đề này xuất hiện lại trong trang web minh hoạ cho nội dung của bạn, hãy báo cáo lỗi cho dự án Shaka Player.
  5. Báo cáo lỗi trong Công cụ theo dõi lỗi Cast nếu bạn gặp vấn đề riêng biệt với Shaka Player trên các điểm cuối truyền.

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

Việc thay đổi người chơi có thể gây ra nhiều thắc mắc. Dưới đây là câu trả lời cho những câu hỏi thường gặp nhất để giúp bạn thực hiện quy trình di chuyển.

Tôi có nên chuyển sang Shaka Player không?

Những đối tác sử dụng nội dung HLS nên bắt đầu quá trình di chuyển càng sớm càng tốt. Do đó, ứng dụng của bạn sẽ mang đến trải nghiệm phát trực tuyến ổn định hơn cho người dùng. Bạn có thể xem thêm các lợi ích trong phần Lợi ích của Shaka Player trong hướng dẫn này. Đối tác nên xác minh rằng các ứng dụng của họ đang hoạt động đúng cách bằng Shaka Player để đảm bảo quá trình chuyển đổi diễn ra suôn sẻ. Một số ứng dụng có thể gặp rủi ro khi Web Receiver SDK chuyển sang mô hình chọn không tham gia nếu các đối tác không xác minh rằng nội dung của họ phát đúng cách trên Shaka Player trước thời hạn.

Mức độ nỗ lực dự kiến khi thay đổi người chơi là bao nhiêu?

Các đối tác sẽ cần kiểm thử ứng dụng và nội dung của họ trong môi trường kiểm thử để đảm bảo rằng trải nghiệm người dùng tương tự hoặc được cải thiện so với HLS. Để làm việc này, đối tác sẽ cần chọn sử dụng tính năng này trong một môi trường nội bộ và kiểm thử kỹ lưỡng để đảm bảo nội dung của họ có thể phát bằng Shaka Player. Hãy xem phần xác thực nội dung để biết thông tin chi tiết về những khía cạnh bạn cần tập trung vào trong nội dung của mình. Sau khi xác thực, đối tác sẽ cần thêm cờ để chọn sử dụng trong môi trường ứng dụng sản xuất để bắt đầu tận dụng các lợi ích do Shaka Player cung cấp. Nhìn chung, có rất ít thay đổi về việc phát triển phần mềm và chủ yếu là các yêu cầu về đảm bảo chất lượng để các đối tác của chúng tôi có thể di chuyển thành công.

Ứng dụng của tôi sẽ sớm sử dụng HLS để phát trực tuyến nội dung, tôi nên làm gì?

Các chế độ tích hợp mới nên chọn sử dụng Shaka Player để phát. Ứng dụng của bạn sẽ được hỗ trợ tốt hơn về lâu dài, đồng thời tận dụng các tính năng mới của HLS và những điểm cải thiện về hiệu suất. Nếu chế độ tích hợp mới của bạn gặp vấn đề, hãy báo cáo lỗi càng sớm càng tốt để nhóm kỹ thuật có đủ thời gian giải quyết vấn đề. Nếu ứng dụng của bạn có thời hạn gấp, hãy thêm thông tin đó vào báo cáo lỗi cũng như mức độ ảnh hưởng để ưu tiên cho phù hợp. Nhóm kỹ thuật của chúng tôi sẽ nỗ lực cung cấp một giải pháp để hỗ trợ đầy đủ cho người dùng của bạn.

Nội dung hoặc ứng dụng của tôi không hoạt động với Shaka Player, tôi phải làm gì?

Bạn nên báo cáo lỗi cho Dự án Shaka Player hoặc Dự án Cast (xem phần Báo cáo vấn đề). Nhóm kỹ thuật Cast SDK đang tích cực theo dõi các trình theo dõi này và sẽ phối hợp với bạn để giải quyết mọi vấn đề hiện tại. Những vấn đề này được phát hiện càng sớm thì họ càng có nhiều thời gian để cung cấp bản sửa lỗi.

MPL không còn nhận được các bản cập nhật quan trọng nữa. Điều này có nghĩa là gì?

Trước đây, MPL đã áp dụng các tính năng mới của HLS và vá các lỗi lớn thông qua các bản cập nhật quan trọng. Vì MPL sẽ không còn nhận được các tính năng này nữa, nên các tính năng HLS mới sẽ không được thêm vào trình phát. Tương tự, mọi vấn đề đã báo cáo về việc phát HLS trên MPL sẽ không được khắc phục trong MPL. Bạn nên giải quyết những vấn đề này bằng cách chuyển sang Shaka Player để phát. Nếu vấn đề vẫn tiếp diễn, thì bạn nên báo cáo lỗi đối với(các) vấn đề liên quan mà bạn gặp phải trên Shaka Player. Đối tác nên ngừng sử dụng MPL.

Nội dung của tôi sử dụng giao thức Smooth Streaming, điều này ảnh hưởng như thế nào đến ứng dụng của tôi?

Các tệp nhị phân MPL vẫn sẽ được lưu trữ và ứng dụng nhận của bạn có thể truy cập vào các tệp này. Tuy nhiên, mọi yêu cầu về tính năng và bản sửa lỗi liên quan đến Smooth Streaming sẽ không được hỗ trợ vì quy cách Smooth Streaming đã không được cập nhật trong hơn 4 năm. Bạn nên di chuyển nội dung để sử dụng giao thức truyền phát trực tiếp DASH hoặc HLS để tiếp tục nhận được các bản cập nhật hiệu suất và hỗ trợ cho nội dung của mình.

Nội dung của tôi không sử dụng giao thức HLS hoặc Smooth Stream, vậy điều này ảnh hưởng như thế nào đến ứng dụng của tôi?

Nếu thư viện nội dung của bạn không sử dụng một trong hai giao thức phát trực tuyến đó, thì bạn sẽ không bị ảnh hưởng bởi quá trình di chuyển. Bạn không cần thay đổi gì trong ứng dụng của mình.