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

Samsung Tizen SDK والتقييم على التلفزيون

قم بتثبيت مشغل التقييم Samsung TV وقم بتكوينه وتوقيعه WGT ثم قم بدمج Widevine VOD مع Tizen Universal Player SDK.

عرض Markdownأمثلة قابلة للتجربةUpdated 2026-09-21

جرّب عرض PHP باتباع DEMO-QUICKSTART.md داخل ملف SDK ZIP. لاستخدام محتواك، أكمل تكامل موقعك والخادم الخلفي أولاً، ثم اتبع MOBILE-AND-TV-APPS.md لربط تطبيقك بنظام تسجيل الدخول نفسه وقواعد صلاحية المشاهدة نفسها.

Samsung TV يستخدم تطبيق ويب Tizen. يغطي هذا الدليل Widevine DASH VOD مع Samsung AVPlay. استخدم مجموعة التقييم العامة لتجربة المشغّل، أو Professional/Enterprise SDK لتوصيل الواجهة الخلفية الخاصة بك.

1. تنزيل مجموعة التقييم TV العامة#

تحميل Samsung مجموعة التقييم ZIP

يتضمن ZIP الملف DRMXEvaluation.wgt وخدمة مساعدة مكتوبة بلغة Python وبرنامج الإعداد. نزّل ملف WGT غير الموقّع منفصلًا إذا كانت المجموعة لديك. يجب إعداد WGT وإعادة توقيعه لجهاز TV الخاص بك. هذا تثبيت للمطورين، وليس تطبيق متجر Samsung أو مثبّتًا عامًا بنقرة واحدة.

  • جهاز Samsung TV حقيقي ومتوافق، وكمبيوتر على شبكة LAN خاصة وموثوقة واحدة.
  • Python 3.12+، Tizen Studio، الامتداد Samsung TV وSamsung Certificate Extension 2.0.73 أو أحدث.
  • ملف تعريف الشهادة Samsung TV الذي يحتوي على DUID الخاص بجهازك. لا تحتاج إلى خطة مدفوعة DRM-X لهذا العرض التوضيحي العام.

اتبع دليل Samsung الرسمي TV SDK التثبيت و TV دليل الشهادات. تختلف شاشات الأدوات حسب الإصدار.

التحقق من التنزيلات العامة

حقيبة التقييم SHA-256:

0adbb09e72751a1934b94bcf7e59cb42f84b5822cba14f884ecb047b91bace9a

غير موقعة WGT SHA-256:

aa03536de098471e6f4870ebf668263ddd1799f1f091e3424197cd3b424df8f8

PowerShell: Get-FileHash .\DRMXEvaluation.wgt -Algorithm SHA256. تحتوي الأداة التي تم تكوينها أو الموقعة على تجزئة مختلفة.

2. قم بإقران TV الخاص بك وقم بإنشاء شهادته#

  1. قم بتمكين Developer Mode على TV.على أجهزة التلفاز المدعومة، افتح التطبيقات، أدخل 12345 لفتح Developer Mode، وقم بتشغيله، وأدخل LAN IP الخاص بالكمبيوتر وأعد تشغيله. TV حسب التعليمات. اتبع دليل جهاز Samsung TV إذا كان طرازك مختلفًا.
  2. وصل TV.فتح Tizen Studio Device Manager/ Remote Device Manager. أضف TV LAN IP واتصل. يجب أن يكون الكمبيوتر قابلاً للوصول من ذلك TV; السماح للمرافق فقط على الشبكة الخاصة الموثوقة.
  3. إنشاء شهادة Samsung TV.فتح Certificate Manager → Add → Samsung → TV. استخدم شهادة المؤلف الخاصة بك وشهادة الموزع التي تحتوي على TV DUID الخاص بك. احتفظ بالمفتاح الخاص للمؤلف في مخزن التوقيع الآمن الخاص بك.
  4. السماح بالتثبيت.في Device Manager، حدد المتصل TV واختر Permit to install applications حيثما كان ذلك متاحًا. احتفظ باسم ملف تعريف الشهادة للأوامر التالية.

3. التكوين والبناء والتثبيت#

استخرج التقييم ZIP إلى مسار قصير بدون مسافات. افتح محطة هناك. استبدل العنصرين النائبين بالعناوين الخاصة الفعلية LAN:

