تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
الاطلاع على التنسيقات المتوافقة مع ExoPlayer
للحصول على مقدمة عن
بشكل عام. يمكن أيضًا تطبيق القيود نفسها على التحميل والاستخراج
تسري عمليات فك ترميز المحتوى مع تطبيق Transformer، على الرغم من أنّ Transformer لا يتوافق مع عمليات بث المحتوى.
وحدات فك ترميز البرامج المجمّعة من ExoPlayer.
يعتمد المحوِّل أيضًا على MediaCodec للترميز، ويحتاج إلى تعدد الإرسال، أو
mux، ملفات وسائط الإخراج التي تحدّ من تنسيقات الإخراج المتوافقة. عرض
برامج ترميز الفيديو MediaCodec
للتعرّف على مزيد من المعلومات حول قيود الترميز
MediaMuxer
للتعرّف على القيود التي تنطبق على حاوية وسائط الإخراج. المحوِّل فقط
تعمل على إخراج ملفات MP4.
يستخدم Transformer تلقائيًا MediaMuxer، ولكن InAppMuxer قيد التقدم.
متاحة بشكل اختياري لتجنُّب بعض قيود MediaMuxer حول
هياكل الإطارات المرجعية وتنسيقات النماذج المعتمدة. سيقوم المُخرِج الافتراضي
تصبح أكثر صانع محتوى داخل التطبيق في الإصدار المستقبلي.
إتاحة الصور
تستخدم أداة التحويل BitmapFactory لتحميل جميع مواد عرض الصور وفك ترميزها، ولذلك
يدعم Transformer جميع التنسيقات التي يستخدمها Bitmapfactor. عرض
إتاحة الصور
لأنواع الصور المتوافقة. في حال استخدام تنسيقات متعددة (مثل ملفات GIF)، يجب استخدام صورة واحدة.
يتم عرض الإطار من الحاوية إذا كانت السمة DefaultAssetLoaderFactory
استخدام البيانات المختلفة.
تنسيقات خاصة
يتيح المحوِّل معالجة الإدخال بتنسيقات الوسائط الأحدث التي توفر
ميزات مختلفة مقارنةً بالتنسيقات التقليدية.
يتيح تطبيق 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.
تتيح لك هذه الميزة دعم الفيديوهات بالتصوير البطيء بدون القلق بشأن
التعامل مع هذه التنسيقات الخاصة. كل ما عليك فعله هو تخزين وتشغيل
نسخة مسطحة من الفيديو بدلاً من النسخة الأصلية.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Supported formats\n\nSee the [ExoPlayer supported formats\npage](/guide/topics/media/exoplayer/media-items) for an introduction to\nmedia formats in general. The same limitations on loading, extracting, and\ndecoding streams apply with Transformer, though Transformer does not support\nExoPlayer's bundled software decoder modules.\n\nTransformer also relies on `MediaCodec` for encoding, and needs to multiplex, or\n*mux* , output media files, which limits the output formats supported. See\n[MediaCodec video codecs](https://developer.android.com/guide/topics/media/media-formats#video-codecs)\nfor more information about encoding limitations and\n[MediaMuxer](https://developer.android.com/reference/android/media/MediaMuxer)\nfor limitations that apply to the output media container. Transformer only\noutputs MP4 files.\n\nBy default, `Transformer` uses `MediaMuxer`, but a work-in-progress `InAppMuxer`\nis optionally available to avoid some of `MediaMuxer`'s limitations around\nreference frame structures and supported sample formats. The default muxer will\nbecome the in-app muxer in a future release.\n\nImage support\n-------------\n\nTransformer uses `BitmapFactory` to load and decode all image assets, so\nTransformer supports all the formats BitmapFactory does. See\n[Image support](/guide/topics/media/media-formats#image-formats)\nfor supported image types. For multi-picture formats (e.g. gifs), a single image\nframe from the container is displayed if the `DefaultAssetLoaderFactory` is\nused.\n\nSpecial formats\n---------------\n\nTransformer supports handling input in newer media formats that provide special\nfeatures compared to conventional formats.\n\n### Handling HDR videos\n\nMore and more devices now support [HDR video\ncapture](/training/camera2/hdr-video-capture), giving more vivid, accurate\ncolors and a greater brightness range.\n\nTransformer supports editing HDR videos from Android 13 (API level 33) onwards\non devices with the required encoding support. When editing HDR videos, any GL\nvideo effects need to handle 16-bit floating point color components and BT.2020\ncolor space. `HDR_MODE_KEEP_HDR` is the default mode when building the\n`Composition`. If HDR editing is not supported, the Transformer\nfalls back to using `HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL`.\n\nConverting HDR to SDR, also known as *tone-mapping* , is supported from Android\n10 (API level 29) onwards on devices with the required decoding and OpenGL\nsupport. This is useful when sharing HDR media to other apps or services that\ndon't support ingestion of HDR content. To enable tone-mapping using OpenGL call\n`setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL)` when creating the\n`Composition`. From Android 12 (API level 31) onwards, `MediaCodec`\nalso supports tone-mapping on some devices, including all devices running\nAndroid 13 or higher that can capture HDR video. To enable tone-mapping using\n`MediaCodec` call `setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC)`.\n\n### Handling slow motion media\n\nSlow-motion videos include metadata indicating the speed at which each section\nof the stream should be played. *Flattening* is the process of producing a new\nvideo stream based on the slow-motion video but where the sections are sped up\nor slowed down based on metadata, so that they play correctly even on players\nthat don't apply slow motion metadata.\n\nTo flatten slow-motion streams, use the `setFlattenForSlowMotion` builder\nmethod on `EditedMediaItem`. \n\n### Kotlin\n\n```kotlin\nval editedMediaItem =\n EditedMediaItem.Builder(inputMediaItem).setFlattenForSlowMotion(true).build()\nval transformer =\n Transformer.Builder(context).addListener(transformerListener).build()\ntransformer.start(editedMediaItem, outputPath)\n```\n\n### Java\n\n```java\nEditedMediaItem editedMediaItem =\n new EditedMediaItem.Builder(inputMediaItem).setFlattenForSlowMotion(true).build();\nTransformer transformer =\n new Transformer.Builder(context).addListener(transformerListener).build();\ntransformer.start(editedMediaItem, outputPath);\n```\n\n\u003cbr /\u003e\n\nThis allows you to support slow-motion videos without having to worry about\nhandling these special formats. All you need to do is to store and play the\nflattened version of the video instead of the original one.\n| **Note:** Only Samsung's slow motion format is supported."]]