نقل بيانات مشغِّل HLS في Shaka

نظرة عامة

تتيح حزمة Cast Web Receiver SDK تشغيل المحتوى باستخدام عدة بروتوكولات بث على الويب. وبناءً على البروتوكول المستخدَم، تحمّل حزمة SDK مشغّلاً للتعامل مع تشغيل المحتوى. في حالة محتوى البث المباشر وفق بروتوكول HTTP ‏(HLS)، يتم تحميل مكتبة Media Player Library (MPL). في حالة محتوى البث التكيّفي الديناميكي عبر HTTP ‏( DASH)، يتم تحميل Shaka Player.

من الآن فصاعدًا، سيعمل فريقا هندسة Cast SDK وShaka Player معًا لزيادة إمكانية تشغيل محتوى البث المباشر وفق بروتوكول HTTP ‏(HLS) على Shaka Player. لن تتلقّى مكتبة MPL بعد الآن تحديثات مهمة. ننصحك بالموافقة على استخدام Shaka Player لتشغيل محتوى البث المباشر وفق بروتوكول HTTP ‏(HLS) في تطبيقك.

مزايا Shaka Player

عند تغيير المشغّلات، تستفيد التطبيقات من المزايا التالية:

  • جلسات بث أكثر فعالية للمستخدمين، مع تحسينات في حالات فشل وقت التحميل والمدة الزمنية للانتظار.
  • مواصلة استخدام أحدث ميزات البث المباشر وفق بروتوكول HTTP ‏(HLS).
  • زيادة الوضوح في تحليل السبب الجذري لمشاكل توافق المشغّل مع المحتوى بسبب طبيعة Shaka Player المفتوحة المصدر.
  • تسمحقاعدة الرموز البرمجية للمشغّل مفتوحة المصدر للشركاء بالمساهمة في مشروع Shaka Player.
  • تقليل كبير في وقت طرح الميزات وإصلاح الأخطاء لأنّ وتيرة إصدار Shaka Player متكرّرة ومستقلة عن إصدارات Web Receiver SDK.
  • تحكّم أكبر في بيئة التشغيل التي توفّرها واجهة برمجة التطبيقات shakaVersion.
  • زيادة الدعم المقدَّم من Google لتشغيل المحتوى من خلال موارد الهندسة التي تركّز على تشغيل محتوى البث المباشر وفق بروتوكول HTTP ‏(HLS) على Shaka Player كما هو موضّح في خارطة الطريق.

المخطط الزمني

سينتقل Web Receiver SDK إلى استخدام Shaka Player كمشغّل تلقائي لتشغيل محتوى البث المباشر وفق بروتوكول HTTP ‏(HLS). وسيتم ذلك باتّباع نهج تدريجي لإرشاد الشركاء خلال عملية نقل البيانات.

المرحلة تاريخ البدء نظرة عامة
1 أكتوبر 2022 قدّم Cast Web Receiver SDK واجهات برمجة تطبيقات للموافقة على تشغيل محتوى البث المباشر وفق بروتوكول HTTP ‏(HLS) على Shaka Player.
2 ‫18 مايو 2026 غيّر Cast Web Receiver SDK المشغّل التلقائي إلى Shaka Player لتشغيل محتوى البث المباشر وفق بروتوكول HTTP ‏(HLS).

تتّبع فِرق هندسة Web Receiver SDK نهجًا يعتمد على الأداء، ولن تنتقل إلى المرحلة التالية إلا عندما يكون أداء Shaka Player على قدم المساواة مع الأداء الأساسي لمكتبة MPL. وسيتم الإعلان عن هذه التغييرات في مجموعة cast-sdk-announcements على Google وسيتم تعديلها في هذا الدليل.

الموافقة

