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

AWS و OBS إعداد البث المباشر

قم بإنشاء سير عمل مباشر AWS، وتكوين OBS، واختبار التشغيل DRM، وإيقاف الموارد بعد الحدث الخاص بك.

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

يُرسَل الفيديو المشفّر وتراخيص DRM عبر مسارين منفصلين

توزّع CDN الفيديو المشفّر. يتحقق خادم التطبيق من صلاحية الوصول، وتسمح خدمة تراخيص DRM بفك التشفير على جهاز متوافق.

  1. التخزين / CDN

    يوزّع الوسائط المشفّرة إلى المشغّل.

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

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

  3. DRM-X

    تتحقق من تصريح التشغيل وتعالج طلب ترخيص DRM.

  4. المشغّل + الجهاز

    يستخدم نظام DRM في الجهاز للحصول على ترخيص وتشغيل الوسائط المشفّرة.

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

Trial والحسابات المدفوعة يمكنها إنشاء قنوات DRM مباشرة. اتصال تخزين S3 غير مطلوب لسير العمل هذا. AWS رسوم منفصلة لترميز الوسائط وتعبئتها وتسليمها والموارد المحتجزة.

مسار التوزيع هو OBS → AWS Elemental MediaLive → MediaPackage v2 → CloudFront → مشغّل DRM-X. يوفر DRM-X مفاتيح التشفير عبر SPEKE ويفوّض كل مشاهد باستخدام DRM License Token.

إنشاء حدث مباشر في DRM-X#

  1. قم بتسجيل الدخول إلى وحدة تحكم العملاء وحدد المنظمة والبيئة التي ستمتلك الحدث.
  2. افتح Live events → New Live Channel. أدخل عنوانا. للحصول على حساب جديد، اختر Create new live content وأدخل Content ID فريدًا. وبدلاً من ذلك، حدد المحتوى المباشر الموجود.
  3. اختر المنطقة AWS وفاصل التدوير والنافذة DVR. استخدم نفس المنطقة AWS لـ MediaLive وMediaPackage والجسر SPEKE. قيم البداية هي 600 ثانية للتدوير و7200 ثانية للوسائط المحتجزة DVR.
  4. إنشاء القناة. احفظ سر الأصل لمرة واحدة بشكل آمن، جنبًا إلى جنب مع التكامل ID ومعرفات الموارد المنفصلة DASH وHLS. لا تضع السر مطلقًا في المشغل أو لقطة الشاشة أو تذكرة الدعم أو المستودع العام.

القناة DRM-X عبارة عن تكوين محتوى وتفويض. بدء تشغيل DRM-X Live Run وبدء تشغيل Encoder AWS هما عمليتان منفصلتان.

قم بتكوين حسابك AWS#

  1. استخدم حساب AWS مع تمكين الفوترة ومشغل معتمد يمكنه إدارة CloudFormation وMediaLive وMediaPackage v2 وAPI Gateway وIAM أدوار الخدمة وCloudFront. تحقق من الحصص الإقليمية والأسعار الحالية قبل التدريب.
  2. قم بتنزيل القالب DRM-X AWS CloudFormation القالب من وحدة التحكم. قم بإنشاء المكدس باستخدام CreateMediaResources=false، ومعرفات التكامل/المورد DRM-X، وسر الأصل. يقوم القالب بإنشاء أدوار خدمة محددة وجسر IAM معتمد SPEKE.
  3. في DRM-X Configure AWS، أدخل حسابك AWS ID والمكدس بالضبط SpekeRoleArn. ابدأ DRM-X Live Run حتى تنجح طلبات المفاتيح المصادق عليها.
  4. قم بتحديث نفس المكدس بـ CreateMediaResources=true. احتفظ بالسر الموجود والمعلمات الأخرى. انتظر حتى تكتمل المكدسة.
  5. انسخ مخرجات المكدس DashOriginUrl و HlsOriginUrl و DashCloudFrontUrl و HlsCloudFrontUrl إلى الحقول DRM-X المطابقة. يستخدم المشاهدون عناوين URL CloudFront. يبقى الأصل مقيدًا بـ CloudFront.
  6. أنشئ إدخال RTMP push في MediaLive. اسمح فقط بعنوان IP العام الحالي لجهة البث باستخدام قاعدة أمان الإدخال /32. إذا غيّر مزود الإنترنت عنوان IP، فحدّث القاعدة.
  7. أنشئ قناة MediaLive بالمكدس MediaLiveRoleArn، وأرفق الإدخال، وأضف مجموعة الإخراج MediaPackage v2 CMAF باستخدام مجموعة قنوات المكدس واسم القناة. خط أنابيب واحد مناسب للاختبار المحدد؛ يحتاج حدث الإنتاج إلى تصميم تكرار مناسب.

