الاطلاع على التنسيقات المتوافقة مع 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);
تتيح لك هذه الميزة دعم الفيديوهات بالتصوير البطيء بدون القلق بشأن التعامل مع هذه التنسيقات الخاصة. كل ما عليك فعله هو تخزين وتشغيل نسخة مسطحة من الفيديو بدلاً من النسخة الأصلية.