DRM-X 6.0 logo bồ câu và nhánh ô liuDRM-X 6.0Tài liệu
◎ Tiếng Việt

Phát trên Web và HTML5

Tích hợp phát web được bảo vệ bằng DRM-X 6.0 với Universal Player, Shaka đã được kiểm tra, PHP, ASP.NET Core, tự động chọn DRM và chẩn đoán an toàn.

Xem MarkdownVí dụ chạy trực tiếpCập nhật ngày 2026-10-26

Để tùy chỉnh giao diện, xem giá trị mặc định của tham số và ví dụ về vòng đời, hãy đọc PLAYER-UI-CONFIGURATION.md. Các bảng bật lên mặc định của trình phát đều không trong suốt; độ mờ của phụ đề và hình mờ được đặt riêng.

Dùng Web SDK 1.2.0-beta.7 sau khi Published Content ID hoạt động trong DRM-X Web Player. Website giữ đăng nhập và quy tắc xem riêng. Bắt đầu với bộ tích hợp backend đầy đủ, rồi thêm thành phần bên dưới.

Dùng ví dụ đầy đủ trước#

Gói web có JavaScript và khai báo kiểu Universal Player cục bộ mới nhất, Shaka đã được kiểm tra, ứng dụng PHP chạy được, ví dụ ASP.NET Core chạy được và README tích hợp. Trang thực tế có thể tải Shaka và Universal Player từ DRM-X CDN; gói vẫn giữ các tệp cục bộ hiện hành để xem xét, phát triển và dùng làm phương án dự phòng có kiểm soát.

  1. Thiết lập Site ID, Site Key và Access Key ở phía máy chủ.
  2. Đặt tập tin được bảo vệ đã tin cậy Content ID và đặt tên theo chính sách.
  3. Thay thế việc đăng nhập mẫu mẫu và quyết định phúc lợi xã hội bằng logic kinh doanh của bạn.

Trách nhiệm tối thiểu của phía máy khách#

<drmx-universal-player
  content-id="your-published-content-id"
  session-endpoint="/api/drmx/playback-session">
</drmx-universal-player>

Nạp Shaka runtime đã kiểm chứng và script Universal Player hiện tại từ bộ đầy đủ trước thành phần này. Khi người xem nhấn Play, thành phần gọi endpoint đã xác thực của bạn. Endpoint kiểm tra phiên và quyền xem, chọn nội dung cùng chính sách đáng tin cậy, tạo Contract v1 và trả về với Cache-Control: no-store.

Trình duyệt không chọn bảo mậtMáy chủ của bạn ánh xạ người dùng đã xác thực và tham chiếu danh mục tin cậy sang Content ID và mẫu chính sách DRM-X.

Tự động chọn hệ thống DRM#

  • Windows Microsoft Edge ưu tiên PlayReady. Nếu đường đã kiểm chứng thất bại trước phát, Auto có thể chuyển dự phòng có giới hạn sang Widevine.
  • Chrome hỗ trợ Android Các trình duyệt dùng Widevine.
  • Safari trên iPhone và iPad dùng HLS FairPlay gốc. Trên macOS Safari được hỗ trợ, ưu tiên Shaka MSE FairPlay đã kiểm chứng khi có, với dự phòng HLS gốc.
  • Trình duyệt Huawei tương thích dùng luồng WisePlay đã được kiểm tra và cách chọn chất lượng tự động thận trọng.

Danh sách kiểm tra trước khi triển khai thực tế#

  • Phục vụ tất cả mọi thứ HTTPS và giữ Access Keybí mật của máy chủ.
  • Trả lời lặp lại cách sử dụng Cache-Control: no-store.
  • Không tiếp tục hiển thị URL, thẻ tín dụng, hoặc trả lời phiên chạy trong localStorage.
  • Chỉ bật nhật ký chi tiết đã loại bỏ thông tin nhạy cảm khi chủ động chọn và trong thời gian giới hạn; không ghi byte giấy phép hoặc dữ liệu cấp quyền.
  • Kiểm tra trên thiết bị thật với Windows Edge, macOS Safari, iPhone/iPad Safari, Android và mọi loại thiết bị bạn quảng cáo hỗ trợ.
Web SDK

Phát HTML5 bằng một Web Component#

<script
  src="https://drm-x6-cdn.1aicloud.com/shaka-player-5.2.4-drmx.2-6557ae581f1c.js"
  integrity="sha384-QzxDZ19XaYAL308fvtVjFjUX9RpRxtSfEZ1k1lm8FsRuML1MgNEORVMCtmToCFb8"
  crossorigin="anonymous"></script>
<script
  src="https://drm-x6-cdn.1aicloud.com/drmx-universal-player-1.2.0-beta.8-26bbb1dfef2c.js"
  integrity="sha384-tnp3UFe+6ZU/QKoKQq2zU8Z3J7BX+GI1/L+Z3Y8+AmJkYI3+owP6e+A4npzWIFdA"
  crossorigin="anonymous"></script>