ينشئ القالب DASH-CENC لـ Widevine وPlayReady، وHLS-CBCS لـ FairPlay. يستخدم العقدان PRESET_AUDIO_1 وPRESET_VIDEO_3 مفاتيح منفصلة للصوت وSD وHD وUHD. يجب على الأنظمة التي تستخدم PRESET_VIDEO_2 مراجعة تحديث عقد التشفير قبل إضافة UHD بسياسة مستقلة. راجع إعدادات التشفير المسبقة في AWS.

تكوين OBS Studio لـ 4K#

  1. قم بتكرار ملف التعريف الخاص بك OBS ومجموعة المشاهد. امنحهم اسمًا مميزًا للحدث المباشر.
  2. أضف الفيديو المقصود أو مصدر الالتقاط. تأكد من أنها في الواقع 3840 × 2160، وقم بملاءمتها مع اللوحة القماشية، وتحقق من صوتها. بالنسبة لملف التدريب، قم بتمكين Loop. إخفاء لقطات النوافذ أو سطح المكتب غير المستخدمة.
  3. في Settings → Video، اضبط كلاً من القماش ودقة الإخراج على 3840x2160 واختر 30 إطارًا في الثانية لهذا المثال.
  4. في Output → Advanced → Streaming، اختر برنامج تشفير الأجهزة H.264 المدعوم، مثل NVIDIA NVENC H.264. استخدم CBR 18000 Kbps، 2 s الفاصل الزمني للإطار الرئيسي، high profile، وقم بتعطيل إعادة قياس الإخراج. مع NVENC، P5 والجودة العالية هي نقطة البداية؛ تحقق من حمل الترميز أثناء التدريب.
  5. استخدم صوت AAC وستيريو 48 كيلو هرتز. قم بتعطيل مصادر صوت الميكروفون وسطح المكتب غير المرغوب فيها.
  6. في Stream، اختر Custom. قسّم URL إدخال RTMP في MediaLive إلى URL للخادم/التطبيق واسم الدفق في آخره. ضع الجزء الأخير في Stream Key وأبقِ قيمته مخفية.

استخدم اتصال تحميل ثابتًا مع وجود مساحة أعلى من معدل البت المدمج للفيديو والصوت. إذا Appleغ OBS عن انقطاع مستمر في الشبكة أو التشفير، فقم بتصحيحه قبل فتح الحدث للمشاهدين. راجع OBS إرشادات ترميز الأجهزة.

تكوين المخرجات التكيفية#

بالنسبة إلى إعدادات OBS أعلاه، استخدم مواصفات الإدخال AVC/UHD MediaLive بحد أقصى 20 ميجابت في الثانية. قم بإنشاء مخرجات H.264 التالية بمعدل 30 إطارًا في الثانية، مع GOPs مغلقة لمدة ثانيتين ومقاطع CMAF مدتها 6 ثوانٍ. احتفظ بالصوت AAC في نسخته الخاصة.

الدقةمثال على معدل البت للفيديومجموعة المفاتيح
3840×216016 MbpsUHD
1920×10805 MbpsHD
1280×7202.5 MbpsHD
854×4801.2 MbpsSD
640×3600.7 MbpsSD