python configure-evaluation.py --computer-ip YOUR_COMPUTER_IP --tv-ip YOUR_TV_IP

أبقِ هذه النافذة الطرفية قيد التشغيل. ينشئ البرنامج المجلد app ويبدأ خدمة مساعدة محلية لا تقبل إلا IP الخاص بـ TV وتفويضًا مؤقتًا جديدًا. تتصل بالعرض العام عبر HTTPS دون بيانات اعتماد العميل. تنتهي بعد أربع ساعات؛ لا تنشر الويجت المعدّ أو تكشف منفذها للإنترنت.

افتح الطرفية الثانية في نفس المجلد. استخدم الملفات التنفيذية CLI من تثبيت Tizen Studio، واستبدل ملف تعريف الشهادة والعنوان TV:

tizen build-web -out .build -- app
tizen package -t wgt -s YOUR_SAMSUNG_PROFILE -- app/.build
sdb connect YOUR_TV_IP:26101
tizen install -n DRMXEvaluation.wgt -s YOUR_TV_IP:26101 -- app/.build
tizen run -p DrmXEval01.Player -s YOUR_TV_IP:26101

في Windows الأدوات عادةً tools\ide\bin\tizen.bat وtools\sdb.exe بالداخل Tizen Studio. إذا لم يتم العثور على أمر، استخدم مساره الكامل أو أضف هذا المجلد إلى جهازك الطرفي PATH.

بعد أربع ساعات، أوقف الخدمة المساعدة المحلية وشغّل برنامج الإعداد مجددًا بمجلد --output app-new جديد، ثم ابنِ التطبيق وأعد توقيعه من ذلك المجلد. تتغير صلاحية الوصول المؤقتة؛ لا تستخدم إعدادًا مثبتًا انتهت صلاحيته.

4. جرب VOD وأجهزة التحكم عن بعد#

صورة توضيحية مركّبة للتشغيل. أُضيف إطار فيديو مقدَّم وترجمة توضيحية إلى واجهة المشغّل.
صورة توضيحية مركّبة للتشغيل. أُضيف إطار فيديو مقدَّم وترجمة توضيحية إلى واجهة المشغّل.
  1. اختر عنوان VOD لأعلى/لأسفل ثم اضغط OK. قم بتأكيد الفيديو المتحرك والصوت المسموع على TV الفعلي.
  2. تحرك يمينًا إلى عناصر التحكم. حاول الإيقاف المؤقت/الاستئناف، والسابق/التالي، والتنقل داخل المقطع لمدة ±10 ثوانٍ والمخطط الزمني.
  3. جرب ملء الشاشة. Back يغلق القائمة أو يخرج من وضع ملء الشاشة قبل إيقاف التشغيل. يظل مستوى الصوت موجودًا على أجهزة التحكم عن بعد العادية الخاصة بـ TV.
  4. التحقق من قائمة التشغيل، التشغيل التالي، التبديل العشوائي والتكرار. تعتمد خيارات الصوت/الترجمة على مسارات الوسائط الفعلية.
  5. إيقاف التشغيل قبل إغلاق الخدمة المساعدة المحلية. تظل الإدخالات المباشرة غير متاحة ما لم يتم تأهيلها بشكل منفصل؛ هذه المجموعة لا تبدأ البث أبدًا.

تختار الخدمة المرافقة للعرض التوضيحي نسخ Full HD دون فك تشفير الوسائط أو تحويل ترميزها. أضف مسارات ترجمة متوافقة خاصة بك؛ الحزمة العامة لا تتضمن ترجمة خارجية.

