تصدير إحصاءات ترميز الفيديوهات

بدءًا من Android 13، يمكن لعملاء التطبيقات طلب برنامج ترميز الفيديو لتصدير إحصاءات الترميز لكل إطار فيديو تم ترميزه. وباستخدام الإحصاءات التي يتم الحصول عليها من برنامج ترميز الفيديو، يمكن للتطبيقات تحسين مهام ترميز الفيديو مثل التشفير المتعدد المسارات والمعالجة المسبقة للإطارات قبل الترميز.

لتصدير إحصاءات ترميز الفيديو، على مورّدي شرائح المنظومة المتكاملة (SoC) تغيير برنامج تشغيل ملف ترميز الفيديو كما هو موضّح في التعديلات على برنامج تشغيل ملف ترميز الفيديو.

بيانات إحصاءات ترميز الفيديو

في Android 13، يصدِّر برنامج ترميز الفيديو بيانات الإحصاءات كما هو موضّح في الجدول التالي.

اسم إحصاءات برنامج الترميز الوصف
متوسط معدل الوحدات الكميّة للبلوكات لكل إطار متوسّط جميع نقاط الجودة (QP) للكتل في إطار الفيديو التي تم ترميزها في البث المباشر للبيانات
نوع الصورة اكتب I أو P أو B

يمكن للمطوّرين استرداد معلومات الإحصاءات لكل إطار باستخدام فئة مطوّري البرامج MediaFormat.

تعديلات على برنامج تشغيل برنامج ترميز الفيديو

لإتاحة تصدير إحصاءات ترميز الفيديو، على مورّدي المنظومة على الرقاقة (SoC) تغيير برنامج تشغيل برنامج ترميز الفيديو. تمت إضافة المفاتيح التالية في قاعدة الترميز 2.0 في Android 13:

  • يصف KEY_VIDEO_QP_AVERAGE قيمة QP المتوسطة للكتلة لكل إطار.

    تنطبق القواعد التالية على تنفيذ مفتاح KEY_VIDEO_QP_AVERAGE:

    • يجب أن يتم تقريب متوسط نقاط QP للكتلة إلى أقرب عدد صحيح قبل الإرسال إلى Codec 2.0 في برنامج التشفير على المنظومة على الرقاقة (SoC).

    • لا يتم احتساب متوسط القيمة إلا من مستوى الإضاءة.

    • يجب أن يعرض برنامج الترميز على المنظومة على الرقاقة INT_MAX إذا كانت كل المربّعات في الإطار الحالي في وضع التخطّي. يحدث هذا الشرط عندما لا يتم ترميز أي معاملات ولا يتم ترميز أي معلومات مهمة عن QP في الإطار.

  • يصف KEY_PICTURE_TYPE نوع صورة الإطار المرمّز كـ PICTURE_TYPE_I أو PICTURE_TYPE_P أو PICTURE_TYPE_B أو PICTURE_TYPE_UNKNOWN.

  • يصف KEY_VIDEO_ENCODING_STATISTICS_LEVEL مستوى معلومات إحصاءات الترميز الصادرة من برنامج ترميز الفيديو، على النحو التالي:

    • عندما لا يُنشئ برنامج الترميز أي معلومات عن إحصاءات الترميز، يتم ضبط هذا المفتاح على VIDEO_ENCODING_STATISTICS_LEVEL_NONE.

    • عندما ينشئ برنامج الترميز KEY_VIDEO_QP_AVERAGE وKEY_PICTURE_TYPE لكل إطار، يتم ضبط هذا المفتاح على VIDEO_ENCODING_STATISTICS_LEVEL_1.

اطّلِع على VideoEncodingStatisticsTest للاطّلاع على مثال على التنفيذ.

التحقُّق

يمكنك إجراء اختبار CTS VideoEncodingStatisticsTest للتحقّق من أنّ متوسط QP لإحصاءات ترميز الفيديو يعمل بشكل صحيح: تشغّل CTS ترميزَين لفيديو الإدخال نفسه، أحدهما بمعدل نقل بيانات أعلى والآخر بمعدل نقل بيانات أقل. بعد ذلك، تقارن CTS بين قيمتَي QP المصدرتين من الترميزين. إذا كان متوسط QP من الترميز بمعدل نقل بيانات أقل أعلى من متوسط QP من الترميز ذي معدل نقل البيانات الأعلى، تسري CTS.

للتحقّق من إيقاف ميزة تصدير إحصاءات ترميز الفيديو عند تفعيلها، استخدِم المفتاح VIDEO_ENCODING_STATISTICS_LEVEL_NONE على النحو التالي:

format.setInteger(MediaFormat.KEY_VIDEO_ENCODING_STATISTICS_LEVEL, MediaFormat.VIDEO_ENCODING_STATISTICS_LEVEL_NONE);