هذه إعدادات بروفة وليست ضمانًا للجودة. لا تزال قناة 4K بحاجة إلى عمليات عرض أقل لشاشات العرض الأصغر والشبكات المقيدة والأجهزة التي يحد مستوى أمانها DRM من الجودة. تحقق من دعم برنامج الترميز والدقة MediaLive الحالي عند اختيار برنامج تشفير مختلف.

إعادة استخدام قناة بعد حدث سابق#

عمل Encoder لا يثبت وصول وسائط حديثة إلى المشاهدين. تحقق من ترويسة manifest-last-updated في MediaPackage ومن دقات الفيديو المعروضة. إذا استمرت قناة معاد استخدامها في تقديم مقاطع قديمة بعد تغيير Encoder أو rendition، فاتبع إجراء AWS لإعادة ضبط سجل القناة.

  1. التأكد من إمكانية إزالة محتوى DVR السابق نهائيًا؛ إعادة التعيين ليست عملية التراجع.
  2. أوقف OBS وقناة MediaLive، وانتظر حالة Idle في MediaLive.
  3. في MediaPackage، إعادة ضبط السجل لقناة الاختبار المحددة. انتظر 30 ثانية على الأقل بعد اكتمال إعادة التعيين.
  4. ابدأ MediaLive وانتظر حالة Running ثم ابدأ OBS. تحقق مجددًا من تحديث وسائط DASH/HLS وتبادل SPEKE والتشغيل على الأجهزة.

أضف الحدث إلى PHP وAndroid وiOS#

استخدم Content ID نفسه للبث المباشر والبيئة نفسها في جميع الأمثلة. احتفظ بـ Site Key وAccess Key على خادم PHP. الحدث النموذجي المستضاف هو aws-live-test-20260902 بعنوان 4K Live DRM Test، وهو متاح فقط أثناء تشغيل الاختبار.

في PHP، أضف إدخال قائمة تشغيل موثوقًا به باستخدام id وtitle وtype: live. قم بتسجيل الدخول مرة أخرى لتحديث استحقاقات جلسة العينة. تعمل الواجهة الخلفية على حل البيان المباشر المسجل وترفض النوع المقدم من العميل والذي لا يتطابق مع الكتالوج.

'playlist' => [
    ['id' => 'your-live-content-id', 'title' => 'My live event', 'type' => 'live'],
],

في Android أضف DrmXPlaylistItem("your-live-content-id", "My live event", "live") وتمرير نوع محتواه عند تحضير التشغيل. في عينة Apple، استخدم DrmXPlaylistItem(contentId: "your-live-content-id", title: "My live event", contentType: .live). الإدخالات المباشرة مخصصة للبث ويجب ألا تدخل في قائمة انتظار التنزيل في وضع عدم الاتصال.

البدء والتحقق والتوقف#

  1. ابدأ DRM-X Live Run ثم قناة AWS MediaLive. انتظر حتى يعرض MediaLive حالة Running.
  2. ابدأ البث في OBS. تحقق من معدل البت والإطارات المسقطة والصوت وتحميل Encoder.
  3. تأكد من استمرار تحديث ملفات manifest الخاصة بـ DASH/HLS واحتوائها على التمثيلات وإشارات DRM المطلوبة. تحقق من الصورة والصوت بعد فك الترميز في المتصفح وعلى Android مع Widevine وiPhone مع FairPlay. أبقِ مشغّلًا متصلًا خلال تدوير مفتاح واحد على الأقل، ثم اختبر اتصال مشاهد جديد.
  4. عند انتهاء الاختبار، أوقف بث OBS وقناة MediaLive وDRM-X Live Run. تأكد من عودة MediaLive إلى حالة Idle.

إيقاف OBS وحده لا يوقف AWS رسوم التشفير. تحقق من رسوم الإدخال والتعبئة/التخزين والطلب والتسليم المحتجزة بشكل منفصل. راجع MediaLive التسعير ووحدة تحكم الفواتير AWS الخاصة بك.

بروفة محققة: 17 سبتمبر 2026#

