نقل بيانات مشغِّل 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.
  • انخفاض كبير في وقت طرح الميزات وإصلاح الأخطاء، لأنّ وتيرة إصدارات Shaka Player متكررة ومستقلة عن إصدارات Web Receiver SDK.
  • إمكانية التحكّم بشكل أكبر في بيئة التشغيل التي تقدّمها واجهة برمجة التطبيقات shakaVersion
  • تعزيز دعم التشغيل من Google من خلال توفير موارد هندسية تركّز على تشغيل HLS على Shaka Player كما هو موضّح في خارطة الطريق

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

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

المرحلة Start Date نظرة عامة
1 تشرين الأول (أكتوبر) 2022 تقدّم حزمة تطوير البرامج (SDK) لمستقبل البث على الويب من Cast واجهات برمجة تطبيقات للموافقة على تشغيل محتوى HLS على Shaka Player.
2 H1 '25 تعمل حزمة تطوير البرامج (SDK) لجهاز الاستقبال على الويب في Cast على تغيير المشغّل التلقائي إلى Shaka Player لتشغيل محتوى HLS.

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

التفعيل

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

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

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

context.start(castReceiverOptions);

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

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

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

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

إيقاف

سيتم نقل حزمة تطوير البرامج (SDK) لمستقبل الويب إلى نموذج إيقاف تشغيل لتشغيل محتوى HLS في Shaka Player وفقًا للجدول الزمني. سيغيّر السمة useShakaForHls قيمتها التلقائية من false إلى true. في ذلك الوقت، يمكن للتطبيقات اختيار استخدام MPL لتشغيل HLS من خلال ضبط هذه السمة يدويًا على false. عند بدء CastReceiverContext، ستعود حزمة تطوير البرامج (SDK) لبرنامج Web Receiver إلى تحميل 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.3، جرِّب ضبطه على أحدث إصدار في الإصدارَين 4.2.x أو 3.3.x. اطّلِع على ملاحظات إصدار Shaka Player للعثور على الإصدارات التي تتضمّن آخر التعديلات ذات الصلة. يُرجى العِلم أنّ واجهة برمجة التطبيقات shakaVersion لها حد أدنى وحد أقصى للإصدارات المتوافقة كما هو موضّح بالتفصيل في المستندات المرجعية. إذا لاحظت حدوث تراجع، يُرجى الإبلاغ عن المشكلة في نظام تتبُّع Shaka Player.
  2. جرِّب تغيير مَعلمات إعدادات المشغّل. يمكن تعديل Shaka Player من خلال عنصر PlayerConfiguration. تحدِّد حزمة تطوير البرامج (SDK) لمستقبل رسائل الويب مجموعة من القيم التلقائية وتتيح للتطبيقات تعديل هذا الإعداد من خلال السمة shakaConfig في العنصر PlaybackConfig. ويتم تقييم ذلك أثناء وقت التحميل عند إنشاء مثيل المشغّل. اطّلِع على مزيد من المعلومات في

    إعدادات التطبيق وخياراته إنّ القيم التلقائية التي تحدّدها حزمة تطوير البرامج (SDK) لجهاز الاستقبال على الويب هي القيم المقترَحة.

  3. تحقَّق ممّا إذا تم الإبلاغ عن المشكلة في نظام تتبُّع مشاكل Shaka Player أو نظام تتبُّع مشاكل Cast. أدخِل تعليقًا على الخطأ وأضِف أي معلومات مفيدة إذا كانت تصف مشكلتك أيضًا.

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

  5. قدِّم تقريرًا عن خطأ في أداة تتبُّع المشاكل المتعلّقة بميزة البث إذا كانت لديك مشكلة فريدة في Shaka Player على نقاط نهاية البث.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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