DRM-X 6.0 حمام وشعار فرع الزيتونDRM-X 6.0الوثائق
◎ العربية

أنشئ جلسة تشغيل

اطلب واستخدم عقد Universal Playback Session Contract من DRM-X مع المصادقة ومعرّفات Content IDs الموثوقة والتفويض المحدود.

عرض Markdownأمثلة قابلة للتجربةآخر تحديث 2026-10-26

كيف يُصرَّح بتشغيل الفيديو

يحدد خادم التطبيق من يحق له المشاهدة. توفر DRM-X تصريح التشغيل، ويستخدمه المشغّل لطلب ترخيص DRM.

  1. المشاهد

    يسجّل الدخول إلى خدمتك ويطلب مشاهدة فيديو.

  2. خادم التطبيق لديك

    يتحقق من عملية الشراء أو الاشتراك أو أي صلاحية أخرى للمشاهدة لدى المستخدم.

  3. DRM-X

    تطبّق قواعد التشغيل المختارة وتعيد إعدادات التشغيل والتصريح.

  4. المشغّل

    يستخدم التصريح المستلَم لطلب ترخيص DRM اللازم للتشغيل.

يتحقق backend لديك من حق الوصول، ويطبّق DRM-X السياسة الموقّعة. تُنقل الوسائط المشفرة وتراخيص DRM عبر مسارين منفصلين.
API

إنشاء دورة عالمية للعزف#

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"
  }
}

A successful Contract v1 response includes the authoritative manifest, available manifest variants, a DRM-specific license URL, a short-lived DRM License Token or client proxy authorization, a release route, the licensed maximum altitude, and allowed tracks. Return it with Cache-Control: no-store.

استخدم دورة واحدة غير متوقعة ID لكل محاولة حقيقية للإسترجاع، إعادة استخدام ID

مثال على استجابة ناجحة

يستخدم هذا المثال عناوين URL تجريبية غير عاملة ورمزًا بديلًا. اقرأ الواصفات المتداخلة؛ أُدرجت أسماء التوافق البديلة للتكاملات الأقدم.

{
  "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"]
}

التوثيق ومجالات الطلب الموثوق بها#

اتصلي بـ API من مظهركِ مع زبون مشروع API الذي لديه license-tokens:create استخدمي البيئة UUID كـ siteId

الميدانمعناهقاعدة التكامل
contentIdالمراجع المنشورة للمحتوىحل من مدونتك الموثوقة بعد التحقق من الاستحقاق.
subjectجهاز تحديد هوية المشاهدمتحللة من الدورة الموثّقة، وليس مستعمل مزوّد بالزبائن (ID).
drmSystemwidevine، playready، fairplay، أو wiseplayDRMمطابقاً لقدرات المشغّل
sessionIdهوية هذه المحاولة المفاجئةتوليد قيمة جديدة لا يمكن التنبؤ بها لكل محاولة.
contentTypevod أو liveاستخدمي النوع المسجل للمحتوى
playbackModestreamingفي العقدالتلاعب المباشر يتطلب تمديداً لاحقاً للعقد
licensePolicyTemplate / licensePolicyسياسة أو سياسة عرفية مسمّاةإختاروا على خادمكم، لا توردوا كلاهما، انظر قواعد السياسة
platformCapabilitiesالمنهاج، DRMالنظم، أنواع البيانات، وتلميحات الأجهزةإرسال قدرات صريحة مع إدماجات جديدة، وهي تصف العميل، ولا تلغي سياسة الترخيص.

Consume the response descriptors#

إستخدم المجندون المستأجرون للعقود لا تقوم بتشييد رخص من التخمينات أو الاستعاضة عن البيانات المسجلة باشتراكات (المشغّل)

مجال الاستجابةكيفية استخدامه
contractVersionتأكد من أن نسخة العقد المُعاد مُدعمة بدمجك
manifestUrl / manifestUrlsوضع قائمة مختارة ذات حجية أو متغير متوافق مع الوراء.
expiresAtإنتهاء هذا التصريح المقيد.
drmاقرأ system، licenseServerUrl، drmLicenseToken، tokenType، والخيار fairPlayCertificateUrl.
releaseاستخدمي (url) و(method) و(authorizationScheme) لإفراج الجلسة عندما تنتهي المباراة
policyالشرف maximumHeight و allowedTrackTypes المُقدّم ما زال يُنفّذ السياسة الموقّعة
tracksقراءة القدرة السمعية/الموضوعية على اختيار اللغة وقاعدة اللغة.

Re your المشغّل response with Cache-Control: no-store. never forward the project Access Key to the browser. Restrict authorization headers to the returned license and certificate routes.

الأخطاء اليدوية والتحفظات#

افحص حالة HTTP والحقل القابل للقراءة آليًا code. احتفظ بـ requestId لاستكشاف الأخطاء والتزم بـ retryable؛ يتطلب رفض صلاحية المشاهدة أو بطلان السياسة تصحيح القرار، وليس تكرار المحاولة في حلقة. راجع مرجع أخطاء جلسات التشغيل.

أطلقي التحفظ على التوقّف، واستبدال اللاعبين، والأخطاء النهائية، وإغلاق التطبيق، ومحاولة إعادة العزف الجديدة تحصل على دورة جديدة 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"}

استخدم عنوان URL للتحرير ومخطط التفويض المعادين مع DRM License Token نفسه. لا يلزم متن للطلب. يعيد طلب التحرير المتكرر والمصادق عليه HTTP 200 مع released false وcode license_session_not_active. قد يفشل التفويض المنتهي أو غير الصالح قبل التحرير؛ احصل على تفويض جديد لمحاولة تشغيل جديدة. أعد محاولة أخطاء الخدمة المؤقتة مع زيادة الانتظار وعدد محاولات محدود.

يصف هذا العقد العام البث عبر الإنترنت. لنقاط نهاية العمل دون اتصال التي يملكها العميل والتراخيص الدائمة المرتبطة بالجهاز مسارات منفصلة؛ لا تُعد استخدام استجابة البث هذه بوصفها ترخيصًا دون اتصال.