بدءًا من إصدار CAF 3.0.0105، هناك إعداد على مستوى التطبيق للموافقة على استخدام Shaka Player لتشغيل محتوى البث المباشر وفق بروتوكول HTTP ‏(HLS). يقدّم هذا الإصدار أيضًا واجهة برمجة تطبيقات للاختيار من بين مجموعة متوافقة من إصدارات Shaka Player لتحميلها. يتم توفير هذه العلامات في الفئة CastReceiverOptions من خلال السمتَين useShakaForHls و shakaVersion ويتم تقييمها عند بدء CastReceiverContext. يجب على أي تطبيق يوافق على استخدام Shaka Player لتشغيل محتوى البث المباشر وفق بروتوكول HTTP ‏(HLS) ضبط إصدار Shaka Player على 4.15.53 على الأقل للاستفادة من أحدث التحسينات في هذا البروتوكول. للموافقة، اتّبِع مقتطف الرمز البرمجي أدناه:

const context = cast.framework.CastReceiverContext.getInstance();

let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = true;

context.start(castReceiverOptions);

التحقق من صحة المحتوى

على الشركاء التحقق من تشغيل المحتوى على Shaka Player قبل الموافقة على استخدامه في تطبيقهم الذي يتم طرحه للجمهور. ننصحك بإجراء اختبار لكل من الاختلافات في المحتوى المدرَج أدناه:

  • أنواع البث: بث مباشر أو فيديو عند الطلب
  • تنسيقات الحاويات: TS أو MP4 أو مصادر البيانات الأساسية
  • المحتوى الذي يتضمّن انقطاعات أو إعلانات مضمّنة
  • التشغيل على أنواع الأجهزة التالية: الشاشات الذكية أو أجهزة Google Cast أو أجهزة Android TV أو أجهزة التلفزيون التي تتضمّن Google Cast أو مكبّرات الصوت الذكية

إذا عثرت على أي أخطاء أو سلوك غير متوقّع، يُرجى الإبلاغ عن خطأ. بعد التأكّد من عدم حدوث أي حالات فشل مهمة في تشغيل المحتوى، يمكنك نشر التغييرات على بيئة التشغيل الفعلي.

إيقاف

سينتقل Web Receiver SDK إلى نموذج إيقاف تشغيل Shaka Player لتشغيل محتوى البث المباشر وفق بروتوكول HTTP ‏(HLS) وفقًا للمخطط الزمني. سيتم تغيير القيمة التلقائية للسمة useShakaForHls من false إلى true. في ذلك الوقت، يمكن للتطبيقات اختيار استخدام مكتبة MPL لتشغيل محتوى البث المباشر وفق بروتوكول HTTP ‏(HLS) من خلال ضبط هذه السمة يدويًا على false. عند بدء CastReceiverContext، سيعود Web Receiver SDK إلى تحميل مكتبة MPL بدلاً من Shaka Player. اطّلِع على المثال أدناه لمعرفة كيفية إيقاف هذه الميزة:

const context = cast.framework.CastReceiverContext.getInstance();

let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = false;

context.start(castReceiverOptions);

الإبلاغ عن المشاكل

