재생 세션 만들기
DRM-X 인증, 신뢰할 수있는 Content IDs와 Universal Playback Session Contract를 요청하고 사용 권한.
Universal Playback Session# 만들기
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"
}
}
성공적인 계약 v1 응답에는 권위있는 표식, 유효한 표식, DRM-specific license 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 | Offline 재생은 나중에 계약 확장을 요구합니다. |
licensePolicyTemplate / licensePolicy | 이름 정책 또는 사용자 정의 정책 | 서버 선택; 둘 다 공급하지 마십시오. policy 규칙을 참조하십시오. |
platformCapabilities | 플랫폼, DRM 시스템, 표시 유형 및 장치 힌트 | 새로운 통합으로 명시된 기능을 전송합니다. 그들은 클라이언트를 설명합니다. 그들은 라이센스 정책을 무시하지 않습니다. |
응답 descriptors#에 대하여
배열된 계약 v1 descriptors를 사용하십시오. 추측에서 라이센스 URL을 구성하거나 플레이어 입력으로 등록 된 URL을 대체하지 마십시오.
| 응답 분야 | 그것을 사용하는 방법 |
|---|---|
contractVersion | 반환된 계약 버전이 통합에 의해 지원된다는 것을 확인합니다. |
manifestUrl / manifestUrls | 선택된 표 또는 반환된 호환성 변종을 로드합니다. |
expiresAt | 이 경계 된 허가의 만료. |
drm | system, licenseServerUrl, drmLicenseToken, tokenType 및 옵션 fairPlayCertificateUrl을 읽으십시오. 고객 토큰 프록시는 자체 경계 세션과 브라우저 기반 권한화를 대체 할 수 있습니다. |
release | url, method 및 authorizationScheme을 사용하여 재생 종료시 세션을 릴리스합니다. |
policy | Honor maximumHeight 및 allowedTrackTypes. 공급자는 여전히 서명 된 정책을 시행합니다. |
tracks | 오디오 / 자막 언어 선택 기능 및 언어 태그 표준을 읽으십시오. |
Cache-Control: no-store과 플레이어 응답을 반환합니다. 브라우저에 Access Key 프로젝트를 전달하지 마십시오. 반환된 라이센스 및 인증서 경로에 권한 부여 헤더를 제한합니다.
처리 오류 및 해제 예약#
검사하기 HTTP 상태와 기계 읽기 쉬운 code. 유지 requestId 문제 해결 및 존중 retryable; denied entitlement 또는 잘못된 정책은 수정 된 결정, 구호 루프가 필요하지 않습니다. 참조 playback 세션 오류 참조.
중지, 재생 교체, 터미널 오류 및 응용 프로그램 종료에 예약을 해제합니다. 신선한 재생 시도는 새로운 세션을 가져옵니다 ID.
DRM-X 6.0