التنسيقات المعتمدة

الاطلاع على التنسيقات المتوافقة مع ExoPlayer للحصول على مقدمة عن بشكل عام. يمكن أيضًا تطبيق القيود نفسها على التحميل والاستخراج تسري عمليات فك ترميز المحتوى مع تطبيق Transformer، على الرغم من أنّ Transformer لا يتوافق مع عمليات بث المحتوى. وحدات فك ترميز البرامج المجمّعة من ExoPlayer.

يعتمد المحوِّل أيضًا على MediaCodec للترميز، ويحتاج إلى تعدد الإرسال، أو mux، ملفات وسائط الإخراج التي تحدّ من تنسيقات الإخراج المتوافقة. عرض برامج ترميز الفيديو MediaCodec للتعرّف على مزيد من المعلومات حول قيود الترميز MediaMuxer للتعرّف على القيود التي تنطبق على حاوية وسائط الإخراج. المحوِّل فقط تعمل على إخراج ملفات MP4.

يستخدم Transformer تلقائيًا MediaMuxer، ولكن InAppMuxer قيد التقدم. متاحة بشكل اختياري لتجنُّب بعض قيود MediaMuxer حول هياكل الإطارات المرجعية وتنسيقات النماذج المعتمدة. سيقوم المُخرِج الافتراضي تصبح أكثر صانع محتوى داخل التطبيق في الإصدار المستقبلي.

إتاحة الصور

تستخدم أداة التحويل BitmapFactory لتحميل جميع مواد عرض الصور وفك ترميزها، ولذلك يدعم Transformer جميع التنسيقات التي يستخدمها Bitmapfactor. عرض إتاحة الصور لأنواع الصور المتوافقة. في حال استخدام تنسيقات متعددة (مثل ملفات GIF)، يجب استخدام صورة واحدة. يتم عرض الإطار من الحاوية إذا كانت السمة DefaultAssetLoaderFactory استخدام البيانات المختلفة.

تنسيقات خاصة

يتيح المحوِّل معالجة الإدخال بتنسيقات الوسائط الأحدث التي توفر ميزات مختلفة مقارنةً بالتنسيقات التقليدية.

التعامل مع الفيديوهات بتقنية HDR

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

يتيح تطبيق Transformer تعديل الفيديوهات بنطاق عالي الديناميكية (HDR) بدءًا من الإصدار Android 13 (المستوى 33 من واجهة برمجة التطبيقات) والإصدارات الأحدث. على الأجهزة التي تدعم الترميز المطلوب. عند تعديل فيديوهات HDR، يمكن لأي GL يجب أن تتعامل تأثيرات الفيديو مع مكونات الألوان العائمة 16 بت وBT.2020 مساحة اللون. HDR_MODE_KEEP_HDR هو الوضع التلقائي عند إنشاء Composition في حال عدم توفُّر إمكانية التعديل بتقنية HDR، يجب استخدام أداة "المحوِّل". يعود إلى استخدام HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL.

يتيح نظام Android تحويل تنسيق HDR إلى SDR، المعروف أيضًا باسم تعيين الألوان. 10 (مستوى واجهة برمجة التطبيقات 29) والإصدارات الأحدث على الأجهزة التي تتضمّن فك الترميز المطلوب و OpenGL والدعم. ويكون ذلك مفيدًا عند مشاركة وسائط HDR مع تطبيقات أو خدمات أخرى لا تتيح عرض محتوى HDR. لتفعيل ربط تدرّج الألوان باستخدام طلب OpenGL setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL) عند إنشاء Composition بدءًا من نظام التشغيل Android 12 (المستوى 31 لواجهة برمجة التطبيقات) فصاعدًا، MediaCodec أيضًا ربط درجة اللون على بعض الأجهزة، بما في ذلك جميع الأجهزة التي تعمل الإصدار 13 من نظام التشغيل Android أو الإصدارات الأحدث التي يمكنها تسجيل فيديو بنطاق عالي الديناميكية لتمكين تعيين النبرة باستخدام MediaCodec يتصل بـ setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC).

التعامل مع وسائط التصوير البطيء

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

لتسوية أحداث البث بالتصوير البطيء، استخدِم أداة إنشاء setFlattenForSlowMotion. على EditedMediaItem.

Kotlin

val editedMediaItem =
    EditedMediaItem.Builder(inputMediaItem).setFlattenForSlowMotion(true).build()
val transformer =
    Transformer.Builder(context).addListener(transformerListener).build()
transformer.start(editedMediaItem, outputPath)

Java

EditedMediaItem editedMediaItem =
    new EditedMediaItem.Builder(inputMediaItem).setFlattenForSlowMotion(true).build();
Transformer transformer =
    new Transformer.Builder(context).addListener(transformerListener).build();
transformer.start(editedMediaItem, outputPath);

تتيح لك هذه الميزة دعم الفيديوهات بالتصوير البطيء بدون القلق بشأن التعامل مع هذه التنسيقات الخاصة. كل ما عليك فعله هو تخزين وتشغيل نسخة مسطحة من الفيديو بدلاً من النسخة الأصلية.