بدءًا من 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);