في السابق، استخدمت Meta مزيجًا من عمليات الإحماء (لتجهيز اللاعبين) والجلب المسبق (لتخزين المحتوى مؤقتًا على القرص) لتسليم الفيديو. على الرغم من أن هذه الأساليب ساعدت في تحسين كفاءة الشبكة، إلا أنها قدمت تحديات كبيرة. يتطلب الإحماء إنشاء مثيلات متعددة للاعبين بشكل تسلسلي، الأمر الذي يستهلك ذاكرة كبيرة ويقتصر التحميل المسبق على عدد قليل فقط من مقاطع الفيديو. ويعني هذا الطلب المرتفع على الموارد أنه يمكن تطبيق حل قوي أكثر قابلية للتطوير لتوفير التشغيل الفوري المتوقع على الموجزات الاجتماعية الحديثة سريعة التمرير.
دمج Media3 PreloadManager
لتحقيق التشغيل الفوري حقًا، قام فريق Meta’s Media Foundation Client بدمج Jetpack Media3 PreloadManager في Facebook وInstagram. اختاروا DefaultPreloadManager لتوحيد أنظمة التحميل والتشغيل الخاصة بهم. يتطلب هذا التكامل إعادة هيكلة البنية الحالية لـ Meta لتمكين المشاركة الفعالة للموارد بين مدير التحميل المسبق و ExoPlayer الحالات. قدم هذا التحول الاستراتيجي ميزة معمارية رئيسية: القدرة على موازنة مهام التحميل المسبق وإدارة العديد من مقاطع الفيديو باستخدام مثيل لاعب واحد. أدى هذا إلى زيادة قدرة التحميل المسبق بشكل كبير مع التخلص من تعقيدات الذاكرة العالية لنهجهم السابق.
التحسين وضبط الأداء
أجرى الفريق بعد ذلك اختبارات وتكرارات مكثفة لتحسين الأداء عبر النظام البيئي العالمي المتنوع للأجهزة في Meta. تسبب التحميل المسبق القوي في بعض الأحيان في حدوث مشكلات، بما في ذلك زيادة استخدام الذاكرة وتباطؤ أداء التمرير. لحل هذه المشكلة، قاموا بضبط التنفيذ باستخدام قياسات دقيقة للذاكرة، مع الأخذ في الاعتبار تجزئة الجهاز، وتخصيص النظام لأنماط محددة لواجهة المستخدم.
ضبط التنفيذ على أنماط محددة لواجهة المستخدم
طبقت Meta استراتيجيات مختلفة للتحميل المسبق وصممت السلوك ليتوافق مع أنماط واجهة المستخدم المحددة لكل تطبيق:
-
صفحة أخبار الفيسبوك: تعطي واجهة المستخدم الأولوية للفيديو الذي يتم عرضه حاليًا. يقوم المدير بتحميل الفيديو الحالي فقط مسبقًا للتأكد من أنه يبدأ في اللحظة التي يوقف فيها المستخدم التمرير مؤقتًا. هذا “الحالي فقط“يعمل التركيز على تقليل آثار البيانات والذاكرة في بيئة قد يرى فيها المستخدمون العديد من المنشورات الثابتة بين مقاطع الفيديو. على الرغم من أن النظام مصمم حاليًا للتحميل المسبق للفيديو المعروض فقط، إلا أنه يمكن تعديله لتحميل مقاطع الفيديو القادمة (المستقبلية) مسبقًا أيضًا.
-
بكرات انستغرام: هذه بيئة فيديو خالصة حيث يقوم المستخدمون بالتمرير عموديًا. بالنسبة لواجهة المستخدم هذه، قام الفريق بتنفيذ “التحميل المسبق المجاور” الإستراتيجية. يحتفظ PreloadManager بمقاطع الفيديو فورًا بعد البكرة الحالية جاهزة في الذاكرة. ويضمن هذا النهج ثنائي الاتجاه أنه سواء قام المستخدم بالتمرير لأعلى أو لأسفل، فإن الانتقال يظل فوريًا وسلسًا. وكانت النتيجة تحسنًا كبيرًا في جودة التجربة (QoE) بما في ذلك التحسينات في بدء التشغيل ووقت الإطار الأول للمستخدم.
التوسع في النظام البيئي العالمي المتنوع للأجهزة
يتطلب توسيع نطاق مجموعة مقاطع الفيديو عالية الأداء عبر مليارات الأجهزة أكثر من مجرد التحميل المسبق القوي؛ فهو يتطلب الذكاء. واجهت Meta تحديات أولية مع ضغط الذاكرة وتأخر التمرير، خاصة على الأجهزة المتوسطة إلى المنخفضة. لحل هذه المشكلة، قاموا ببناء كشف إجهاد الجهاز النظام حول تنفيذ Media3. تراقب التطبيقات الآن إشارات الإدخال/الإخراج ووحدة المعالجة المركزية في الوقت الفعلي. إذا كان الجهاز تحت حمل كثيف، فسيتم إيقاف التحميل المسبق مؤقتًا لتحديد أولوية استجابة واجهة المستخدم.
يضمن هذا التحسين المدرك للجهاز أن فائدة التشغيل الفوري لا تأتي على حساب استقرار النظام، مما يسمح حتى للمستخدمين الذين يستخدمون الأجهزة القديمة بتجربة تغذية أكثر سلاسة ودون انقطاع.
الانتصارات المعمارية وصحة الكود
وبعيدًا عن المقاييس التي يواجهها المستخدم، فإن الترحيل إلى Media3 مدير التحميل المسبقعرضت فوائد معمارية طويلة الأجل. في حين أن عملية التكامل والضبط تحتاج إلى تكرارات متعددة لتحقيق التوازن في الأداء، إلا أن قاعدة التعليمات البرمجية الناتجة تكون أكثر قابلية للصيانة. ووجد الفريق أن مدير التحميل المسبق تم دمج واجهة برمجة التطبيقات (API) بشكل نظيف مع النظام البيئي Media3 الحالي، مما يسمح بمشاركة أفضل للموارد. بالنسبة لشركة Meta، كان اعتماد Media3 PreloadManager بمثابة استثمار استراتيجي في مستقبل استهلاك الفيديو.
ومن خلال اعتماد التحميل المسبق وإضافة البوابات الذكية للأجهزة، نجحوا في زيادة إجمالي وقت المشاهدة على تطبيقاتهم وتحسين المشاركة الشاملة لمجتمعهم العالمي.
التأثير الناتج على Instagram و Facebook
قدمت البنية الاستباقية تحسينات فورية وقابلة للقياس عبر كلا النظامين الأساسيين.
-
الفيسبوك من ذوي الخبرة بدء التشغيل بشكل أسرع، وانخفاض معدلات توقف التشغيل وتقليل الجلسات السيئة (مثل إعادة التخزين المؤقت، وتأخير وقت البدء، وانخفاض الجودة، وما إلى ذلك) مما أدى بشكل عام إلى زيادة وقت المشاهدة.
-
رأى انستغرام بدء تشغيل أسرع وزيادة في إجمالي وقت المشاهدة. القضاء على الكمون الانضمام (الفاصل الزمني من إجراء المستخدم إلى عرض الإطار الأول) أدى بشكل مباشر إلى زيادة مقاييس التفاعل. ال انقطاعات أقل نظرًا لانخفاض التخزين المؤقت، كان ذلك يعني أن المستخدمين شاهدوا المزيد من المحتوى، وهو ما ظهر من خلال مقاييس التفاعل.

