Meet Media API-এর জন্য ভিডিও কোডেক প্রয়োজনীয়তা

এই পৃষ্ঠাটি একটি ভাল ব্যবহারকারীর অভিজ্ঞতা নিশ্চিত করতে Google Meet Media API ক্লায়েন্ট ভিডিও কোডেকগুলির জন্য প্রাথমিক প্রয়োজনীয়তা প্রদান করে।

কার্যকরী প্রয়োজনীয়তা

এই বিভাগে কোডেক প্রকার এবং বৈশিষ্ট্যগুলির জন্য প্রয়োজনীয়তাগুলি নির্দিষ্ট করে৷

বৈশিষ্ট্য প্রয়োজনীয়তা
প্রোফাইল AV1 VP9 VP8
Main Profile 0 N/A
পরিমাপযোগ্যতা প্রদত্ত কোডেক প্রকার এবং প্রোফাইলের জন্য কোডিং স্পেসিফিকেশন দ্বারা প্রয়োজন হলে ডিকোডারকে টেম্পোরাল স্কেলেবিলিটি, স্থানিক মাপযোগ্যতা, বা উভয়কেই সমর্থন করতে হবে।
কাঁচা ভিডিও বিন্যাস

কোডেক অবশ্যই বিজোড় রেজোলিউশন প্রক্রিয়া করতে সক্ষম হতে হবে (যেমন যখন ফ্রেমের প্রস্থ বা উচ্চতা 2 এর একাধিক নয়; উদাহরণস্বরূপ, 133 × 141)। সাবস্যাম্পড ক্রোমা ফরম্যাটের জন্য, লুমা নমুনার সংখ্যা থেকে প্রাপ্ত হলে প্রতি মাত্রার ক্রোমা নমুনার সংখ্যাকে পূর্ণাঙ্গ করতে হবে।

ক্রপিং, প্যাডিং বা স্কেলিং অনুমোদিত নয়। আউটপুট ফ্রেমের রেজোলিউশন অবশ্যই ইনপুট ফ্রেমের রেজোলিউশনের সাথে মিলবে।

অপারেশনাল প্রয়োজনীয়তা

এই বিভাগটি ভিডিও কোডেকটি পরিচালনা করার জন্য প্রত্যাশিত বিভিন্ন শর্তগুলির জন্য প্রয়োজনীয়তাগুলি নির্দিষ্ট করে৷ এই প্রয়োজনীয়তাগুলির লঙ্ঘন কোডেকটির ব্যবহারকে পরিস্থিতির একটি উপসেটে সীমিত করতে পারে তবে অগত্যা এটিকে ব্যবহার করা থেকে বাধা দেয় না৷ উদাহরণস্বরূপ, যদি সর্বাধিক সংখ্যক কোডেক দৃষ্টান্ত প্রয়োজনের চেয়ে কম হয়, তবে কোডেক এখনও অন্যান্য ধরণের কোডেক বা বাস্তবায়নের সাথে একসাথে ব্যবহার করা যেতে পারে।

প্যারামিটার প্রয়োজনীয়তা
ন্যূনতম রেজোলিউশন, পিক্সেল ≤ 128 × 128
সর্বোচ্চ রেজোলিউশন, পিক্সেল ≥ 2880 × 1800
ন্যূনতম ফ্রেম রেট, FPS ≤ 1
সর্বোচ্চ ফ্রেম রেট, FPS ≥ ৩০
ন্যূনতম বিটরেট, কেবিপিএস ≤ ৩০
সর্বোচ্চ বিটরেট, কেবিপিএস ≥ 5000
সর্বাধিক ডিকোডার উদাহরণ ≥ ৩
সর্বাধিক মোট ডিকোড থ্রুপুট, প্রতি সেকেন্ডে পিক্সেল ≥ 3 × 2880 × 1880 × 30

কর্মক্ষমতা প্রয়োজনীয়তা

এই বিভাগ কোডেক কর্মক্ষমতা উপর প্রয়োজনীয়তা নির্দিষ্ট করে. এই প্রয়োজনীয়তাগুলির লঙ্ঘন ব্যবহারকারীর অভিজ্ঞতাকে উল্লেখযোগ্যভাবে প্রভাবিত করতে পারে এবং প্রায় অবশ্যই কোডেক ব্যবহারকে অবরুদ্ধ করবে।

প্যারামিটার প্রয়োজনীয়তা
সর্বাধিক ইন্টার ফ্রেম প্রক্রিয়াকরণ সময়, সেকেন্ড1 / max(30, encode_target_frame_rate_fps)
সর্বাধিক কী ফ্রেম প্রক্রিয়াকরণ সময়, সেকেন্ড2 / max(30, encode_target_frame_rate_fps)

ফ্রেম প্রক্রিয়াকরণ সময় হল দুটি ইভেন্টের মধ্যে সময়ের পার্থক্য: 1) কোডেক ফ্রেম বিতরণ করে এবং 2) কোডেক ফ্রেম গ্রহণ করে। গড় ফ্রেম প্রক্রিয়াকরণ সময় কমপক্ষে 10 সেকেন্ড সময়কালের একটি স্লাইডিং উইন্ডোতে গণনা করা হয় যাতে কমপক্ষে 10টি ফ্রেম থাকে। সর্বাধিক ফ্রেম প্রক্রিয়াকরণ সময় সমস্ত পৃথক ফ্রেম প্রক্রিয়াকরণ সময়ের মানগুলির মধ্যে সর্বোচ্চ মান।

থ্রুপুট গণনা করা হয় প্রক্রিয়াকৃত ফ্রেমের সংখ্যা হিসাবে, ড্রপ হওয়াগুলি সহ, দুটি ইভেন্টের মধ্যে সময় ডেল্টা দ্বারা ভাগ করা হয়: 1) কোডেক শেষ ফ্রেমটি সরবরাহ করে এবং 2) কোডেক প্রথম ফ্রেমটি সরবরাহ করে।

টেস্ট কেস

নিম্নলিখিত পরীক্ষার ক্ষেত্রে আপনি ব্যবহার করতে পারেন:

টেস্ট
ডিকোড থ্রুপুট একই সাথে তিনটি 2880 × 1880 × 30 স্ট্রীম পর্যন্ত ডিকোড করুন এবং ডিকোডারগুলি কর্মক্ষমতা প্রয়োজনীয়তা লঙ্ঘন করে না তা যাচাই করুন৷
ডিকোডার কনফার্মেন্স প্রাক-এনকোড করা বিটস্ট্রিমগুলির একটি সেট ডিকোড করুন। পরীক্ষার ডিকোডারের আউটপুট অবশ্যই একটি রেফারেন্স ডিকোডারের আউটপুটের সাথে মেলে (VP8 এবং VP9 এর জন্য libvpx , AV1 এর জন্য libaom )।
টেম্পোরাল স্কেলেবিলিটি একাধিক টেম্পোরাল লেয়ার (2 এবং 3) সহ ভিডিও ডিকোড করুন। টেস্ট ডিকোডারের আউটপুট অবশ্যই রেফারেন্স ডিকোডারের আউটপুটের সাথে মেলে।
স্থানিক মাপযোগ্যতা একাধিক স্থানিক স্তর (2 এবং 3) সহ ভিডিও ডিকোড করুন। টেস্ট ডিকোডারের আউটপুট অবশ্যই রেফারেন্স ডিকোডারের আউটপুটের সাথে মেলে।