Esta página fornece os requisitos básicos para codecs de vídeo do cliente da API Google Meet Media para garantir uma boa experiência do usuário.
Requisitos funcionais
Esta seção especifica os requisitos para os tipos e recursos de codec.
| Recurso | Requisito | ||
|---|---|---|---|
| Perfil | AV1 | VP9 | VP8 |
Main |
Profile 0 |
N/A | |
| Escalonabilidade | O decodificador precisa oferecer suporte à escalonabilidade temporal, espacial ou ambas, se exigido pela especificação de codificação para determinado tipo e perfil de codec. | ||
| Formato de vídeo bruto |
O codec precisa ser capaz de processar resoluções ímpares (por exemplo, quando a largura ou altura do frame não é um múltiplo de 2, como 133 × 141). Para formatos de croma com subamostragem, o número de amostras de croma por dimensão precisa ser arredondado para cima quando derivado do número de amostras de luma. Não é permitido cortar, preencher ou dimensionar. A resolução do frame de saída precisa corresponder à resolução do frame de entrada. |
||
Requisitos operacionais
Esta seção especifica os requisitos para várias condições em que o codec de vídeo precisa operar. A violação desses requisitos pode restringir o uso do codec a um subconjunto de cenários, mas não impede necessariamente que ele seja usado. Por exemplo, se o número máximo de instâncias de codec for menor do que o necessário, o codec ainda poderá ser usado com codecs de outros tipos ou implementações.
| Parâmetro | Requisito | |||
|---|---|---|---|---|
| Resolução mínima, pixels | ≤ 128 × 128 | |||
| Resolução máxima, pixels | ≥ 2880 × 1800 | |||
| Frame rate mínimo, QPS | ≤ 1 | |||
| Frame rate máximo, QPS | ≥ 30 | |||
| Taxa de bits mínima, kbps | ≤ 30 | |||
| Taxa de bits máxima, kbps | ≥ 5000 | |||
| Número máximo de instâncias de decodificador | ≥ 3 | |||
| Capacidade de decodificação total máxima, pixels por segundo | ≥ 3 × 2880 × 1880 × 30 | |||
Requisitos de desempenho
Esta seção especifica os requisitos de desempenho do codec. A violação desses requisitos pode afetar significativamente a experiência do usuário e quase certamente bloqueará o uso do codec.
| Parâmetro | Requisito |
|---|---|
| Tempo máximo de processamento entre frames, segundos | ≤ 1 / max(30, encode_target_frame_rate_fps) |
| Tempo máximo de processamento de frames principais, segundos | ≤ 2 / max(30, encode_target_frame_rate_fps) |
O tempo de processamento de frames é a diferença de tempo entre dois eventos: 1) o codec entrega o frame e 2) o codec recebe o frame. O tempo médio de processamento de frames é calculado em uma janela deslizante de pelo menos 10 segundos de duração, com pelo menos 10 frames. O tempo máximo de processamento de frames é o valor mais alto entre todos os valores individuais de tempo de processamento de frames.
A capacidade de processamento é calculada como o número de frames processados, incluindo os descartados, dividido pelo delta de tempo entre os dois eventos: 1) o codec entrega o último frame e 2) o codec entrega o primeiro frame.
Casos de teste
Confira a seguir os casos de teste que você pode usar:
| Testes | |
|---|---|
| Capacidade de decodificação | Decodifique até três streams de 2880 × 1880 × 30 simultaneamente e verifique se os decodificadores não violam os requisitos de desempenho. |
| Conformidade do decodificador |
Decodifique um conjunto de bitstreams pré-codificados. A saída do decodificador de teste precisa corresponder à saída
de um decodificador de referência (libvpx para VP8 & VP9, libaom para AV1).
|
| Escalonabilidade temporal | Decodifique vídeos com várias camadas temporais (2 e 3). A saída do decodificador de teste precisa corresponder à saída do decodificador de referência. |
| Escalonabilidade espacial | Decodifique vídeos com várias camadas espaciais (2 e 3). A saída do decodificador de teste precisa corresponder a saída do decodificador de referência. |