Media3 Transformer is actively under development and we are looking to hear from you! We welcome your feedback, feature requests and bug reports in the issue tracker. Follow the ExoPlayer blog for the latest updates.
چرا نمی توانم به فایل های محلی در برنامه آزمایشی دسترسی پیدا کنم؟
اجرای فضای ذخیره سازی محدوده از Android 11 (سطح API 30) از دسترسی مستقیم به سیستم فایل جلوگیری می کند. برای آزمایش دستی در طول توسعه، دسترسی به فایلهای محلی با افزودن مجوز مدیریت حافظه خارجی در مانیفست برنامه نمایشی امکانپذیر است:
adb shell appops set --uid androidx.media3.demo.transformer \
MANAGE_EXTERNAL_STORAGE allow
چرا صادرات در یک دستگاه خاص با شکست مواجه می شود؟
لطفاً یک مشکل را با اطلاعات کافی برای بازتولید مشکل در ردیاب Media3 مطرح کنید. راهحلهایی برای مشکلات خاص دستگاه میتواند به کتابخانه اضافه شود تا سازگاری در طول زمان بهبود یابد.
آیا Transformer از تبدیل (یا ضبط) رسانه راه دور پشتیبانی می کند؟
Transformer از جریان های مترقی از راه دور، از جمله ظروف فایل های رسانه ای مانند MP4 پشتیبانی می کند.
در شرایط بسیار بد شبکه، صادرات ممکن است با شکست مواجه شود، زیرا بافر کردن رسانه راه دور برای مدت طولانی، بررسی هایی را در مخزن انجام می دهد که برای شناسایی گیرکردن خط لوله در نظر گرفته شده است. میتوانید با تنظیم maxDelayBetweenMuxerSamplesMs در Transformer.Builder ، رفتار پیشفرض را لغو کنید:
عبور از C.TIME_UNSET مهلت زمانی را به طور کامل حذف میکند، اما اگر برنامه شما روی چیپستهایی اجرا میشود که MediaCodec میتواند گیر کند، ممکن است بخواهید یک مهلت غیر صفر بزرگتر تنظیم کنید.
آیا ترانسفورماتور از ورودی 8k پشتیبانی می کند؟
Transformer به روشی مبتنی بر فرمت اجرا شده است، بنابراین مدیریت ویدیوی 8k را محدود نمی کند، اما قابلیت های سخت افزاری روی دستگاه ممکن است به این معنی باشد که صادرات نمی تواند موفقیت آمیز باشد. به عنوان مثال، حتی در دستگاههایی که میتوانند 8k ضبط کنند، ممکن است به دلیل فراتر رفتن از کدک سختافزاری یا منابع RAM موجود، رمزگشایی و رمزگذاری مجدد یک ویدیوی 8k ممکن نباشد.
چگونه ترانسفورماتور با رمزگذاری رسانه سازگار با پلتفرم ارتباط دارد؟
Transcoding رسانه سازگار یک ویژگی پلتفرم اندروید از Android 12 (سطح API 31) است که رسانه ها را تا یک دقیقه به فرمت های پشتیبانی شده توسط برنامه تبدیل می کند. اگر استفاده از این ویژگی را انتخاب کنید، خواندن یک فایل رسانه با فرمت ناسازگار باعث میشود که در صورت تقاضا رمزگذاری شود و نتیجه برای عملیاتهای خواندن بعدی ذخیره شود.
Transformer همچنین از تبدیل فرمت پشتیبانی می کند، اما به عنوان یک کتابخانه پشتیبانی در دسترس است و برنامه کنترل کاملی بر عملیات رمزگذاری دارد.
چگونه می توانم تاخیر صادرات را کاهش دهم یا توان عملیاتی را افزایش دهم؟
Transformer برای رمزگشایی و رمزگذاری با شتاب سخت افزاری به MediaCodec و برای پردازش فریم های ویدیویی OpenGL متکی است. بر اساس اندازهگیریهای ما بر روی دستگاههای معمولی، عامل محدودکننده در توان ترانسفورماتور، توان پردازشی سختافزار رمزگذار MediaCodec برای موارد استفاده بدون پردازش افکتهای سنگین است. این احتمالاً بر سایر پیاده سازی ها نیز به همین ترتیب تأثیر می گذارد. به عنوان مثال، ویژگی رمزگذاری سازگار با پلتفرم عملکردی مشابه ترانسفورماتور دارد.
پیشنمایش اشکالزدایی برنامه آزمایشی به طور قابلتوجهی توان عملیاتی را کاهش میدهد، بنابراین هنگام آزمایش با نسخه نسخهای از برنامه آزمایشی، ویژگی پیشنمایش را خاموش کنید تا ایده واقعی از عملکرد به دست آورید.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Troubleshooting\n\n- [Why can't I access local files in the demo app?](#local-files)\n- [Why does exporting fail on a specific device?](#device-specific)\n- [Does Transformer support transforming (or recording) remote media](#remote-media)\n- [Does Transformer support 8k input?](#8k-media)\n- [How does Transformer relate to platform compatible media transcoding?](#compatible-transcoding)\n- [How can I reduce export latency or increase throughput?](#throughput)\n\n*** ** * ** ***\n\n#### Why can't I access local files in the demo app?\n\n[Scoped storage enforcement](/about/versions/11/privacy/storage) from Android 11\n(API level 30) prevents direct file system access. For manual testing during\ndevelopment, it's possible to access local files by adding the manage external\nstorage permission in the demo app manifest: \n\n \u003cuses-permission android:name=\"android.permission.MANAGE_EXTERNAL_STORAGE\"/\u003e\n\nThen grant the permission via adb: \n\n```\nadb shell appops set --uid androidx.media3.demo.transformer \\\n MANAGE_EXTERNAL_STORAGE allow\n```\n\n#### Why does exporting fail on a specific device?\n\nPlease file an issue on the [Media3 issue\ntracker](https://github.com/androidx/media/issues) with enough information\nto reproduce the issue. Workarounds for device-specific issues can be added to\nthe library to improve compatibility over time.\n\n#### Does Transformer support transforming (or recording) remote media?\n\nTransformer supports remote progressive streams, including media file containers\nlike MP4.\n\nIn very poor network conditions, exporting may fail because buffering\nremote media for too long triggers checks in the muxer that are intended to\nidentify that the pipeline is stuck. You can override the default behavior by\nsetting `maxDelayBetweenMuxerSamplesMs` on `Transformer.Builder`: \n\n### Kotlin\n\n```kotlin\nTransformer.Builder(context)\n .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET)\n .build()\n```\n\n### Java\n\n```java\nnew Transformer.Builder(context)\n .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET)\n .build();\n```\n\n\u003cbr /\u003e\n\nPassing in `C.TIME_UNSET` removes the timeout entirely, but if your app runs on\nchipsets where `MediaCodec` can get stuck you may want to set a larger non-zero\ntimeout.\n| **[Known Issue #10943:](https://github.com/google/ExoPlayer/issues/10943)** Feature request to officially support transforming remote live streams with unknown duration using protocols like DASH and HLS.\n\n#### Does Transformer support 8k input?\n\nTransformer is implemented in a format-agnostic way, so it doesn't limit\nhandling of 8k video, but hardware capabilities on the device may mean that\nexporting can't succeed. For example, even on devices that can capture 8k,\nit might not be possible to decode and re-encode an 8k video due to exceeding\nthe available hardware codec or RAM resources.\n\n#### How does Transformer relate to platform compatible media transcoding?\n\n[Compatible media transcoding](/guide/topics/media-apps/video-app/compatible-media-transcoding)\nis an Android platform feature from Android 12 (API level 31) that converts\nmedia up to one minute in length into formats supported by the app. If you\nopt-in to using this feature, reading a media file in an incompatible format\ncauses it to be transcoded on demand, and the result is cached for later read\noperations.\n\nTransformer also supports [format\nconversion](/guide/topics/media/transformer/transformations?#transcode), but\nit's available as a support library and the app has full control over the\ntranscoding operation.\n\n#### How can I reduce export latency or increase throughput?\n\nTransformer relies on `MediaCodec` for hardware-accelerated decoding and\nencoding, and OpenGL for processing video frames. Based on our measurements on\ntypical devices, the limiting factor in Transformer's throughput is hardware\n`MediaCodec` encoder throughput for use cases without heavyweight effects\nprocessing. This is likely to impact other implementations in the same way. For\nexample, the platform compatible transcoding feature has similar performance to\nTransformer.\n\nThe demo app's debug preview significantly reduces throughput, so turn off the\npreview feature when testing with a release build of the demo app to get a\nrealistic idea of performance."]]