Meet Media API 的影片編碼器規定
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
本頁面提供 Google Meet Media API 用戶端影片轉碼器的基本規定,確保使用者享有良好體驗。
功能需求
本節將說明轉碼器類型和功能的相關規定。
功能 |
規定 |
個人資料 |
AV1 |
VP9 |
VP8 |
Main |
Profile 0 |
無 |
擴充性 |
如果特定轉碼器類型和設定檔的編碼規格要求解碼器支援時間可擴縮性、空間可擴縮性或兩者,解碼器就必須支援。 |
原始影片格式 |
編解碼器必須能夠處理奇數解析度 (例如影格寬度或高度不是 2 的倍數,例如 133 × 141)。如果是色度次取樣格式,從亮度樣本數衍生而來的每個維度色度樣本數,都必須向上取整。
不得裁剪、填補或縮放。輸出影格的解析度必須與輸入影格的解析度相符。
|
作業需求
本節會針對影片轉碼器預期運作的各種條件,指定相關需求。違反這些規定可能會限制編解碼器在部分情境中的使用,但不一定會禁止使用。舉例來說,如果編解碼器執行個體數量上限少於必要數量,編解碼器仍可與其他類型或實作的編解碼器搭配使用。
參數 |
規定 |
最低解析度 (像素) |
≤ 128 × 128 |
最高解析度 (像素) |
≥ 2880 × 1800 |
最低影格速率 (每秒影格數) |
≤ 1 |
畫面更新率上限 (每秒影格數) |
≥ 30 |
最低位元率 (kbps) |
≤ 30 |
最高位元率 (kbps) |
≥ 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 的串流,並確認解碼器不會違反效能規定。 |
解碼器一致性 |
解碼一組預先編碼的位元串流。測試解碼器的輸出內容必須與參考解碼器的輸出內容相符 (VP8 和 VP9 為 libvpx ,AV1 為 libaom )。 |
時間可擴充性 |
解碼多個時間層 (2 和 3) 的影片。測試解碼器的輸出內容必須與參考解碼器的輸出內容相符。 |
空間擴充性 |
解碼具有多個空間層 (2 和 3) 的影片。測試解碼器的輸出內容必須與參考解碼器的輸出內容相符。 |
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間: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)"]]