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

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

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

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

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

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

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

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

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

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

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

    • يجب أن يُقرِّب برنامج ترميز SoC متوسط قيم QP للكتلة إلى أقرب عددٍ صحيح قبل نقله إلى الترميز 2.0.

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

    • يجب أن يعرض برنامج الترميز على المنظومة على الرقاقة 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 لاستخدامها كمرجع.

التحقُّق

تشغيل VideoEncodingStatisticsTest اختبار CTS للتحقّق من أنّ متوسط 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);