Buat sesi pemutaran
Request and consume the DRM-X Universal Playback Session Contract with authentication, trusted Content IDs, and bounded authorization.
Buat Sesi Pemutaran Universal #
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"
}
}
Balasan Kontrak v1 yang sukses termasuk manifest otoritatif, varian manifest yang tersedia, sebuah DRM- lisensi spesifik URL, sebuah pendek-hidup DRM License Token atau otorisasi proksi pelanggan, rute rilis, yang berlisensi tinggi maksimum, dan diperbolehkan trek. Kembalikan dengan Cache-Control: no-store.
Gunakan satu sesi yang tak terduga ID untuk setiap percobaan pemutaran yang sebenarnya. Gunakan sebuah ID di perangkat yang mengalahkan arus yang sedang berjalan.
Otentikasi dan ruas permintaan terpercaya #
Sebut ini API dari backend Anda dengan sebuah projek API klien yang memiliki license-tokens:create. Gunakan lingkungan UUID sebagai siteId. Tampilan dikonfirmasi Anda memanggil titik akhir; Anda menyediakan daerah yang terpercaya di bawah.
| Ruas | Artinya | Aturan integrasi |
|---|---|---|
contentId | Referensi isi yang diterbitkan | Selesaikan dari katalog terpercaya Anda setelah cek hak. |
subject | Identifier penampil stabil Anda | Derif dari sesi terotentikasi, bukan pengguna yang diberikan oleh klien ID. |
drmSystem | widevine, playready, fairplay, atau wiseplay | Cocok dengan yang dipilih DRM ke kemampuan pemutar. |
sessionId | Identitas percobaan pemutaran ini | Hasilkan nilai yang baru tak terduga untuk setiap usaha. |
contentType | vod atau live | Gunakan tipe yang terdaftar untuk isi. |
playbackMode | streaming dalam Kontrak v1 | Pemutaran luring memerlukan ekstensi kontrak nanti. |
licensePolicyTemplate / licensePolicy | Kebijakan bernama atau kebijakan gubahan | Pilih pada server Anda; jangan sediakan keduanya. Lihat aturan kebijakan . |
platformCapabilities | Platform, DRM sistem, tipe manifest, dan hints perangkat | Kirim kemampuan eksplisit dengan integrasi. mereka menggambarkan klien; mereka tidak menimpa kebijakan lisensi. |
Konsumsi deskripsi respon #
Gunakan nested Contract v1 deskripsi. Jangan buat URL lisensi dari menebak atau ganti URL muatan terdaftar dengan pemutar masukan.
| Ruas respon | Bagaimana menggunakannya |
|---|---|
contractVersion | Verifikasi bahwa versi kontrak yang dikembalikan didukung oleh integrasi Anda. |
manifestUrl / manifestUrls | Muat manifest yang dipilih berwibawa atau varian yang kembali kompatibel. |
expiresAt | Kehabisan otorisasi terbatas ini. |
drm | Baca system, licenseServerUrl, drmLicenseToken, tokenType, dan opsional fairPlayCertificateUrl. Proksi token pelanggan dapat menggantikan browser- yang menghadap otorisasi dengan sesi sendiri yang terbatas. |
release | Gunakan url nya, method, dan authorizationScheme untuk merilis sesi ketika pemutaran berakhir. |
policy | Kehormatan maximumHeight dan allowedTrackTypes. Penyedia masih memaksa kebijakan yang ditandatangani. |
tracks | Baca audio / subjudul lesu - kemampuan seleksi dan lesu - tag standar. |
Kembalikan jawaban pemutar Anda dengan Cache-Control: no-store. Jangan pernah meneruskan projek Access Key ke peramban. Batasi tajuk otorisasi ke lisensi yang dikembalikan dan rute sertifikat.
Menangani kesalahan dan rilis pemesanan #
Inspeksi status HTTP dan dapat dibaca oleh mesin code. Tahan requestId untuk mengabaikan dan menghormati retryable; kebijakan yang ditolak atau tidak valid membutuhkan keputusan yang dikoreksi, bukan pengulangan ulang. Lihat kesalahan dari sesi yang mereferensikan .
Lepaskan pemesanan pada Stop, penggantian putar, galat terminal, dan matikan aplikasi. Upaya baru akan memperoleh sesi baru ID.
DRM-X 6.0