نشجّع شركاءنا على الإبلاغ عن أي مشاكل يعثرون عليها عند تشغيل محتوى البث المباشر وفق بروتوكول HTTP ‏(HLS). كما ذكرنا سابقًا، لن تتلقّى مكتبة MPL بعد الآن تحديثات مهمة. إذا واجهت أي مشاكل في مكتبة MPL، اتّبِع الخطوات الواردة في قسم الموافقة من الدليل للتحقّق مما إذا كان التبديل إلى Shaka Player سيحلّ مشكلتك. اتّبِع الخطوات أدناه إذا كانت المشكلة لا تزال قائمة أو إذا واجهت مشكلة مختلفة عند تبديل المشغّلات.

  1. حاوِل ضبط shakaVersion على إصدار مختلف من الفرع لحلّ المشكلة. على سبيل المثال، إذا ظهرت المشكلة في الفرع 4.15، حاوِل ضبطه على أحدث إصدار في فرع آخر. اطّلِع على ملاحظات إصدار Shaka Player للعثور على الإصدارات التي تتضمّن أحدث التحديثات الأكثر صلة. يُرجى العِلم أنّ واجهة برمجة التطبيقات shakaVersion تتضمّن حدًا أدنى وأقصى للإصدارات المتوافقة كما هو موضّح بالتفصيل في المستندات المرجعية. إذا لاحظت حدوث تراجع، يُرجى الإبلاغ عن المشكلة في أداة تتبُّع المشاكل في Shaka Player issuetracker.
  2. حاوِل تغيير مَعلمات إعداد المشغّل. يمكن إعداد Shaka Player من خلال العنصر PlayerConfiguration. يحدّد Web Receiver SDK مجموعة من القيم التلقائية ويسمح للتطبيقات بتعديل هذا الإعداد من خلال السمة shakaConfig في العنصر PlaybackConfig. يتم تقييم ذلك أثناء مدّة التحميل عند إنشاء مثيل المشغّل. يمكنك الاطّلاع على مزيد من المعلومات في إعداد التطبيق و خياراته. القيم التلقائية التي يضبطها Web Receiver SDK هي القيم المقترَحة.
  3. تحقَّق مما إذا تم الإبلاغ عن المشكلة في أداة تتبُّع المشاكل في Shaka Player أو أداة تتبُّع المشاكل في Cast. علِّق على الخطأ وأضِف أي معلومات ذات صلة إذا كانت تصف مشكلتك أيضًا.
  4. اختبِر المحتوى على موقع Shaka Player التجريبي. إذا تبيّن لك أنّ المشكلة تتكرّر في الموقع التجريبي لمحتواك، يُرجى الإبلاغ عن خطأ في مشروع Shaka Player.
  5. أبلِغ عن خطأ في أداة تتبُّع المشاكل في Cast إذا كانت لديك مشكلة فريدة في Shaka Player على نقاط نهاية Cast.

الأسئلة الشائعة

يمكن أن يؤدي تغيير المشغّلات إلى طرح الكثير من الأسئلة. في ما يلي إجابات عن الأسئلة الأكثر شيوعًا لمساعدتك في إرشادك خلال عملية نقل البيانات.

هل يجب نقل البيانات إلى Shaka Player؟

نشجّع شركاءنا الذين يستخدمون محتوى البث المباشر وفق بروتوكول HTTP ‏(HLS) على بدء عملية نقل البيانات في أقرب وقت ممكن. نتيجةً لذلك، سيقدّم تطبيقك تجربة بث أكثر فعالية للمستخدمين. تمت الإشارة إلى مزيد من المزايا في قسم مزايا Shaka Player من هذا الدليل. على الشركاء التحقّق من أنّ تطبيقاتهم تعمل بشكلٍ صحيح باستخدام Shaka Player لضمان الانتقال بسلاسة. قد تكون بعض التطبيقات معرّضة للخطر عندما ينتقل Web Receiver SDK إلى نموذج إيقاف التشغيل إذا لم يتحقّق الشركاء من تشغيل المحتوى بشكلٍ صحيح على Shaka Player مسبقًا.

ما هو مستوى الجهد المتوقّع عند تغيير المشغّلات؟

على الشركاء اختبار تطبيقاتهم ومحتواهم في بيئة اختبار لضمان أنّ تجربة المستخدم مشابهة أو محسّنة مقارنةً بالبث المباشر وفق بروتوكول HTTP ‏(HLS). لإجراء ذلك، على الشركاء الموافقة على استخدام الميزة في بيئة داخلية واختبارها بدقة للتأكّد من إمكانية تشغيل المحتوى باستخدام Shaka Player. اطّلِع على التحقق من صحة المحتوى للحصول على تفاصيل حول الجوانب التي يجب التركيز عليها في المحتوى. بعد التحقّق من صحة المحتوى، على الشركاء إضافة العلامة للموافقة في بيئة تطبيقهم الذي يتم طرحه للجمهور لبدء الاستفادة من المزايا التي يوفّرها Shaka Player. على المستوى العالي، هناك تغييرات طفيفة في تطوير البرامج ومتطلبات ضمان الجودة في الغالب لكي يتمكن شركاؤنا من نقل البيانات بنجاح.

