本頁面提供 Google Meet Media API 用戶端影片編碼的相關基本規定,確保使用者享有良好體驗。
功能需求
本節將說明編解碼類型和功能的相關規定。
功能 | 規定 | ||
---|---|---|---|
個人資料 | AV1 | VP9 | VP8 |
Main |
Profile 0 |
無 | |
擴充性 | 如果特定編解碼類型和設定檔的編碼規格要求,解碼器必須支援時間可擴充性、空間可擴充性,或兩者皆支援。 | ||
原始影片格式 |
編解碼器必須能夠處理奇數解析度 (例如當影格寬度或高度不是 2 的倍數時,例如 133 × 141)。對於經過子樣處理的色度格式,每個維度的色度樣本數必須從亮度樣本數中取整數。 不允許裁剪、邊框或縮放。輸出影格解析度必須與輸入影格解析度相符。 |
作業需求
本節會針對影片編解碼預期運作的各種條件,說明相關要求。違反這些規定可能會導致編解碼的使用情形受到限制,但不一定會導致無法使用。舉例來說,如果編解碼例項的數量低於需求,編解碼仍可與其他類型的編解碼或實作項目搭配使用。
參數 | 規定 | |||
---|---|---|---|---|
最低解析度 (像素) | ≤ 128 × 128 | |||
最大解析度 (像素) | 2880 × 1800 以上 | |||
最低影格速率 (每秒影格數) | ≤ 1 | |||
影格速率上限 (FPS) | 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 串流,並驗證解碼器是否違反效能需求。 |
解碼器相容性 |
解碼一組預先編碼的位元串流。測試解碼器的輸出內容必須與參考解碼器的輸出內容相符 (libvpx 代表 VP8 和 VP9,libaom 代表 AV1)。 |
時間擴充性 | 解碼含有多個時間層 (2 和 3) 的影片。測試解碼器的輸出內容必須與參考解碼器的輸出內容相符。 |
空間可擴充性 | 解碼含有多個空間層 (2 和 3) 的影片。測試解碼器的輸出內容必須與參考解碼器的輸出內容相符。 |