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) 的影片。測試解碼器的輸出內容必須與參考解碼器的輸出內容相符。