<drmx-universal-player
  content-id="course-12-lesson-4"
  content-type="vod"
  session-endpoint="/api/drmx/playback-session">
</drmx-universal-player>

Trình duyệt chỉ gọi endpoint cùng nguồn gốc có xác thực của bạn. Auto chọn DRM được hỗ trợ và manifest DASH/HLS đã đăng ký phù hợp. Trình phát tích hợp chọn tốc độ bit, ngôn ngữ/kênh âm thanh, phụ đề, Picture-in-Picture, toàn màn hình và tốc độ phát.

Dùng ShakaVideo.js, Bitmovin, hay khác EME trình phát

Yêu cầu Contract v1 từ backend, nạp manifestUrl, chỉ thêm Authorization: Bearer {drmLicenseToken} cho yêu cầu giấy phép DRM và chứng chỉ FairPlay. Giữ nguyên byte yêu cầu mờ và phản hồi giấy phép. Khi kết thúc, dùng tuyến giải phóng được trả về.

Danh sách phát và bộ điều khiển dùng chung của Universal Player#

Web và Android có bảng tối và điều khiển xanh gọn. Danh sách hỗ trợ trước/sau, trộn, lặp một/tất cả và chuyển tự động có thể hủy. Mỗi mục dùng yêu cầu cấp quyền mới. Chương và bản chép lời lấy từ danh mục.

Có tốc độ, hẹn giờ ngủ, phụ đề, chất lượng cho phép, ngôn ngữ, dấu trang phiên và lặp A–B. Web thêm phím tắt, tiếp tục cục bộ tùy chọn riêng từng người xem, tìm bản chép lời và PiP được hỗ trợ. Android giữ tải Widevine ngoại tuyến và gia hạn. Truyền màn hình và tiến độ liên thiết bị cần tích hợp riêng.

Thiết lập biểu tượng cá nhân và tầu Enterprise

Thương hiệu không phủ lên video. Nhấp phải Web hoặc mở Settings → About player để xem logo được phép, thông tin và phiên bản. Nút tròn và menu tối dùng chung với Android. Thiết lập toàn màn hình Web có bộ chọn danh sách.

Đặt playerBranding thành {"mode":"hidden"} hoặc {"mode":"custom","logoUrl":"https://your-site.example/logo.png","label":"Your brand"} trong backend đáng tin cậy. Nền tảng kiểm tra Professional hoặc Enterprise đang hoạt động. Gói khác dùng {"mode":"default"}; yêu cầu tùy chỉnh/ẩn không được phép trả 403. Tính năng này độc lập với watermark bảo mật.

Bản PHP có danh sách và thương hiệu chỉnh sửa được. ZIP Android có ví dụ callback danh sách. Giữ cấp quyền danh sách trong backend; không nhúng thông tin client API vào bất kỳ trình phát nào.

Giới hạn 1080p tùy chọn chỉ cho điện thoại#

Web SDK 1.2.0-beta.4 bổ sung giới hạn điện thoại tùy chọn. Không đặt giá trị để giữ hành vi UHD hiện tại. Cấu hình trước lần Play đầu tiên:

<drmx-universal-player
  content-id="your-published-content-id"
  session-endpoint="/api/drmx/playback-session"
  mobile-max-height="1080">
</drmx-universal-player>

// Equivalent component option; retained for subsequent playlist items:
await component.play({mobileMaximumHeight: 1080});
// Remove the option before a new playback:
await component.play({mobileMaximumHeight: null});

// Low-level API, for a video element you own:
await DrmXUniversalPlayer.start({
  video, contentId: 'your-published-content-id',
  sessionEndpoint: '/api/drmx/playback-session',
  mobileMaximumHeight: 1080
});

Tùy chọn chỉ áp dụng cho thiết bị được nhận diện là điện thoại. Máy tính bảng, máy tính và TV giữ trần cũ. Nhận diện dùng gợi ý trình duyệt và user-agent dự phòng; chiều rộng màn hình không quyết định độ phân giải. Nếu ứng dụng biết loại thiết bị, dùng device-class="phone" hoặc deviceClass: "phone". Giá trị khác là auto, tablet, desktop, tv. Phân loại của trình duyệt chỉ có tính tham khảo.

SDK gửi platformCapabilities.maximumHeight thấp hơn trước khi cấp quyền. Endpoint phải chuyển tiếp hoặc giảm thêm. Trần trả về không được vượt yêu cầu. Auto và chọn thủ công luôn trong phạm vi được phép, kể cả sau xoay màn hình, toàn màn hình, thử lại hay đổi danh sách. Chính sách DRM đã ký và bộ giải mã có thể giảm thêm. Giá trị phải là số nguyên từ 144 đến 4320; không đặt hoặc null sẽ tắt giới hạn tùy chọn này.

Safari cần HLS đã lọc

