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

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

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

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

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

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

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

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

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

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

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

    • يجب أن يتم تقريب متوسط نقاط QP للكتلة إلى أقرب قيمة في برنامج التشفير على المنظومة على الرقاقة (SoC). عدد صحيح قبل إرساله إلى برنامج الترميز 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);