- আমি কেন ডেমো অ্যাপে স্থানীয় ফাইল অ্যাক্সেস করতে পারছি না?
- নির্দিষ্ট ডিভাইসে এক্সপোর্ট করা যায় না কেন?
- Transformer কি রিমোট মিডিয়া ট্রান্সফর্ম (বা রেকর্ড) করতে পারে
- Transformer কি 8k ইনপুট সাপোর্ট করে?
- প্ল্যাটফর্মের সাথে মানানসই মিডিয়া ট্রান্সকোডিংয়ের সাথে Transformer কীভাবে সম্পর্কিত?
- আমি কীভাবে এক্সপোর্ট লেটেন্সি কমাতে বা থ্রুপুট বাড়াতে পারি?
আমি কেন ডেমো অ্যাপে স্থানীয় ফাইল অ্যাক্সেস করতে পারছি না?
Android 11 (API লেভেল 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 সমস্যা ট্র্যাকার-এ একটি সমস্যা ফাইল করুন। ডিভাইস-নির্দিষ্ট সমস্যার সমাধান লাইব্রেরিতে যোগ করা যেতে পারে যাতে সময়ের সাথে সাথে মানানসই হওয়ার বিষয়টি উন্নত করা যায়।
Transformer কি রিমোট মিডিয়া ট্রান্সফর্ম (বা রেকর্ড) করতে পারে?
Transformer, MP4-এর মতো মিডিয়া ফাইল কন্টেনার সহ রিমোট প্রোগ্রেসিভ স্ট্রিম কাজ করে।
নেটওয়ার্কের অবস্থা খুব খারাপ হলে, এক্সপোর্ট করা যাবে না কারণ বাফারিং
রিমোট মিডিয়া অনেকক্ষণ ধরে করলে, মিক্সারে চেক ট্রিগার হয় যা পাইপলাইন আটকে গেছে কিনা তা
শনাক্ত করার জন্য করা হয়। আপনি ডিফল্ট আচরণ ওভাররাইড করতে পারেন
Transformer.Builder চালু maxDelayBetweenMuxerSamplesMs করে:
Kotlin
Transformer.Builder(context).setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET).build()
জাভা
new Transformer.Builder(context).setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET).build();
C.TIME_UNSET পাস করলে টাইম-আউট সম্পূর্ণ সরিয়ে দেওয়া হয়, কিন্তু আপনার অ্যাপ যদি এমন চিপসেটে চলে যেখানে MediaCodec আটকে যেতে পারে, তাহলে আপনি শূন্য নয় এমন বড়
টাইম-আউট সেট করতে পারেন।
Transformer কি 8k ইনপুট সাপোর্ট করে?
Transformer-কে ফর্ম্যাট-অ্যাগনস্টিক উপায়ে প্রয়োগ করা হয়, তাই এটি 8k ভিডিও হ্যান্ডেল করাকে সীমিত করে না, তবে ডিভাইসের হার্ডওয়্যার সংক্রান্ত ক্ষমতার অর্থ হতে পারে যে এক্সপোর্ট করা সফল হবে না। যেমন, 8k ক্যাপচার করতে পারে এমন ডিভাইসেও, উপলভ্য হার্ডওয়্যার কোডেক বা RAM রিসোর্স পেরিয়ে যাওয়ার কারণে 8k ভিডিও ডিকোড ও আবার এনকোড করা সম্ভব নাও হতে পারে।
প্ল্যাটফর্মের সাথে মানানসই মিডিয়া ট্রান্সকোডিংয়ের সাথে Transformer কীভাবে সম্পর্কিত?
মানানসই মিডিয়া ট্রান্সকোডিং হল Android 12 (API লেভেল ৩১) থেকে Android প্ল্যাটফর্মের একটি ফিচার যা এক মিনিট পর্যন্ত দৈর্ঘ্যের মিডিয়াকে অ্যাপের সাথে মানানসই ফর্ম্যাটে কনভার্ট করে। আপনি এই ফিচার ব্যবহার করার জন্য অপ্ট-ইন করলে, মানানসই নয় এমন ফর্ম্যাটে মিডিয়া ফাইল রিড করার ফলে সেটি চাহিদা অনুযায়ী ট্রান্সকোড করা হয় এবং ফলাফলটি পরে রিড অপারেশনের জন্য ক্যাশে করা হয়।
Transformer ফর্ম্যাট পরিবর্তনও করতে পারে, তবে এটি একটি সহায়তা লাইব্রেরি হিসেবে উপলভ্য এবং অ্যাপের কাছে ট্রান্সকোডিং অপারেশনের সম্পূর্ণ কন্ট্রোল থাকে।
আমি কীভাবে এক্সপোর্ট লেটেন্সি কমাতে বা থ্রুপুট বাড়াতে পারি?
হার্ডওয়্যার-অ্যাক্সিলারেটেড ডিকোডিং ও
এনকোডিংয়ের জন্য Transformer MediaCodec-এর উপর এবং ভিডিও ফ্রেম প্রসেস করার জন্য OpenGL-এর উপর নির্ভর করে। সাধারণ ডিভাইসে
আমাদের পরিমাপের ভিত্তিতে, Transformer-এর থ্রুপুটের সীমাবদ্ধতা হল হার্ডওয়্যার
MediaCodec এনকোডার থ্রুপুট, যা হেভিওয়েট প্রভাব
প্রসেসিং ছাড়া ব্যবহারের ক্ষেত্রে প্রযোজ্য। এটি একই পদ্ধতিতে অন্যান্য প্রয়োগের উপর প্রভাব ফেলতে পারে। যেমন, প্ল্যাটফর্মের সাথে মানানসই ট্রান্সকোডিং ফিচারের পারফর্ম্যান্স Transformer-এর
মতোই হয়।
ডেমো অ্যাপের ডিবাগ প্রিভিউ থ্রুপুট উল্লেখযোগ্যভাবে কমিয়ে দেয়, তাই পারফর্ম্যান্সের বাস্তব ধারণা পেতে ডেমো অ্যাপের রিলিজ বিল্ড দিয়ে পরীক্ষা করার সময় প্রিভিউ ফিচার বন্ধ করে দিন।