Backend phải trả nativeHlsQuality.autoUrl gắn với phiên và các URL chất lượng chỉ chứa phiên bản video hợp lệ, đồng thời giữ nhóm âm thanh và phụ đề. Mẫu PHP đầy đủ hiện tại đã triển khai. Chỉ giảm trần số trong khi HLS master vẫn không giới hạn sẽ không tiết kiệm băng thông. SDK từ chối trần bị tăng hoặc phản hồi FairPlay bị giới hạn nhưng thiếu mô tả bắt buộc. Backend khác phải triển khai cùng hợp đồng trước khi bật tùy chọn.

Tùy chọn SDK gốc

Apple Universal Player 1.0.0-beta.1 nhận mobileMaximumHeight: 1080, chỉ áp dụng cho loại điện thoại gốc. Endpoint phải trả master đã lọc để kiểm tra trước khi nạp media. Android 1.0.0-beta.1 nhận mobileMaximumHeight = 1080 trong WidevineCapabilities.playbackCapabilities; dùng clientPlatform = "android" cho điện thoại, nêu rõ android-tablet hoặc android-tv cho loại khác. Áp dụng giới hạn khả năng ngoại tuyến tương ứng cho bản tải xuống mới. Giữ nguyên bản tải xuống hiện có.

Xác minh tích hợp

  1. Đóng gói nguồn có 1080p, các mức thấp hơn và UHD. Xác nhận phát được khi chưa đặt trần.
  2. Bật 1080 trên điện thoại. Kiểm tra trần cấp quyền, master đã lọc, menu Auto/thủ công và kích thước video đã giải mã. Không lựa chọn được phép nào vượt 1080p.
  3. Thử tua, đổi chất lượng, âm thanh, phụ đề, quảng cáo và chuyển tiếp danh sách. Dừng phát và xác nhận phiên được giải phóng.
  4. Dùng cùng tùy chọn trên máy tính và máy tính bảng: giới hạn điện thoại không được làm giảm trần của chúng. Giới hạn chính sách hoặc thiết bị hiện có vẫn áp dụng.

Trần độ phân giải không đặt bitrate và không bảo đảm mức tiết kiệm cố định. Quy tắc phải chống được yêu cầu trình duyệt bị sửa cần được thực thi ở backend đáng tin cậy và chính sách DRM phù hợp. Không xem gợi ý thiết bị của client là bằng chứng. Nếu không có phiên bản hợp lệ, phải báo lỗi; không tự chuyển về UHD.

Điều khiển toàn màn hình nhất quán trên iPhone Safari#

Web SDK 1.2.0-beta.4 giữ điều khiển Web Player khi toàn màn hình, cả trên trang quảng cáo PHP. Trên iPhone, dùng toàn màn hình phần tử nếu hỗ trợ, hoặc mở rộng trình phát trong trang. Thanh trình duyệt có thể vẫn hiện. Không chuyển sang trình phát video riêng của iPhone. Mọi nền tảng dùng cùng menu thiết lập cho chất lượng, ngôn ngữ âm thanh và phụ đề.

Lựa chọn âm thanh và phụ đề phản ánh trạng thái track hiện tại, cập nhật sau khi HLS gốc áp dụng thay đổi. Tắt rồi bật CC giữ ngôn ngữ phụ đề đã chọn gần nhất. Quảng cáo có điều khiển riêng khi chạy; điều khiển nội dung trở lại khi tiếp tục phát.

Kiểm tra chất lượng, ngôn ngữ và quảng cáo#

  1. Bắt đầu bằng thao tác chạm hoặc nhấp thực. Quy tắc tự phát và âm thanh của trình duyệt vẫn áp dụng.
  2. Mở thiết lập và kiểm tra chất lượng, âm thanh, phụ đề hiện tại. Auto dùng các mức được phép; chọn thủ công không thể tăng trần cấp quyền.
  3. Đổi ngôn ngữ âm thanh, chọn ngôn ngữ phụ đề rồi tắt và bật CC. Xác nhận nhãn khớp track đang hoạt động và giữ lựa chọn ngôn ngữ phụ đề.
  4. Vào toàn màn hình trong iPhone Safari và Edge. Web Player giữ điều khiển chung; iPhone có thể mở rộng trong trang và vẫn hiện thanh trình duyệt.
  5. Nếu tích hợp quảng cáo, thử quảng cáo trước, giữa và sau nội dung, bao gồm đổi chất lượng. Trang quảng cáo PHP cung cấp công cụ thử. Quảng cáo mẫu tích hợp và Google IMA là hai chế độ riêng; xác nhận dịch vụ đã chọn nạp được trên từng trình duyệt được hỗ trợ.

Với tùy chọn băng thông, xem Giới hạn điện thoại ở 1080p tùy chọn. Không đặt để giữ UHD hiện tại. Giới hạn độ phân giải không đặt bitrate cố định và không bảo đảm phần trăm tiết kiệm.

Trình phát web hiển thị video, phụ đề song ngữ và cài đặt hiển thị phụ đề
Hình ảnh độ xoay