با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
این صفحه الزامات اولیه کدکهای ویدیویی سرویس گیرنده Google Meet Media API را برای اطمینان از تجربه کاربری خوب ارائه میکند.
الزامات عملکردی
این بخش الزامات انواع کدک ها و ویژگی ها را مشخص می کند.
ویژگی
مورد نیاز
نمایه
AV1
VP9
VP8
Main
Profile 0
N/A
مقیاس پذیری
رسیور باید مقیاس پذیری زمانی، مقیاس پذیری فضایی یا هر دو را در صورت نیاز به مشخصات کدگذاری برای نوع و مشخصات کدک معین پشتیبانی کند.
فرمت ویدیویی خام
کدک باید توانایی پردازش رزولوشن های عجیب و غریب را داشته باشد (مانند زمانی که عرض یا ارتفاع فریم مضرب 2 نیست؛ به عنوان مثال، 133 × 141). برای قالبهای رنگی زیرنمونهشده، وقتی از تعداد نمونههای لوما به دست میآید، تعداد نمونههای کروما در هر بعد باید به سمت بالا گرد شود.
برش، لایه برداری یا پوسته پوسته شدن مجاز نیست. وضوح فریم خروجی باید با وضوح فریم ورودی مطابقت داشته باشد.
الزامات عملیاتی
این بخش الزامات شرایط مختلفی را مشخص میکند که انتظار میرود کدک ویدیویی در آنها کار کند. نقض این الزامات ممکن است استفاده از کدک را به زیر مجموعهای از سناریوها محدود کند، اما لزوماً مانع استفاده از آن نمیشود. برای مثال، اگر حداکثر تعداد نمونههای کدک کمتر از حد مورد نیاز باشد، کدک همچنان میتواند همراه با کدکهایی از انواع دیگر یا پیادهسازی استفاده شود.
پارامتر
مورد نیاز
حداقل وضوح، پیکسل
≤ 128 × 128
حداکثر وضوح، پیکسل
≥ 2880 × 1800
حداقل نرخ فریم، FPS
≤ 1
حداکثر نرخ فریم، FPS
≥ 30
حداقل نرخ بیت، کیلوبیت بر ثانیه
≤ 30
حداکثر نرخ بیت، کیلوبیت بر ثانیه
≥ 5000
حداکثر نمونه های رمزگشا
≥ 3
حداکثر توان رمزگشایی کل، پیکسل در ثانیه
≥ 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 را به طور همزمان رمزگشایی کنید و بررسی کنید که رمزگشاها الزامات عملکرد را نقض نمی کنند.
انطباق رمزگشا
مجموعه ای از جریان های بیتی از پیش رمزگذاری شده را رمزگشایی کنید. خروجی رمزگشای آزمایشی باید با خروجی رمزگشای مرجع مطابقت داشته باشد ( libvpx برای VP8 و VP9، libaom برای AV1).
مقیاس پذیری زمانی
رمزگشایی ویدیو با چندین لایه زمانی (2 و 3). خروجی رسیور آزمایشی باید با خروجی رسیور مرجع مطابقت داشته باشد.
مقیاس پذیری فضایی
رمزگشایی ویدیو با چندین لایه فضایی (2 و 3). خروجی رسیور آزمایشی باید با خروجی رسیور مرجع مطابقت داشته باشد.
تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Video codec requirements for Meet Media API\n\n| **Developer Preview:** Available as part of the [Google Workspace Developer Preview Program](https://developers.google.com/workspace/preview), which grants early access to certain features. \n|\n| **To use the Meet Media API to access real-time media from a conference, the Google Cloud project, OAuth principal, and all participants in the conference must be enrolled in the Developer Preview Program.**\n\nThis page provides the basic requirements for Google Meet Media API client video\ncodecs to ensure a good user experience.\n\nFunctional requirements\n-----------------------\n\nThis section specifies the requirements for the codec types and features.\n\n| Feature | Requirement |||\n|------------------|--------|-------------|-----|\n| Profile | AV1 | VP9 | VP8 |\n| Profile | `Main` | `Profile 0` | N/A |\n| Scalability | Decoder must support temporal scalability, spatial scalability, or both if required by the coding specification for given codec type and profile. |||\n| Raw video format | Codec must be capable of processing odd resolutions (such as when frame width or height are not multiple of 2; for example, 133 × 141). For subsampled chroma formats, the number of chroma samples per dimension must be rounded up when derived from the number of luma samples. Cropping, padding, or scaling isn't allowed. Resolution of the output frame must match the resolution of the input frame. |||\n\nOperational requirements\n------------------------\n\nThis section specifies requirements for various conditions the video codec is\nexpected to operate in. Violation of these requirements may restrict the usage\nof the codec to a subset of scenarios but doesn't necessarily prevent it from\nbeing used. For example, if the maximum number of codec instances is less than\nrequired, the codec can still be used together with codecs of other types or\nimplementations.\n\n| Parameter | Requirement |\n|----------------------------------------------------|---------------|---|---|---|\n| Minimum resolution, pixels | ≤ 128 × 128 |\n| Maximum resolution, pixels | ≥ 2880 × 1800 |\n| Minimum frame rate, FPS | ≤ 1 |\n| Maximum frame rate, FPS | ≥ 30 |\n| Minimum bitrate, kbps | ≤ 30 |\n| Maximum bitrate, kbps | ≥ 5000 |\n| Maximum decoder instances | ≥ 3 |\n| Maximum total decode throughput, pixels per second | ≥ 3 × 2880 × 1880 × 30 ||||\n\nPerformance requirements\n------------------------\n\nThis section specifies the requirements on codec performance. Violation of these\nrequirements may significantly impact the user experience and will almost\ncertainly block the usage of the codec.\n\n| Parameter | Requirement |\n|----------------------------------------------|-----------------------------------------------|\n| Maximum inter frame processing time, seconds | ≤ `1 / max(30, encode_target_frame_rate_fps)` |\n| Maximum key frame processing time, seconds | ≤ `2 / max(30, encode_target_frame_rate_fps)` |\n\nThe frame processing time is the time difference between two events: 1) codec\ndelivers the frame and 2) codec receives the frame. The average frame processing\ntime is calculated over a sliding window of at least **10 seconds** duration\nholding at least **10 frames**. The maximum frame processing time is the highest\nvalue among all individual frame processing time values.\n\nThe throughput is calculated as the number of processed frames, including\ndropped ones, divided by time delta between the two events: 1) codec delivers\nthe last frame and 2) codec delivers the first frame.\n\nTest cases\n----------\n\nThe following are test cases you can use:\n\n| Tests |\n|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Decode throughput | Decode up to three 2880 × 1880 × 30 streams simultaneously and verify that decoders don't violate the performance requirements. |\n| Decoder conformance | Decode a set of pre-encoded bitstreams. The output of the test decoder must match the output of a reference decoder (`libvpx` for VP8 \\& VP9, `libaom` for AV1). |\n| Temporal scalability | Decode video with multiple temporal layers (2 and 3). The output of the test decoder must match the output of the reference decoder. |\n| Spatial scalability | Decode video with multiple spatial layers (2 and 3). The output of the test decoder must match the output of the reference decoder. |\n\nRelated topics\n--------------\n\n- [Get started with Meet Media API](/workspace/meet/media-api/guides/get-started)"]]