创建播放会话
请求并消费 DRM-X Universal Playback Session Contract, 包含认证, 信任的 Content IDs 秒, 并有限制的授权 。
创建通用回放会话#
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-preview.6"
}
}
成功的Contract v1答复包括权威性的表单,现有表单变体,a DRM-具体许可证 URL,一个短暂的 DRM License Token 或客户代理授权、释放路线、许可的最大高度和允许的音轨。 Cache-Control: no-store.
对每次真实的重播尝试使用一个无法预测的会话 ID。 跨设备重用 ID 会挫败同时流的计数 。
认证和信任的请求字段#
叫这个吧 API 从您的后端带一个工程 API 客户端有 license-tokens:create。使用环境 UUID 作为 siteId。您的认证查看器会调用您的端点; 您的端点会提供下面可信任的字段 。
| 外地 | 含义 | 融合规则 |
|---|---|---|
contentId | 已公布的内容参考 | 在权限检查后从您信任的目录中解析 。 |
subject | 您的稳定查看器标识符 | 来源于认证的会话, 不是客户端提供的用户 ID 。 |
drmSystem | widevine, playready, fairplay,或 wiseplay | 将选中的 DRM 匹配到 播放器 能力 。 |
sessionId | 此播放尝试的特性 | 为每次尝试生成新的不可预测的值 。 |
contentType | vod 或 live | 使用已注册的内容类型 。 |
playbackMode | streaming在合同v1中 | 离线回放需要以后的合同延期. |
licensePolicyTemplate / licensePolicy | 指定的政策或海关政策 | 在服务器上选择; 不同时提供。 请参见 政策规则 。 |
platformCapabilities | 平台、DRM系统、显示类型和设备提示 | 以新的整合方式发送明确的能力,它们描述客户;它们不会超越许可证政策。 |
设定响应描述符#
使用嵌入式合同 v1 描述符 。 不要从猜测中构建许可证 URL , 或以 播放器 输入替换已注册的显示 URL 。
| 反应领域 | 怎样用呢? |
|---|---|
contractVersion | 校验返回的合同版本是否由您的整合支持 。 |
manifestUrl / manifestUrls | 装入权威的选定清单或返回的兼容变体。 |
expiresAt | 此限定权限的终止 。 |
drm | 读取 system, licenseServerUrl, drmLicenseToken, tokenType,可选 fairPlayCertificateUrl。客户代号代理可以用自己的限定会话取代浏览器配置的授权。 |
release | 使用它 。 url, method,以及 authorizationScheme 以在播放结束时释放会话。 |
policy | Honor maximumHeight 和 allowedTrackTypes. 提供者仍然执行已签名的政策 。 |
tracks | 阅读音频/子标题语言选择能力和语言tag标准. |
以 Cache-Control: no-store 返回您的 播放器 回复 。 永远不要向浏览器转发项目 Access Key 。 将授权信头限制在返回的许可证和证书路径 。
处理错误和解除保留#
检查 HTTP 状态和机器可读 code. 保留 requestId 以排除和尊重 retryable ; 被剥夺的应享权利或无效的政策需要更正决定, 而不是重试循环 。 请参看 回放会话错误引用 。
在 Stop 、 回放替换、 终端错误、 应用程序关闭时释放保留 。 新的回放尝试会获得一个新的会话 ID 。
DRM-X 6.0