再生セッションを作成
Request and consume the DRM-X Universal Playback Session Contract with authentication, trusted Content IDs, and bounded authorization.
ユニバーサル・プレイバック・セッション# を作成する
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応答には、正規のマニフェスト、利用可能なマニフェストのバリアント、DRM-固有のライセンスURL、短命 DRM License Token、または顧客のプロキシの承認、リリースルート、ライセンスされた最大高さ、および許可されたトラックが含まれます。 Cache-Control: no-storeでそれを返します。
1つの予測不可能なセッション ID を使用して、実際の再生の試みを行います。デバイス全体で ID を再利用することで、同時ストリームカウントが失われます。
認証と信頼できるリクエストフィールド#
license-tokens:create を持つプロジェクト API クライアントでこの API を呼び出します。 siteId として環境 UUID を使用します。 認証されたビューアはエンドポイントを呼び出します。エンドポイントは信頼できるフィールドを提供します。
| フィールド | 意味する | 統合ルール |
|---|---|---|
contentId | 公開されたコンテンツ参照 | 資格チェック後、信頼できるカタログから解決します。 |
subject | 安定したビューア識別子 | 認証されたセッションから派生し、クライアントが認めたユーザーIDではなく。 |
drmSystem | widevine、playready、fairplay、またはwiseplay | 選択した DRM を プレーヤー 関数にマッチさせます。 |
sessionId | この再生の試みのアイデンティティ | 試みごとに新しい予測不可能な値を生成します。 |
contentType | vod または live | コンテンツに登録されたタイプを使用してください。 |
playbackMode | 契約v1のstreaming | オフライン再生では、後続の契約延長が必要です。 |
licensePolicyTemplate / licensePolicy | 名前付きポリシーまたはカスタムポリシー | サーバで選択してください。 どちらも供給しないでください。 のポリシー を参照してください。 |
platformCapabilities | プラットフォーム、DRM システム、マニフェストタイプ、デバイスヒント | 新しいインテグレーションで明示的な機能を送信します。 クライアントを記述します。 ライセンスポリシーを上書きしません。 |
応答の記述子を消費して下さい#
ネストされたコントラクトv1記述子を使用してください。 ライセンスURLを推測から構築したり、登録されたマニフェストURLをプレーヤー入力に置き換えたりしないでください。
| 応答分野 | 使い方 |
|---|---|
contractVersion | 返された契約バージョンが統合によってサポートされることを確認します。 |
manifestUrl / manifestUrls | 選択されたマニフェストまたは返された互換性のあるバリアントをロードします。 |
expiresAt | この拘束された許可の有効期限。 |
drm | system、licenseServerUrl、drmLicenseToken、tokenType、およびオプションfairPlayCertificateUrlを読みます。 顧客トークンプロキシは、ブラウザのフェーシング権限を独自のバウンディングセッションに置き換えることができます。 |
release | url、method、authorizationScheme を使用して、再生終了時にセッションを解放します。 |
policy | 名誉maximumHeightとallowedTrackTypes。 プロバイダは署名されたポリシーを強制します。 |
tracks | 音声/字幕の言語選択機能と言語タグ標準を読みます。 |
Cache-Control: no-store で プレーヤー 応答を返します。プロジェクト Access Key をブラウザに転送しないでください。 返されたライセンスと証明書のルートに権限ヘッダーを制限します。
ハンドルエラーとリリース予約#
HTTP のステータスと機械で読みやすい code を調べます。トラブルシューティングの requestId を保持し、retryable を尊重します。拒否されたエンタイトルまたは無効なポリシーは、再試行ループではなく、正しい決定を必要とします。 playback session error reference を参照してください。
ストップ、再生交換、ターミナルエラー、アプリケーションシャットダウンで予約を解除します。新しい再生の試みは、新しいセッション ID を取得します。
DRM-X 6.0