این صفحه الزامات اساسی برای کدکهای ویدیویی کلاینت Google Meet Media API را برای تضمین یک تجربه کاربری خوب ارائه میدهد.
الزامات عملکردی
این بخش الزامات مربوط به انواع و ویژگیهای کدک را مشخص میکند.
| ویژگی | مورد نیاز | ||
|---|---|---|---|
| پروفایل | AV1 | وی پی۹ | وی پی ۸ |
Main | Profile 0 | ناموجود | |
| مقیاسپذیری | رمزگشا باید از مقیاسپذیری زمانی، مقیاسپذیری مکانی یا هر دو پشتیبانی کند، در صورتی که مشخصات کدگذاری برای نوع و مشخصات کدک داده شده، آن را الزامی بداند. | ||
| فرمت ویدیوی خام | کدک باید قادر به پردازش رزولوشنهای فرد باشد (مانند زمانی که عرض یا ارتفاع فریم مضربی از ۲ نباشد؛ برای مثال، ۱۳۳ × ۱۴۱). برای فرمتهای کروما نمونهبرداریشده، تعداد نمونههای کروما در هر بعد باید هنگام استخراج از تعداد نمونههای لوما، گرد شود. برش، حاشیهگذاری یا تغییر اندازه مجاز نیست. وضوح فریم خروجی باید با وضوح فریم ورودی مطابقت داشته باشد. | ||
الزامات عملیاتی
این بخش الزامات مربوط به شرایط مختلفی را که انتظار میرود کدک ویدیویی در آنها عمل کند، مشخص میکند. نقض این الزامات ممکن است استفاده از کدک را به زیرمجموعهای از سناریوها محدود کند، اما لزوماً مانع از استفاده از آن نمیشود. به عنوان مثال، اگر حداکثر تعداد نمونههای کدک کمتر از حد مورد نیاز باشد، کدک همچنان میتواند همراه با کدکهایی از انواع یا پیادهسازیهای دیگر استفاده شود.
| پارامتر | مورد نیاز | |||
|---|---|---|---|---|
| حداقل وضوح تصویر، پیکسل | ۱۲۸ × ۱۲۸ ≤ | |||
| حداکثر وضوح، پیکسل | ≥ ۲۸۸۰ × ۱۸۰۰ | |||
| حداقل نرخ فریم، FPS | ≤ ۱ | |||
| حداکثر نرخ فریم، FPS | ≥ 30 | |||
| حداقل بیت ریت، کیلوبیت بر ثانیه | ≤ 30 | |||
| حداکثر بیت ریت، کیلوبیت بر ثانیه | ۵۰۰۰ پوند | |||
| حداکثر نمونههای رمزگشا | ۳ پوند یا بیشتر | |||
| حداکثر توان عملیاتی رمزگشایی کل، پیکسل در ثانیه | ≥ ۳ × ۲۸۸۰ × ۱۸۸۰ × ۳۰ | |||
الزامات عملکرد
این بخش الزامات مربوط به عملکرد کدک را مشخص میکند. نقض این الزامات ممکن است به طور قابل توجهی بر تجربه کاربر تأثیر بگذارد و تقریباً مطمئناً استفاده از کدک را مسدود خواهد کرد.
| پارامتر | مورد نیاز |
|---|---|
| حداکثر زمان پردازش بین فریمها، ثانیه | ≤ 1 / max(30, encode_target_frame_rate_fps) |
| حداکثر زمان پردازش فریم کلیدی، ثانیه | ≤ 2 / max(30, encode_target_frame_rate_fps) |
زمان پردازش فریم، اختلاف زمانی بین دو رویداد است: ۱) کدک فریم را تحویل میدهد و ۲) کدک فریم را دریافت میکند. میانگین زمان پردازش فریم در یک پنجره کشویی با مدت زمان حداقل ۱۰ ثانیه و با حداقل ۱۰ فریم محاسبه میشود. حداکثر زمان پردازش فریم، بالاترین مقدار در بین تمام مقادیر زمان پردازش فریمهای منفرد است.
توان عملیاتی به صورت تعداد فریمهای پردازششده، شامل فریمهای از دست رفته، تقسیم بر دلتای زمانی بین دو رویداد محاسبه میشود: ۱) کدک آخرین فریم را تحویل میدهد و ۲) کدک اولین فریم را تحویل میدهد.
موارد آزمایش
موارد آزمایشی که میتوانید استفاده کنید عبارتند از:
| آزمایشها | |
|---|---|
| توان عملیاتی رمزگشایی | حداکثر سه جریان ۲۸۸۰ × ۱۸۸۰ × ۳۰ را به طور همزمان رمزگشایی کنید و تأیید کنید که رمزگشاها الزامات عملکرد را نقض نمیکنند. |
| انطباق با رمزگشا | رمزگشایی مجموعهای از جریانهای بیتی از پیش رمزگذاری شده. خروجی رمزگشای آزمایشی باید با خروجی یک رمزگشای مرجع ( libvpx برای VP8 و VP9، libaom برای AV1) مطابقت داشته باشد. |
| مقیاسپذیری زمانی | رمزگشایی ویدیو با چندین لایه زمانی (۲ و ۳). خروجی رمزگشای آزمایشی باید با خروجی رمزگشای مرجع مطابقت داشته باشد. |
| مقیاسپذیری مکانی | رمزگشایی ویدیو با چندین لایه مکانی (۲ و ۳). خروجی رمزگشای آزمایشی باید با خروجی رمزگشای مرجع مطابقت داشته باشد. |
مباحث مرتبط
،این صفحه الزامات اساسی برای کدکهای ویدیویی کلاینت Google Meet Media API را برای تضمین یک تجربه کاربری خوب ارائه میدهد.
الزامات عملکردی
این بخش الزامات مربوط به انواع و ویژگیهای کدک را مشخص میکند.
| ویژگی | مورد نیاز | ||
|---|---|---|---|
| پروفایل | AV1 | وی پی۹ | وی پی ۸ |
Main | Profile 0 | ناموجود | |
| مقیاسپذیری | رمزگشا باید از مقیاسپذیری زمانی، مقیاسپذیری مکانی یا هر دو پشتیبانی کند، در صورتی که مشخصات کدگذاری برای نوع و مشخصات کدک داده شده، آن را الزامی بداند. | ||
| فرمت ویدیوی خام | کدک باید قادر به پردازش رزولوشنهای فرد باشد (مانند زمانی که عرض یا ارتفاع فریم مضربی از ۲ نباشد؛ برای مثال، ۱۳۳ × ۱۴۱). برای فرمتهای کروما نمونهبرداریشده، تعداد نمونههای کروما در هر بعد باید هنگام استخراج از تعداد نمونههای لوما، گرد شود. برش، حاشیهگذاری یا تغییر اندازه مجاز نیست. وضوح فریم خروجی باید با وضوح فریم ورودی مطابقت داشته باشد. | ||
الزامات عملیاتی
این بخش الزامات مربوط به شرایط مختلفی را که انتظار میرود کدک ویدیویی در آنها عمل کند، مشخص میکند. نقض این الزامات ممکن است استفاده از کدک را به زیرمجموعهای از سناریوها محدود کند، اما لزوماً مانع از استفاده از آن نمیشود. به عنوان مثال، اگر حداکثر تعداد نمونههای کدک کمتر از حد مورد نیاز باشد، کدک همچنان میتواند همراه با کدکهایی از انواع یا پیادهسازیهای دیگر استفاده شود.
| پارامتر | مورد نیاز | |||
|---|---|---|---|---|
| حداقل وضوح تصویر، پیکسل | ۱۲۸ × ۱۲۸ ≤ | |||
| حداکثر وضوح، پیکسل | ≥ ۲۸۸۰ × ۱۸۰۰ | |||
| حداقل نرخ فریم، FPS | ≤ ۱ | |||
| حداکثر نرخ فریم، FPS | ≥ 30 | |||
| حداقل بیت ریت، کیلوبیت بر ثانیه | ≤ 30 | |||
| حداکثر بیت ریت، کیلوبیت بر ثانیه | ۵۰۰۰ پوند | |||
| حداکثر نمونههای رمزگشا | ۳ پوند یا بیشتر | |||
| حداکثر توان عملیاتی رمزگشایی کل، پیکسل در ثانیه | ≥ ۳ × ۲۸۸۰ × ۱۸۸۰ × ۳۰ | |||
الزامات عملکرد
این بخش الزامات مربوط به عملکرد کدک را مشخص میکند. نقض این الزامات ممکن است به طور قابل توجهی بر تجربه کاربر تأثیر بگذارد و تقریباً مطمئناً استفاده از کدک را مسدود خواهد کرد.
| پارامتر | مورد نیاز |
|---|---|
| حداکثر زمان پردازش بین فریمها، ثانیه | ≤ 1 / max(30, encode_target_frame_rate_fps) |
| حداکثر زمان پردازش فریم کلیدی، ثانیه | ≤ 2 / max(30, encode_target_frame_rate_fps) |
زمان پردازش فریم، اختلاف زمانی بین دو رویداد است: ۱) کدک فریم را تحویل میدهد و ۲) کدک فریم را دریافت میکند. میانگین زمان پردازش فریم در یک پنجره کشویی با مدت زمان حداقل ۱۰ ثانیه و با حداقل ۱۰ فریم محاسبه میشود. حداکثر زمان پردازش فریم، بالاترین مقدار در بین تمام مقادیر زمان پردازش فریمهای منفرد است.
توان عملیاتی به صورت تعداد فریمهای پردازششده، شامل فریمهای از دست رفته، تقسیم بر دلتای زمانی بین دو رویداد محاسبه میشود: ۱) کدک آخرین فریم را تحویل میدهد و ۲) کدک اولین فریم را تحویل میدهد.
موارد آزمایش
موارد آزمایشی که میتوانید استفاده کنید عبارتند از:
| آزمایشها | |
|---|---|
| توان عملیاتی رمزگشایی | حداکثر سه جریان ۲۸۸۰ × ۱۸۸۰ × ۳۰ را به طور همزمان رمزگشایی کنید و تأیید کنید که رمزگشاها الزامات عملکرد را نقض نمیکنند. |
| انطباق با رمزگشا | رمزگشایی مجموعهای از جریانهای بیتی از پیش رمزگذاری شده. خروجی رمزگشای آزمایشی باید با خروجی یک رمزگشای مرجع ( libvpx برای VP8 و VP9، libaom برای AV1) مطابقت داشته باشد. |
| مقیاسپذیری زمانی | رمزگشایی ویدیو با چندین لایه زمانی (۲ و ۳). خروجی رمزگشای آزمایشی باید با خروجی رمزگشای مرجع مطابقت داشته باشد. |
| مقیاسپذیری مکانی | رمزگشایی ویدیو با چندین لایه مکانی (۲ و ۳). خروجی رمزگشای آزمایشی باید با خروجی رمزگشای مرجع مطابقت داشته باشد. |