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

نظرة عامة

تتيح حزمة تطوير البرامج (SDK) الخاصة بـ "أداة استقبال الويب" في Cast تشغيل المحتوى باستخدام العديد من بروتوكولات بث الويب. واستنادًا إلى البروتوكول المستخدَم، تحمّل حزمة SDK مشغّلاً للتعامل مع تشغيل المحتوى. في حالة محتوى HLS، يتم تحميل مكتبة Media Player Library (MPL). في حال محتوى DASH، يتم تحميل Shaka Player.

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

مزايا Shaka Player

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

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

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

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

المرحلة تاريخ البدء نظرة عامة
1 أكتوبر 2022 توفّر حزمة تطوير البرامج (SDK) الخاصة بمستقبل الويب في Cast واجهات برمجة تطبيقات للتفعيل من أجل تشغيل محتوى HLS على Shaka Player.
2 نوفمبر 2025 تؤدي حزمة تطوير البرامج (SDK) الخاصة بمستقبل الويب في Cast إلى تغيير المشغّل التلقائي إلى Shaka Player لتشغيل محتوى HLS.

تتّبع فِرق الهندسة التي تعمل على حزمة تطوير البرامج Web Receiver SDK نهجًا قائمًا على الأداء، ولن تنتقل إلى المرحلة التالية إلا عندما يكون أداء Shaka Player مماثلاً لأداء MPL الأساسي. سيتم الإعلان عن هذه التغييرات في مجموعة Google الخاصة بالإشعارات حول حزمة تطوير البرامج (SDK) الخاصة بـ Cast وسيتم تعديلها في هذا الدليل.

التفعيل

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

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 إلى نموذج إيقاف تشغيل ميزة تشغيل محتوى HLS في Shaka Player وفقًا للمخطط الزمني. ستتغير القيمة التلقائية للسمة useShakaForHls من false إلى true. في ذلك الوقت، يمكن للتطبيقات اختيار استخدام MPL لتشغيل 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);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

لا يستخدم المحتوى الخاص بي بروتوكولَي HLS أو Smooth Stream، فكيف يؤثر ذلك في تطبيقي؟

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