- ডেমো অ্যাপে আমি কেন স্থানীয় ফাইল অ্যাক্সেস করতে পারছি না?
- কেন একটি নির্দিষ্ট ডিভাইসে রপ্তানি ব্যর্থ হয়?
- ট্রান্সফরমার কি রিমোট মিডিয়া রূপান্তর (বা রেকর্ডিং) সমর্থন করে?
- ট্রান্সফরমার কি 8k ইনপুট সমর্থন করে?
- প্ল্যাটফর্ম সামঞ্জস্যপূর্ণ মিডিয়া ট্রান্সকোডিংয়ের সাথে ট্রান্সফরমার কীভাবে সম্পর্কিত?
- আমি কীভাবে রপ্তানি বিলম্বিতা কমাতে পারি বা থ্রুপুট বাড়াতে পারি?
ডেমো অ্যাপে আমি কেন স্থানীয় ফাইল অ্যাক্সেস করতে পারছি না?
অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) থেকে স্কোপড স্টোরেজ এনফোর্সমেন্ট সরাসরি ফাইল সিস্টেম অ্যাক্সেসকে বাধা দেয়। ডেভেলপমেন্টের সময় ম্যানুয়াল পরীক্ষার জন্য, ডেমো অ্যাপ ম্যানিফেস্টে ম্যানেজ এক্সটার্নাল স্টোরেজ অনুমতি যোগ করে স্থানীয় ফাইল অ্যাক্সেস করা সম্ভব:
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
তারপর adb এর মাধ্যমে অনুমতি দিন:
adb shell appops set --uid androidx.media3.demo.transformer \
MANAGE_EXTERNAL_STORAGE allow
কেন একটি নির্দিষ্ট ডিভাইসে রপ্তানি ব্যর্থ হয়?
সমস্যাটি পুনরুত্পাদন করার জন্য পর্যাপ্ত তথ্য সহ দয়া করে Media3 ইস্যু ট্র্যাকারে একটি সমস্যা ফাইল করুন। সময়ের সাথে সাথে সামঞ্জস্যতা উন্নত করার জন্য ডিভাইস-নির্দিষ্ট সমস্যার সমাধান লাইব্রেরিতে যোগ করা যেতে পারে।
ট্রান্সফরমার কি রিমোট মিডিয়া ট্রান্সফর্মিং (বা রেকর্ডিং) সমর্থন করে?
ট্রান্সফরমার দূরবর্তী প্রগতিশীল স্ট্রিম সমর্থন করে, যার মধ্যে MP4 এর মতো মিডিয়া ফাইল কন্টেইনারও রয়েছে।
খুব খারাপ নেটওয়ার্ক পরিস্থিতিতে, এক্সপোর্ট ব্যর্থ হতে পারে কারণ রিমোট মিডিয়া খুব বেশি সময় ধরে বাফার করার ফলে muxer-এ চেক ট্রিগার হয় যা পাইপলাইন আটকে আছে কিনা তা সনাক্ত করার উদ্দেশ্যে করা হয়। আপনি Transformer.Builder এ maxDelayBetweenMuxerSamplesMs সেট করে ডিফল্ট আচরণকে ওভাররাইড করতে পারেন:
কোটলিন
Transformer.Builder(context).setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET).build()
জাভা
new Transformer.Builder(context).setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET).build();
C.TIME_UNSET পাস করলে টাইমআউট সম্পূর্ণভাবে দূর হয়ে যায়, কিন্তু যদি আপনার অ্যাপটি এমন চিপসেটে চলে যেখানে MediaCodec আটকে যেতে পারে, তাহলে আপনি একটি বৃহত্তর নন-জিরো টাইমআউট সেট করতে চাইতে পারেন।
ট্রান্সফরমার কি 8k ইনপুট সমর্থন করে?
ট্রান্সফরমারটি একটি ফর্ম্যাট-অ্যাগনস্টিক পদ্ধতিতে বাস্তবায়িত হয়, তাই এটি 8k ভিডিও পরিচালনা সীমিত করে না, তবে ডিভাইসে হার্ডওয়্যার ক্ষমতার অর্থ হতে পারে যে রপ্তানি সফল হতে পারে না। উদাহরণস্বরূপ, এমনকি 8k ক্যাপচার করতে পারে এমন ডিভাইসগুলিতেও, উপলব্ধ হার্ডওয়্যার কোডেক বা RAM রিসোর্স অতিক্রম করার কারণে 8k ভিডিও ডিকোড এবং পুনরায় এনকোড করা সম্ভব নাও হতে পারে।
প্ল্যাটফর্ম সামঞ্জস্যপূর্ণ মিডিয়া ট্রান্সকোডিংয়ের সাথে ট্রান্সফরমার কীভাবে সম্পর্কিত?
সামঞ্জস্যপূর্ণ মিডিয়া ট্রান্সকোডিং হল অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এর একটি অ্যান্ড্রয়েড প্ল্যাটফর্ম বৈশিষ্ট্য যা এক মিনিট পর্যন্ত দৈর্ঘ্যের মিডিয়াকে অ্যাপ দ্বারা সমর্থিত ফর্ম্যাটে রূপান্তর করে। আপনি যদি এই বৈশিষ্ট্যটি ব্যবহার করতে অপ্ট-ইন করেন, তাহলে একটি মিডিয়া ফাইলকে একটি অসঙ্গত ফর্ম্যাটে পড়ার ফলে এটি চাহিদা অনুসারে ট্রান্সকোড করা হবে এবং ফলাফলটি পরবর্তী পঠন ক্রিয়াকলাপের জন্য ক্যাশে করা হবে।
ট্রান্সফরমার ফরম্যাট কনভার্সনও সমর্থন করে, তবে এটি একটি সাপোর্ট লাইব্রেরি হিসেবে উপলব্ধ এবং ট্রান্সকোডিং অপারেশনের উপর অ্যাপটির সম্পূর্ণ নিয়ন্ত্রণ রয়েছে।
আমি কীভাবে রপ্তানি বিলম্বিতা কমাতে পারি বা থ্রুপুট বাড়াতে পারি?
হার্ডওয়্যার-অ্যাক্সিলারেটেড ডিকোডিং এবং এনকোডিংয়ের জন্য ট্রান্সফরমার MediaCodec এবং ভিডিও ফ্রেম প্রক্রিয়াকরণের জন্য ওপেনজিএল নির্ভর করে। সাধারণ ডিভাইসগুলিতে আমাদের পরিমাপের উপর ভিত্তি করে, ট্রান্সফরমারের থ্রুপুটের সীমাবদ্ধ ফ্যাক্টর হল ভারী প্রভাব প্রক্রিয়াকরণ ছাড়াই ব্যবহারের ক্ষেত্রে হার্ডওয়্যার MediaCodec এনকোডার থ্রুপুট। এটি অন্যান্য বাস্তবায়নগুলিকে একইভাবে প্রভাবিত করার সম্ভাবনা রয়েছে। উদাহরণস্বরূপ, প্ল্যাটফর্ম সামঞ্জস্যপূর্ণ ট্রান্সকোডিং বৈশিষ্ট্যটির ট্রান্সফরমারের মতোই কর্মক্ষমতা রয়েছে।
ডেমো অ্যাপের ডিবাগ প্রিভিউ উল্লেখযোগ্যভাবে থ্রুপুট কমিয়ে দেয়, তাই পারফরম্যান্সের বাস্তবসম্মত ধারণা পেতে ডেমো অ্যাপের রিলিজ বিল্ড দিয়ে পরীক্ষা করার সময় প্রিভিউ বৈশিষ্ট্যটি বন্ধ করে দিন।