التعلم الهندسي الرئيسي على نطاق واسع
مع تطور عادات استهلاك الوسائط، سيستمر الطلب على التجارب الفورية في النمو. يضمن تنفيذ الإدارة الاستباقية للذاكرة وتحسين الحجم وتنوع الأجهزة أن يتمكن تطبيقك من تلبية هذه التوقعات بكفاءة.
ركز على تقديم تجربة موثوقة من خلال تقليل فترات التباطؤ وأوقات التحميل من خلال التحميل المسبق. بدلاً من التخزين المؤقت البسيط على القرص، فإن الاستفادة من التحميل المسبق على مستوى الذاكرة يضمن أن المحتوى جاهز لحظة تفاعل المستخدم معه.
قم بتخصيص سلوك التحميل المسبق وفقًا لواجهة مستخدم تطبيقاتك. على سبيل المثال، استخدم التركيز “الحالي فقط” للخلاصات المختلطة مثل Facebook لتوفير الذاكرة، واستراتيجية “التحميل المسبق المجاور” للبيئات العمودية مثل Instagram Reels.
يتيح التكامل مع واجهات برمجة تطبيقات Media3 بدلاً من حل التخزين المؤقت المخصص مشاركة أفضل للموارد بين المشغل واللاعب مدير التحميل المسبق، مما يتيح لك إدارة مقاطع فيديو متعددة باستخدام مثيل مشغل واحد. وينتج عن ذلك قاعدة تعليمات برمجية مقاومة للمستقبل يسهل على الفرق الهندسية ليس فقط صيانتها وتحسينها بمرور الوقت، بل الاستفادة أيضًا من آخر تحديثات الميزات.
قم بتوسيع نطاق وصولك إلى السوق من خلال الاختبار على أجهزة مختلفة، بما في ذلك الطرز المتوسطة إلى المنخفضة التكلفة. استخدم الإشارات في الوقت الفعلي مثل وحدة المعالجة المركزية والذاكرة والإدخال/الإخراج لتكييف الميزات واستخدام الموارد ديناميكيًا.
يتيح التكامل مع واجهات برمجة تطبيقات Media3 بدلاً من حل التخزين المؤقت المخصص مشاركة أفضل للموارد بين المشغل واللاعب مدير التحميل المسبق، مما يتيح لك إدارة مقاطع فيديو متعددة باستخدام مثيل مشغل واحد. وينتج عن ذلك قاعدة تعليمات برمجية مقاومة للمستقبل يسهل على الفرق الهندسية ليس فقط صيانتها وتحسينها بمرور الوقت، بل الاستفادة أيضًا من آخر تحديثات الميزات.
قم بتوسيع نطاق وصولك إلى السوق من خلال الاختبار على أجهزة مختلفة، بما في ذلك الطرز المتوسطة إلى المنخفضة التكلفة. استخدم الإشارات في الوقت الفعلي مثل وحدة المعالجة المركزية والذاكرة والإدخال/الإخراج لتكييف الميزات واستخدام الموارد ديناميكيًا.

