Halaman ini memberikan persyaratan dasar untuk codec video klien Google Meet Media API guna memastikan pengalaman pengguna yang baik.
Persyaratan fungsional
Bagian ini menentukan persyaratan untuk jenis dan fitur codec.
| Fitur | Persyaratan | ||
|---|---|---|---|
| Profil | AV1 | VP9 | VP8 |
Main |
Profile 0 |
T/A | |
| Skalabilitas | Decoder harus mendukung skalabilitas temporal, skalabilitas spasial, atau keduanya jika diperlukan oleh the spesifikasi coding untuk jenis dan profil codec tertentu. | ||
| Format video mentah |
Codec harus dapat memproses resolusi ganjil (seperti saat lebar atau tinggi frame bukan kelipatan 2; misalnya, 133 × 141). Untuk format chroma yang di-subsample, jumlah sampel chroma per dimensi harus dibulatkan ke atas saat berasal dari jumlah sampel luma. Cropping, padding, atau penskalaan tidak diizinkan. Resolusi frame output harus cocok dengan resolusi frame input. |
||
Persyaratan operasional
Bagian ini menentukan persyaratan untuk berbagai kondisi yang diharapkan dapat dioperasikan oleh codec video. Pelanggaran terhadap persyaratan ini dapat membatasi penggunaan codec ke subset skenario, tetapi tidak selalu mencegahnya digunakan. Misalnya, jika jumlah maksimum instance codec kurang dari yang diperlukan, codec masih dapat digunakan bersama dengan codec dari jenis atau implementasi lain.
| Parameter | Persyaratan | |||
|---|---|---|---|---|
| Resolusi minimum, piksel | ≤ 128 × 128 | |||
| Resolusi maksimum, piksel | ≥ 2880 × 1800 | |||
| Kecepatan frame minimum, FPS | ≤ 1 | |||
| Kecepatan frame maksimum, FPS | ≥ 30 | |||
| Kecepatan bit minimum, kbps | ≤ 30 | |||
| Kecepatan bit maksimum, kbps | ≥ 5000 | |||
| Instance decoder maksimum | ≥ 3 | |||
| Throughput decode total maksimum, piksel per detik | ≥ 3 × 2880 × 1880 × 30 | |||
Persyaratan performa
Bagian ini menentukan persyaratan performa codec. Pelanggaran terhadap persyaratan ini dapat berdampak signifikan pada pengalaman pengguna dan hampir pasti akan memblokir penggunaan codec.
| Parameter | Persyaratan |
|---|---|
| Waktu pemrosesan antar-frame maksimum, detik | ≤ 1 / max(30, encode_target_frame_rate_fps) |
| Waktu pemrosesan frame kunci maksimum, detik | ≤ 2 / max(30, encode_target_frame_rate_fps) |
Waktu pemrosesan frame adalah selisih waktu antara dua peristiwa: 1) codec mengirimkan frame dan 2) codec menerima frame. Waktu pemrosesan frame rata-rata dihitung selama periode geser setidaknya 10 detik yang berisi setidaknya 10 frame. Waktu pemrosesan frame maksimum adalah nilai tertinggi di antara semua nilai waktu pemrosesan frame individual.
Throughput dihitung sebagai jumlah frame yang diproses, termasuk yang dihilangkan, dibagi dengan delta waktu antara dua peristiwa: 1) codec mengirimkan frame terakhir dan 2) codec mengirimkan frame pertama.
Kasus pengujian
Berikut adalah kasus pengujian yang dapat Anda gunakan:
| Pengujian | |
|---|---|
| Throughput decode | Decode hingga tiga streaming 2880 × 1880 × 30 secara bersamaan dan verifikasi bahwa decoder tidak melanggar persyaratan performa. |
| Kesesuaian decoder |
Decode kumpulan bitstream yang telah dienkode sebelumnya. Output decoder pengujian harus cocok dengan output
decoder referensi (libvpx untuk VP8 & VP9, libaom untuk AV1).
|
| Skalabilitas temporal | Decode video dengan beberapa lapisan temporal (2 dan 3). Output decoder pengujian harus cocok dengan output decoder referensi. |
| Skalabilitas spasial | Decode video dengan beberapa lapisan spasial (2 dan 3). Output decoder pengujian harus cocok dengan output decoder referensi. |