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

Tạo phiên phát

Request and consume the DRM-X Universal Playback Session Contract with authentication, trusted Content IDs, and bounded authorization.

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

Quy trình cấp quyền phát video

Backend quyết định ai được xem. DRM-X cung cấp thông tin cấp quyền phát. Trình phát dùng thông tin đó để yêu cầu giấy phép DRM.

  1. Người xem

    Đăng nhập vào dịch vụ của bạn và yêu cầu xem video.

  2. Backend của bạn

    Kiểm tra giao dịch mua, gói đăng ký hoặc quyền xem khác của người dùng.

  3. DRM-X

    Áp dụng các quy tắc đã chọn và trả về cấu hình cùng thông tin cấp quyền phát.

  4. Trình phát

    Dùng thông tin cấp quyền nhận được để yêu cầu giấy phép DRM cần thiết cho việc phát video.

Backend của bạn quyết định quyền truy cập; DRM-X thực thi chính sách đã ký. Nội dung đã mã hóa và giấy phép DRM được phân phối qua các đường riêng.
API

Tạo một phiên chạy phát lại chung#

POST https://api6.drm-x.com/api/v1/playback/environments/{siteId}/sessions
Accept: application/json
Content-Type: application/json
X-DRMX-Client-Id: {siteKey}
X-DRMX-Client-Secret: {accessKey}
{
  "contentId": "course-12-lesson-4",
  "contentType": "vod",
  "drmSystem": "widevine",
  "subject": "customer-user-1001",
  "sessionId": "new-unpredictable-id-per-playback",
  "playbackMode": "streaming",
  "licensePolicyTemplate": "multi-tier-standard",
  "useEnvironmentDefaults": true,
  "applicationId": "customer-web",
  "platformCapabilities": {
    "clientPlatform": "web",
    "drmSystems": ["widevine"],
    "manifestTypes": ["dash"],
    "maximumHeight": 2160,
    "persistentState": false,
    "sdkVersion": "1.2.0-beta.4"
  }
}

Một câu trả lời hợp đồng thành công bao gồm các bản tuyên bố có thẩm quyền, có sẵn các biến thể, một DRM-giấy phép đặc biệt URLMột cuộc sống ngắn ngủi DRM License Token hoặc quyền ủy nhiệm khách hàng, lộ trình phóng thích, cấp phép cao nhất, và cho phép đường ray. Cache-Control: no-store.

Dùng một phiên chạy không thể đoán trước ID cho mỗi lần thử phát lại. ID thông qua các thiết bị đánh bại đếm ngược cùng thời điểm.

Ví dụ phản hồi thành công

Ví dụ này dùng URL mẫu không hoạt động và token giữ chỗ. Hãy đọc các bộ mô tả lồng nhau; bí danh tương thích được cung cấp cho các tích hợp cũ.

{
  "contractVersion": 1,
  "playbackMode": "streaming",
  "sessionId": "c9006ed8-58c8-45db-9ed0-311d1047c210",
  "contentId": "course-12-lesson-4",
  "drmSystem": "widevine",
  "manifestUrl": "https://media.example.test/course-12/manifest.mpd",
  "manifestUrls": {"dash": "https://media.example.test/course-12/manifest.mpd"},
  "expiresAt": "2026-10-26T12:10:00Z",
  "drm": {
    "system": "widevine",
    "licenseServerUrl": "https://license6.drm-x.com/v1/licenses/widevine",
    "drmLicenseToken": "REDACTED_EXAMPLE_ONLY",
    "tokenType": "Bearer",
    "fairPlayCertificateUrl": null
  },
  "release": {
    "url": "https://license6.drm-x.com/v1/playback-sessions/release",
    "method": "POST",
    "authorizationScheme": "Bearer"
  },
  "policy": {"maximumHeight": 1080, "allowedTrackTypes": ["AUDIO", "SD", "HD"]},
  "tracks": {"audioLanguageSelection": true, "subtitleLanguageSelection": true, "languageTagStandard": "BCP-47"},
  "platformCapabilities": null,
  "playerBranding": null,
  "token": "REDACTED_EXAMPLE_ONLY",
  "tokenType": "Bearer",
  "licenseServerUrl": "https://license6.drm-x.com/v1/licenses/widevine",
  "fairPlayCertificateUrl": null,
  "releaseUrl": "https://license6.drm-x.com/v1/playback-sessions/release",
  "maximumHeight": 1080,
  "allowedTrackTypes": ["AUDIO", "SD", "HD"]
}

Xác thực và các trường yêu cầu tin cậy#

