Questa pagina fornisce i requisiti di base per i codec video client dell'API Media di Google Meet per garantire un'esperienza utente ottimale.
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 decodificatore deve supportare la scalabilità temporale, la scalabilità spaziale o entrambe, se richiesta dalla specifica di codifica per un determinato tipo e profilo di codec. | ||
Formato video non compresso |
Il codec deve essere in grado di elaborare risoluzioni dispari (ad esempio quando la larghezza o l'altezza del fotogramma non sono múltiplo di 2; ad esempio 133 x 141). Per i formati di crominanza sottocampionati, il numero di campioni di crominanza per dimensione deve essere arrotondato per eccesso se dedotto dal numero di campioni di luminanza. Non sono consentiti ritaglio, spaziatura interna o ridimensionamento. La risoluzione del frame di output deve corrispondere alla risoluzione del frame di input. |
Requisiti operativi
Questa sezione specifica i requisiti per le varie condizioni in cui è previsto il funzionamento del codec video. La violazione di questi requisiti può 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 di 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 x 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 | |||
Istanze di decodificatore massime | ≥ 3 | |||
Throughput totale di decodifica massimo, pixel al secondo | ≥ 3 × 2880 × 1880 × 30 |
Requisiti di rendimento
Questa sezione specifica i requisiti relativi alle prestazioni del codec. La violazione di questi requisiti può influire notevolmente sull'esperienza utente e bloccherà quasi sicuramente l'utilizzo del codec.
Parametro | Requisito |
---|---|
Tempo di elaborazione interframe massimo, in secondi | ≤ 1 / max(30, encode_target_frame_rate_fps) |
Tempo di elaborazione massimo dei fotogrammi chiave, in secondi | ≤ 2 / max(30, encode_target_frame_rate_fps) |
Il tempo di elaborazione del fotogramma è la differenza di tempo tra due eventi: 1) il codec consegna il fotogramma e 2) il codec riceve il fotogramma. Il tempo medio di elaborazione dei frame viene calcolato su una finestra mobile di almeno 10 secondi contenente almeno 10 frame. Il tempo di elaborazione massimo dei fotogrammi è il valore più alto tra tutti i valori dei singoli tempi di elaborazione dei fotogrammi.
La larghezza di banda viene calcolata dividendo il numero di frame elaborati, inclusi quelli persi, per il delta di tempo tra i due eventi: 1) il codec invia l'ultimo frame e 2) il codec invia il primo frame.
Scenari di test
Di seguito sono riportati i casi di test che puoi utilizzare:
Test | |
---|---|
Velocità effettiva di decodifica | Decodifica fino a tre stream 2880 × 1880 × 30 contemporaneamente e verifica che i decodificatori non violino i requisiti di prestazioni. |
Conformità del decodificatore |
Decodifica un insieme di bitstream precodificati. L'output del decodificatore di test deve corrispondere all'output
di un decodificatore di riferimento (libvpx per VP8 e VP9, libaom per AV1).
|
Scalabilità temporale | Decodifica video con più livelli temporali (2 e 3). L'output del decodificatore di test deve corrispondere all'output del decodificatore di riferimento. |
Scalabilità spaziale | Decodifica video con più livelli spaziali (2 e 3). L'output del decodificatore di test deve corrispondere all'output del decodificatore di riferimento. |