5. أنشئ تطبيقك الخاص باستخدام SDK#

  1. تحميل Tizen SDK ZIP.فتح Console → Developer Tools → Device SDKs بـ Professional نشط أو Enterprise التنظيم. إقرأ README.md.
  2. استخدم عينة المشغل الكاملة.انسخ universal-player/ إلى تطبيق الويب TV الخاص بك. تحرير runtime-config.js: قم بتعيين HTTPS نقطة نهاية جلسة التشغيل، المنشورة Content IDs ورد اتصال مصادقة المشاهد.
  3. اربط backend الخاص بك.صادِق على المشاهد وتحقق من حق الوصول، ثم أعد Universal Playback Session Contract v1 مع widevine وdash وvod وstreaming. نفّذ endpoint تحرير الجلسة أيضًا. يقبل العميل التفويض المباشر بـ token أو عبر token proxy.
  4. تكوين الوصول إلى الشبكة.أضف أصول الواجهة الخلفية والوسائط والترخيص الفعلية إلى config.xml. قم بتكوين الخدمات CORS للأصل TV عند الحاجة. احتفظ بـ Site Key و Access Key حصريًا على الواجهة الخلفية.
  5. قم بالتوقيع بهويتك. استخدم نفس Tizen خطوات البناء/الحزمة مع universal-player كمدخل، DRMXPlayer.wgt كاسم ملف الإخراج و DrmXSdk001.Player كنموذج التطبيق ID. استخدم المعرفات الخاصة بك قبل توزيع تطبيقك.

يطلب المثال حدًا أقصى قدره 1080p افتراضيًا. يجب أن يعيد backend برنامج ترميز ومجموعة renditions يستطيع TV فك ترميزها. لا يعيد هذا الطلب كتابة manifest بدقة UHD؛ تظل رخصة DRM وسياسته مرجع التحكم.

احتفظ بواجهتك الخاصة

قم بتحميل Samsung $WEBAPIS/webapis/webapis.js ثم drmx-tizen.js. قم بتضمين كائن الفيديو الأصلي واحتفظ بمشغل واحد للشاشة:

<object id="video" type="application/avplayer"></object>
<script src="$WEBAPIS/webapis/webapis.js"></script>
<script src="drmx-tizen.js"></script>
const player = new DrmXTizen.Player({
  endpoint: 'https://app.example.com/api/playback-session',
  authentication: () => ({Authorization: 'Bearer ' + viewerToken}),
  maximumHeight: 1080,
  rect: {x:0, y:0, width:1920, height:1080},
  onState: state => { statusLabel.textContent = state; }
});
await player.play('YOUR_PUBLISHED_CONTENT_ID');
player.pause();
player.resume();
player.seekTo(30000);
await player.stop();
await player.dispose(); // final dismissal or sign out

يحافظ SDK على بايتات challenge الخاصة بـ Widevine وبايتات الترخيص دون تغيير. يلغي مهام التشغيل القديمة ويحرّر الجلسات عند الإيقاف أو الاستبدال أو التخلص من المشغّل. لاستخدام WebVTT خارجي، قدّم metadata لمسارات الكتالوج وcallback subtitle(contentId, trackId) مصرحًا به إلى UniversalPlayerService. راجع AVPlay API من Samsung لقيود الوسائط والمسارات الخاصة بالمنصة.

استكشاف الأخطاء وإصلاحها#

الأعراضالتحقق
لا يمكن تثبيت WGTاستخدم شهادة Samsung TV مع TV DUID، قم بتمكين Developer Mode والسماح بالتثبيت. الجمهور WGT غير موقع.
يقول التطبيق فشل التهيئة/الاتصالإبقاء الجهاز الطرفي المصاحب قيد التشغيل؛ تحقق من كلاً من LAN IPs والوصول إلى جدار الحماية للشبكة الخاصة وانتهاء الصلاحية لمدة أربع ساعات. إعادة البناء بعد إعادة التشكيل.
شاشة سوداء أو تقطّع الفيديو على TVاختبار الصوت/التقدم، برنامج الترميز، الدقة المدعومة وسياسة HDCP. استخدم سلم FHD على Samsung Smart TV. لقطة الشاشة السوداء ليست مثل شاشة TV سوداء.
الترجمة غير متوفرةوفّر مسارات متوافقة. لا يدعم AVPlay التبديل العشوائي بين مسارات DASH TEXT؛ يدعم المثال WebVTT خارجيًا مصرحًا به.
يعمل في معاينة سطح المكتب ولكن ليس TVمعاينة الواجهة في المتصفح لا تشغّل AVPlay أو Widevine. اختبر على جهاز TV حقيقي وسجّل رمز الخطأ بعد إزالة المعلومات الحساسة.

انشر تطبيقك عبر إجراءات الاعتماد والتقديم لدى Samsung.