Gọi cái này đi API từ hậu phương của bạn với một dự án API Khách hàng có license-tokens:createDùng môi trường UUID dạng siteIdNgười xem xác thực của bạn gọi điểm kết thúc của bạn; điểm kết thúc của bạn cung cấp các trường tin cậy bên dưới.

Tìm kiếmNghĩa làQuy tắc hợp nhất
contentIdTài liệu tham khảo nội dung được xuất bảnGiải quyết từ danh mục tin cậy sau khi kiểm tra phúc lợi xã hội.
subjectBộ nhận diện trình xem ổn định của bạnDerive từ phiên chạy xác thực, không phải là người dùng ứng dụng khách ID.
drmSystemwidevine, playready, fairplay, hoặc wiseplayKhớp điều đã chọn DRM đến trình phát Khả năng.
sessionIdDanh tính của nỗ lực phát lại nàyTạo ra một giá trị không thể đoán trước cho mỗi nỗ lực.
contentTypevod hay liveDùng kiểu đã đăng ký cho nội dung.
playbackModestreaming trong hợp đồngPhần phát lại ngoại tuyến đòi hỏi phần mở rộng hợp đồng sau.
licensePolicyTemplate / licensePolicyNameHãy chọn trên máy phục vụ của bạn; đừng cung cấp cả hai. Xem quy tắc chính sách.
platformCapabilitiesNền tảng, DRM hệ thống, kiểu trình bày và gợi ý thiết bịGửi khả năng rõ ràng với sự tích hợp mới. Chúng mô tả ứng dụng khách, không ghi đè lên chính sách chứng nhận.

Tiêu thụ các ghi chú đáp ứng#

Dùng hợp đồng lồng nhau v1 descripters. Đừng xây dựng các đường dẫn chứng nhận từ các dự đoán hoặc thay thế các URL đã đăng ký trình phát Đầu vào.

Trường đáp ứngCách sử dụng nó
contractVersionKiểm tra xem phiên bản hợp đồng trả lại được hỗ trợ bởi sự tích hợp của bạn.
manifestUrl / manifestUrlsTải danh sách đã chọn hoặc một biến thể tương thích với trả lại.
expiresAtSự giải thoát của giấy phép bị hạn chế này.
drmĐọc system, licenseServerUrl, drmLicenseToken, tokenTypevà tùy chọn fairPlayCertificateUrl. một ủy nhiệm hiệu suất khách hàng có thể thay thế quyền truy cập tới trình duyệt bằng phiên chạy bị hạn chế riêng.
releaseSử dụng nó url, method, và authorizationScheme để phát hành phiên chạy khi phát lại kết thúc.
policyDanh dự maximumHeight và allowedTrackTypesNhà cung cấp vẫn thực thi chính sách đã được ký.
tracksĐọc khả năng chọn ngôn ngữ/phụ và tiêu chuẩn thẻ ngôn ngữ.

Trả lại của bạn trình phát trả lời với Cache-Control: no-storeKhông bao giờ chuyển tiếp dự án Access Key cho trình duyệt. Giới hạn quyền sở hữu đầu trang tới các đường dẫn chứng nhận và giấy phép trả về.

Xử lý lỗi và gỡ bỏ vùng đặt trước#

Kiểm tra HTTP Trạng thái và Máy đọc được codeGiữ lại requestId Đối với rắc rối bắn súng và tôn trọng retryable; một chính sách bị từ chối hoặc không hợp lệ cần một quyết định đúng, không phải một vòng lặp thử lại. Xem Gặp lỗi khi phát lại phiên chạy.

Phát hành đặt chỗ trên trạm dừng, phát lại thay thế, lỗi thiết bị cuối, và tắt ứng dụng. Một nỗ lực phát lại mới có một phiên chạy mới ID.

POST https://license6.drm-x.com/v1/playback-sessions/release
Authorization: Bearer REDACTED_EXAMPLE_ONLY
Accept: application/json

HTTP/1.1 200 OK
{"contractVersion":1,"released":true,"code":"license_session_released","requestId":"example-request-id"}

Dùng URL giải phóng và cơ chế xác thực được trả về với cùng DRM License Token. Không cần nội dung yêu cầu. Yêu cầu giải phóng lặp lại đã xác thực trả về HTTP 200 với released false và code license_session_not_active. Xác thực hết hạn hoặc không hợp lệ có thể thất bại trước khi giải phóng; hãy lấy xác thực mới cho lần phát mới. Thử lại lỗi dịch vụ tạm thời với thời gian chờ tăng dần và số lần giới hạn.

Hợp đồng công khai này mô tả phát trực tuyến. Endpoint ngoại tuyến do khách hàng sở hữu và giấy phép lâu dài gắn với thiết bị có quy trình riêng; không dùng lại phản hồi trực tuyến này làm giấy phép ngoại tuyến.