قدّمت القناة فيديو مشفرًا بدقة 3840×2160 مع renditions تكيفية أقل دقة. فكّ iPhone 11 حقيقي ترميز 4K واجتاز ست دقائق من التشغيل عبر حدّ دورة تدوير مفاتيح مدتها 600 ثانية. اجتاز Samsung S24 Ultra عشر دقائق بدقة 1080p، وهي أقصى دقة عرض Appleغ عنها. نجح الجهازان في اتصال جديد بعد التدوير. تقتصر النتائج على الأجهزة وبرامج الترميز والسياسة التي اختُبرت.

استخدم Android SDK 1.0.0-preview.13 أو أحدث للبيانات المباشرة غير المخزنة مؤقتًا. قم بترقية تطبيق التقييم Android الموجود للحفاظ على مقاطع الفيديو التي تم تنزيلها. تحافظ عينة Apple المحدثة على المفتاح ID وIV أثناء ضغط البيانات التعريفية MediaPackage لتناسب حد معرف FairPlay البالغ 200 بايت SPC. توفر تفضيلات الدقة الخاصة بها العرض والارتفاع بحيث يمكن أن يصل التشغيل التكيفي إلى 4K.

Safari تشغيل مباشر

استخدم الويب SDK 1.2.0-preview.13 أو الأحدث لـ Safari. إنه يختار Apple Media Keys الأصلي عندما يكون متاحًا على macOS وiOS وiPadOS، ويحتفظ بذلك API عبر تغييرات قائمة التشغيل المباشرة وVOD. لا يعود التشغيل المباشر إلى MSE/SINF، والذي يمكنه طلب مفاتيح مقطع التهيئة القديمة بعد أن يقوم MediaPackage بتدوير مفاتيحه. احتفظ بالمفتاح الحالي بالضبط ID وIV في الإشارة HLS.

يصدر DRM-X SPEKE معرّف أصل مختصرًا بصيغة KeyId/IV كي يطلب Safari تراخيص FairPlay ضمن حد حجم المعرّف. يظل DRM License Token مسؤولًا عن تفويض المحتوى والمفتاح المحددين. بعد تحديث Key Service، تحقق من تشغيل بوابة SPEKE التي تعتمد عليه؛ لا يستطيع Encoder الذي يستقبل الفيديو نشر مخرجات محمية جديدة إذا كان تسليم المفاتيح غير متاح.

أكد اختبار منفصل مدته 15 دقيقة على Safari استمرار التشغيل عبر تدوير مفتاح على Mac وiPhone. استخدم iPhone واجهة Apple Media Keys الأصلية. استخدم Mac واجهة EME الحديثة لاختبار التدوير، ثم نجح اتصال جديد باستخدام Apple Media Keys الأصلية بعد خطأ متقطع عند بدء EME الحديثة. بلغت جودة التشغيل التكيفي في المتصفح 720p على Mac و480p على iPhone. لا يثبت ذلك تشغيل 4K في المتصفح أو تدوير المفاتيح على مسار التوافق النهائي في Mac. نتيجة 4K للتطبيق الأصلي أعلاه تخص اختبارًا منفصلًا.

قبل استئناف البروفة

  • تحقق من إمكانية الوصول إلى نقطة النهاية SPEKE وأن وحدة التحكم تعرض تبادلًا حديثًا. لا يزال بإمكان Encoder الذي يتلقى الإدخال تقديم الوسائط القديمة عند فشل تسليم المفتاح.
  • احتفظ بـ VOD/ذاكرة تخزين مؤقت للوسائط غير المتصلة منفصلة عن مصدر البيان المباشر.
  • التحقق من الأبعاد الفعلية التي تم فك شفرتها؛ إن تحديد قناة 4K وحده لا يثبت تشغيل 4K.
  • هذا الاختبار متوقف. قبل اختبار عنصر البث المباشر في الكتالوج مجددًا، ابدأ DRM-X Live Run جديدًا مصرحًا به وEncoder في AWS وبث OBS.