ضمان تشغيل الفيديو بسلاسة على جميع الأجهزة
في تجربة أجريناها باستخدام Media Capabilities API، حقّقت YouTube زيادة بنسبة 7.1% في MTBR مع انخفاض بنسبة 0.4% فقط في متوسط درجة دقة الفيديوهات المعروضة.
المشكلة
عادةً ما تتضمّن مواقع الوسائط عدّة صيغ لكل فيديو يمكن عرضها
على المستخدمين، ويتم ترميزها بمعدّلات عرض مختلفة ودرجات دقة وبرامج ترميز مختلفة. حتى
الوقت القريب، كان على مطوّري الويب الاعتماد فقط على isTypeSupported()
أو
canPlayType()
لتحديد ما إذا كان يمكن تشغيل كل صيغة في
متصفّح مستخدم فردي.
على الرغم من أنّ هذا الإشعار يُعلم المطوّر بما إذا كان بإمكانه تشغيل الوسائط على الإطلاق، إلا أنّه لا يقدّم سوى إشارة إلى جودة التشغيل، مثل ما إذا كان سيتم إسقاط اللقطات أو استنزاف بطارية الجهاز. وبدون هذه المعلومات، كان على المطوّرين
إنشاء أساليبهم الاستقرائية الخاصة أو افتراض أنّه إذا كان بإمكان جهاز تشغيل
مجموعة ترميز/درجة دقة معيّنة، يمكنه فعل ذلك بسلاسة وكفاءة في استهلاك الطاقة.
بالنسبة إلى المستخدمين الذين يستخدمون أجهزة أقل كفاءة، كان هذا الإجراء يؤدي غالبًا إلى تجربة سيئة.
الحلّ
تسمح واجهة برمجة التطبيقات Media Capabilities للمواقع الإلكترونية بالحصول على مزيد من المعلومات عن أداء فك ترميز الفيديو لدى العميل واتخاذ قرار مدروس بشأن برنامج الترميز ودرجة الدقة المطلوب إرسالهما إلى المستخدِم. على وجه التحديد، توفّر واجهة برمجة التطبيقات للمطوّر تقديرًا لسلاسة وكفاءة استهلاك الطاقة لمجموعة معيّنة من برامج الترميز ودرجة الدقة. ويسمح ذلك للمطوّر بتجنُّب السيناريوهات التي من المرجّح أن يواجه فيها العميل تجربة تشغيل سيئة.
في Chrome، تستخدِم واجهة برمجة التطبيقات Media Capabilities API مقاييس من عمليات التشغيل السابقة لمحاولة تحديد ما إذا كان سيتم فك ترميز عمليات التشغيل المستقبلية بسلاسة باستخدام برنامج الترميز نفسه وبدرجة الدقة نفسها.
دراسة حالة حول YouTube
استخدمت YouTube واجهة برمجة التطبيقات Media Capabilities لمنع برمجية معدل نقل البيانات المتغيّر من اختيار درجات الدقة التي لا يمكن للجهاز تشغيلها بسلاسة تلقائيًا.
لاحظ المستخدمون الذين كانوا جزءًا من المجموعة التجريبية بشكلٍ جماعي إعادة تحميل أقل تكرارًا (زاد متوسط الوقت بين عمليات إعادة التحميل أو MTBR بنسبة %7.1)، في حين انخفض متوسط الدقة، الذي يتم قياسه من خلال ارتفاع الفيديو، الذي تم عرضه للمجموعة المجمّعة بنسبة %0.4 فقط. تشير الزيادة الكبيرة في MTBR مع الانخفاض الصغير المقابل في متوسط درجة الدقة إلى أنّ هذا التغيير أدى إلى تحسين الجودة بشكل كبير لمجموعة فرعية صغيرة من المستخدمين الذين كانت لديهم سابقًا تجربة سيئة.
تنفيذ Media Capabilities API على موقعك الإلكتروني
يمكنك الاطّلاع على المثال الرسمي لمعرفة آلية عمل Decoding Info API.