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

نظرة عامة

تتيح حزمة تطوير البرامج (SDK) الخاصة بـ "أداة استقبال الويب" في Cast تشغيل المحتوى باستخدام العديد من بروتوكولات بث الويب. واستنادًا إلى البروتوكول المستخدَم، تحمّل حزمة SDK مشغّلاً للتعامل مع تشغيل المحتوى. في حالة محتوى HLS، يتم تحميل "مكتبة مشغّل الوسائط" (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 ‫18 مايو 2026 تم تغيير المشغّل التلقائي إلى Shaka Player في حزمة تطوير البرامج Cast Web Receiver SDK لتشغيل محتوى HLS.

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

التفعيل

بدءًا من إصدار 3.0.0105 من "إطار عمل تطبيقات البث"، يتوفّر إعداد على مستوى التطبيق للموافقة على استخدام Shaka Player لتشغيل البث المباشر وفق بروتوكول HTTP ‏(HLS). يتضمّن هذا الإصدار أيضًا واجهة برمجة تطبيقات للاختيار من بين مجموعة متوافقة من إصدارات Shaka Player لتحميلها. يتم توفير هذه العلامات في الفئة CastReceiverOptions من خلال السمتَين useShakaForHls وshakaVersion، ويتم تقييمها عند بدء CastReceiverContext. يجب أن يضبط أي تطبيق يختار استخدام Shaka لتنسيق HLS إصدارًا من Shaka Player لا يقل عن 4.15.55 للاستفادة من آخر التحسينات على 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 على نقاط نهاية Cast.

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

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

هل يجب الانتقال إلى 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، فكيف يؤثر ذلك في تطبيقي؟

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