سيستخدم تطبيقي قريبًا البث المباشر وفق بروتوكول HTTP ‏(HLS) لبث المحتوى، فماذا عليّ أن أفعل؟

يجب أن توافق عمليات التكامل الجديدة على استخدام Shaka Player للتشغيل. سيتم دعم تطبيقك بشكلٍ أفضل على المدى الطويل وسيستفيد أيضًا من ميزات البث المباشر وفق بروتوكول HTTP ‏(HLS) الجديدة وتحسينات الأداء. إذا كانت عملية التكامل الجديدة تواجه مشاكل، يُرجى الإبلاغ عن خطأ في أقرب وقت ممكن لمنح فريق الهندسة وقتًا كافيًا لحلّ المشكلة. إذا كان لتطبيقك موعد نهائي ضيق، يُرجى تضمين هذه المعلومات في تقرير الخطأ بالإضافة إلى التأثير لتحديد الأولويات وفقًا لذلك. سيعمل فريق الهندسة لدينا على تقديم حلّ لدعم المستخدمين بشكلٍ مناسب.

لا يتوافق المحتوى أو التطبيق مع Shaka Player، فماذا أفعل الآن؟

عليك الإبلاغ عن خطأ في مشروع Shaka Player أو مشروع Cast (اطّلِع على الإبلاغ عن المشاكل). يراقب فريق هندسة Cast SDK بنشاط أدوات التتبُّع هذه وسيعمل معك لحلّ أي مشاكل حالية. كلما تم رصد هذه المشاكل في وقت مبكر، زاد الوقت المتاح لحلّها.

لن تتلقّى مكتبة MPL بعد الآن تحديثات مهمة، فماذا يعني ذلك تحديدًا؟

في السابق، كانت مكتبة MPL تعتمد ميزات البث المباشر وفق بروتوكول HTTP ‏(HLS) الجديدة وتعمل على إصلاح الأخطاء الرئيسية من خلال التحديثات المهمة. الآن، لن تتلقّى مكتبة MPL هذه التحديثات، ولن تتم إضافة ميزات البث المباشر وفق بروتوكول HTTP ‏(HLS) الجديدة إلى المشغّل. وبالمثل، لن يتم إصلاح أي مشاكل تم الإبلاغ عنها لتشغيل محتوى البث المباشر وفق بروتوكول HTTP ‏(HLS) على مكتبة MPL في هذه المكتبة. يجب حلّ هذه المشاكل من خلال التبديل إلى Shaka Player للتشغيل. إذا استمرت المشاكل، يجب الإبلاغ عن خطأ يتضمّن المشاكل ذات الصلة التي واجهتها على Shaka Player. على الشركاء التوقف عن استخدام مكتبة MPL.

يستخدم المحتوى بروتوكول Smooth Streaming، فكيف يؤثر ذلك في تطبيقي؟

ستظل ملفات MPL الثنائية مستضافة ومتاحة لتطبيق جهاز الاستقبال. ومع ذلك، لن يتم دعم أي طلبات ميزات وإصلاحات أخطاء ذات صلة ببروتوكول Smooth Streaming لأنّه لم يتم تعديل مواصفات Smooth Streaming منذ أكثر من أربع سنوات. ننصحك بنقل المحتوى لاستخدام بروتوكول البث DASH أو البث المباشر وفق بروتوكول HTTP ‏(HLS) لمواصلة تلقّي تحديثات الأداء والدعم لمحتواك.

لا يستخدم المحتوى بروتوكول البث المباشر وفق بروتوكول HTTP ‏(HLS) أو Smooth Stream، فكيف يؤثر ذلك في تطبيقي؟

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