Questa pagina fornisce i requisiti di base per i codec video client dell'API Google Meet Media per garantire una buona esperienza utente.
Requisiti funzionali
Questa sezione specifica i requisiti per i tipi e le funzionalità dei codec.
| Funzionalità | Requisito | ||
|---|---|---|---|
| Profilo | AV1 | VP9 | VP8 |
Main |
Profile 0 |
N/D | |
| Scalabilità | Il decoder deve supportare la scalabilità temporale, la scalabilità spaziale o entrambe, se richiesto dalle specifiche di codifica per il tipo e il profilo del codec specificati. | ||
| Formato video non elaborato |
Il codec deve essere in grado di elaborare risoluzioni dispari (ad esempio quando la larghezza o l'altezza del frame non sono multipli di 2, ad esempio 133 × 141). Per i formati di sottocampionamento della crominanza, il numero di campioni di crominanza per dimensione deve essere arrotondato per eccesso quando derivato dal numero di campioni di luminanza. Non è consentito ritagliare, aggiungere spaziatura interna o scalare. La risoluzione del frame di output deve corrispondere la risoluzione del frame di input. |
||
Requisiti operativi
Questa sezione specifica i requisiti per varie condizioni in cui è previsto che il codec video funzioni. La violazione di questi requisiti potrebbe limitare l'utilizzo del codec a un sottoinsieme di scenari, ma non ne impedisce necessariamente l'utilizzo. Ad esempio, se il numero massimo di istanze del codec è inferiore a quello richiesto, il codec può comunque essere utilizzato insieme a codec di altri tipi o implementazioni.
| Parametro | Requisito | |||
|---|---|---|---|---|
| Risoluzione minima, pixel | ≤ 128 × 128 | |||
| Risoluzione massima, pixel | ≥ 2880 × 1800 | |||
| Frequenza fotogrammi minima, FPS | ≤ 1 | |||
| Frequenza fotogrammi massima, FPS | ≥ 30 | |||
| Velocità in bit minima, kbps | ≤ 30 | |||
| Velocità in bit massima, kbps | ≥ 5000 | |||
| Numero massimo di istanze del decoder | ≥ 3 | |||
| Throughput di decodifica totale massimo, pixel al secondo | ≥ 3 × 2880 × 1880 × 30 | |||
Requisiti delle prestazioni
Questa sezione specifica i requisiti relativi alle prestazioni del codec. La violazione di questi requisiti potrebbe influire in modo significativo sull'esperienza utente e bloccherà quasi certamente l'utilizzo del codec.
| Parametro | Requisito |
|---|---|
| Tempo massimo di elaborazione tra i frame, secondi | ≤ 1 / max(30, encode_target_frame_rate_fps) |
| Tempo massimo di elaborazione dei frame chiave, secondi | ≤ 2 / max(30, encode_target_frame_rate_fps) |
Il tempo di elaborazione dei frame è la differenza di tempo tra due eventi: 1) il codec consegna il frame e 2) il codec riceve il frame. Il tempo medio di elaborazione dei frame viene calcolato su una finestra scorrevole di almeno 10 secondi di durata contenente almeno 10 frame. Il tempo massimo di elaborazione dei frame è il valore più alto tra tutti i singoli valori di tempo di elaborazione dei frame.
Il throughput viene calcolato come il numero di frame elaborati, inclusi quelli eliminati, diviso per il delta di tempo tra i due eventi: 1) il codec consegna l'ultimo frame e 2) il codec consegna il primo frame.
Scenari di test
Di seguito sono riportati gli scenari di test che puoi utilizzare:
| Test | |
|---|---|
| Throughput di decodifica | Decodifica simultaneamente fino a tre stream 2880 × 1880 × 30 e verifica che i decoder non violino i requisiti di prestazioni. |
| Conformità del decoder |
Decodifica un insieme di bitstream pre-codificati. L'output del decoder di test deve corrispondere all'output
di un decoder di riferimento (libvpx per VP8 e VP9, libaom per AV1).
|
| Scalabilità temporale | Decodifica video con più livelli temporali (2 e 3). L'output del decoder di test deve corrispondere all'output del decoder di riferimento. |
| Scalabilità spaziale | Decodifica video con più livelli spaziali (2 e 3). L'output del decoder di test deve corrispondere l'output del decoder di riferimento. |