تحديد المشاكل وحلّها


لماذا لا يمكنني الوصول إلى الملفات المحلية في التطبيق التجريبي؟

إنّ فرض مساحة التخزين المحدّدة النطاق من نظام التشغيل Android 11 (المستوى 30 لواجهة برمجة التطبيقات) يمنع الوصول المباشر إلى نظام الملفات. بالنسبة إلى الاختبار اليدوي أثناء التطوير، يمكن الوصول إلى الملفات المحلية من خلال إضافة إذن إدارة مساحة التخزين الخارجية في بيان التطبيق التجريبي:

<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>

بعد ذلك، يمكنك منح الإذن عبر Adb:

adb shell appops set --uid androidx.media3.demo.transformer \
    MANAGE_EXTERNAL_STORAGE allow

لماذا يتعذّر التصدير على جهاز معيّن؟

يُرجى الإبلاغ عن مشكلة في أداة تتبع مشاكل Media3 مع تضمين معلومات كافية لإعادة إظهار المشكلة. يمكن إضافة حلول للمشاكل الخاصة بالجهاز إلى المكتبة لتحسين التوافق بمرور الوقت.

هل يتيح المحوِّل تحويل (أو تسجيل) الوسائط البعيدة؟

يدعم المحول البث التقدمي المتتالي عن بُعد، بما في ذلك حاويات ملفات الوسائط مثل MP4.

في ظروف الشبكة السيئة للغاية، قد يتعذّر التصدير بسبب التخزين المؤقت للوسائط البعيدة لفترات طويلة جدًا يؤدي إلى تشغيل عمليات تحقق في جهاز الوصل تهدف إلى تحديد أنّ المسار عالق. يمكنك إلغاء السلوك التلقائي من خلال ضبط maxDelayBetweenMuxerSamplesMs على الموقع الإلكتروني Transformer.Builder:

Kotlin

Transformer.Builder(context)
    .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET)
    .build()

Java

new Transformer.Builder(context)
    .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET)
    .build();

يؤدي تمرير علامة C.TIME_UNSET إلى إزالة المهلة تمامًا، ولكن إذا كان تطبيقك يعمل على شرائح يمكن أن تتعطّل فيها MediaCodec، قد تحتاج إلى ضبط مهلة أكبر بقيمة غير صفرية.

هل يتيح المحوِّل إدخال المحتوى بدقة 8K؟

يتم تنفيذ المحول بطريقة غير متوافقة مع التنسيق، لذا فهو لا يحدّ من معالجة الفيديوهات بدقة 8K، ولكن قد تعني إمكانات الأجهزة على الجهاز أنّه قد يتعذّر إجراء عملية التصدير. على سبيل المثال، حتى على الأجهزة التي يمكنها التقاط دقة 8K، قد لا يكون من الممكن فك ترميز فيديو بدقة 8K وإعادة ترميزه بسبب تجاوز موارد برنامج ترميز الأجهزة أو ذاكرة الوصول العشوائي (RAM) المتاحة.

كيف يرتبط Transformer بتحويل ترميز الوسائط المتوافق مع النظام الأساسي؟

تحويل ترميز الوسائط المتوافق هي ميزة في نظام Android الأساسي من Android 12 (المستوى 31 لواجهة برمجة التطبيقات) تحوِّل الوسائط التي تصل مدتها إلى دقيقة واحدة إلى تنسيقات متوافقة مع التطبيق. وفي حال الموافقة على استخدام هذه الميزة، تؤدي قراءة ملف وسائط بتنسيق غير متوافق إلى تحويل ترميزه عند الطلب، ويتم تخزين النتيجة مؤقتًا لإجراء عمليات قراءتها لاحقًا.

يدعم المحول أيضًا تحويل التنسيق، ولكنه متوفر كمكتبة دعم ويتمتع التطبيق بالتحكم الكامل في عملية تحويل الترميز.

كيف يمكنني تقليل وقت استجابة التصدير أو زيادة سرعة معالجة البيانات؟

يعتمد المحول على MediaCodec لفك الترميز والترميز اللذَين يتم تسريعهما باستخدام الأجهزة، وتقنية OpenGL لمعالجة إطارات الفيديو. استنادًا إلى القياسات التي نجريها على الأجهزة النموذجية، يتمثّل العامل المحدِّد في سرعة معالجة بيانات التحويل في سرعة معالجة بيانات أجهزة MediaCodec بالنسبة إلى حالات الاستخدام التي لا تتطلّب معالجة ذات تأثيرات كبيرة. ومن المرجح أن يؤثر ذلك على عمليات التنفيذ الأخرى بالطريقة نفسها. على سبيل المثال، تتمتع ميزة تحويل الترميز المتوافقة مع النظام الأساسي بأداء مشابه لميزة Transformer.

تقلِّل معاينة تصحيح الأخطاء في التطبيق التجريبي من سرعة معالجة البيانات بشكل كبير، لذا عليك إيقاف ميزة المعاينة عند الاختبار باستخدام إصدار من التطبيق التجريبي للحصول على فكرة واقعية عن الأداء.