الطريقة التي حسّنت بها منصة YouTube أداء الفيديوهات باستخدام Media Capability API

ضمان تشغيل الفيديو بشكل سلِس على جميع الأجهزة

فادي مجدي
فرانسوا بوفورت

من خلال تجربة واجهة برمجة التطبيقات Media Capabilities API، شهدت منصّة YouTube زيادة بنسبة 7.1% في MTBR مع انخفاض بنسبة 0.4% فقط في متوسط دقة الفيديوهات المعروضة.

المسألة

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

الحل

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

في Chrome، تستخدم واجهة برمجة التطبيقات Media Capability API مقاييس من عمليات تشغيل سابقة للتنبؤ بما إذا كان سيتم فك ترميز عمليات التشغيل المستقبلية بالدقة نفسها وبدرجة الدقة نفسها.

دراسة حالة حول YouTube

استخدم فريق YouTube واجهة برمجة التطبيقات Media Capabilities لمنع خوارزمية معدل نقل البيانات التكيّفية من تحديد درجات الدقة التي لا يمكن تشغيلها بسلاسة على الجهاز.

شهد المستخدمون الذين كانوا جزءًا من المجموعة التجريبية مجتمعةً انخفاضًا في معدل إعادة التخزين المؤقت (ارتفع متوسط الوقت بين عمليات إعادة التخزين الاحتياطية بنسبة %7.1) بينما انخفض متوسط درجة الدقة، الذي تم قياسه من خلال ارتفاع الفيديو، للمجموعة المجمّعة بنسبة 0.4% فقط. تشير الزيادة الكبيرة في معدل التشغيل الرئيسي مع الانخفاض البسيط في متوسط الدقة إلى أنّ هذا التغيير قد حسّن الجودة بشكل كبير لمجموعة فرعية صغيرة من المستخدمين الذين كانت لديهم تجربة سيئة في السابق.

تنفيذ واجهة برمجة تطبيقات Media Capility API على موقعك الإلكتروني

يمكنك مراجعة النموذج الرسمي للاطّلاع على طريقة عمل واجهة برمجة التطبيقات Decode Info API.