Requisitos de codec de vídeo para a API Meet Media
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
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 ser compatível com 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 a altura do frame não são múltiplos de 2, como 133 × 141). Para formatos de croma subamostrados, 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, adicionar padding ou dimensionar. A resolução do frame de saída precisa corresponder à do frame de entrada.
Requisitos operacionais
Esta seção especifica os requisitos para várias condições em que o codec de vídeo deve 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
≥ 5.000
Número máximo de instâncias de decodificador
≥ 3
Capacidade total máxima de decodificação, 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 vai bloquear o uso do codec.
Parâmetro
Requisito
Tempo máximo de processamento entre frames, em segundos
≤ 1 / max(30, encode_target_frame_rate_fps)
Tempo máximo de processamento de frame principal, em segundos
≤ 2 / max(30, encode_target_frame_rate_fps)
O tempo de processamento do frame é a diferença 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 maior valor entre todos os tempos individuais.
O cálculo é feito dividindo o número de frames processados, incluindo os descartados, 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 alguns 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
Decodifica um conjunto de fluxos de bits pré-codificados. A saída do decodificador de teste precisa corresponder à saída de um decodificador de referência (libvpx para VP8 e VP9, libaom para AV1).
Escalonabilidade temporal
Decodificar vídeo 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
Decodificar vídeo com várias camadas espaciais (2 e 3). A saída do decodificador de teste precisa corresponder à saída do decodificador de referência.
[null,null,["Última atualização 2025-08-29 UTC."],[],[],null,["# Video codec requirements for Meet Media API\n\n| **Developer Preview:** Available as part of the [Google Workspace Developer Preview Program](https://developers.google.com/workspace/preview), which grants early access to certain features. \n|\n| **To use the Meet Media API to access real-time media from a conference, the Google Cloud project, OAuth principal, and all participants in the conference must be enrolled in the Developer Preview Program.**\n\nThis page provides the basic requirements for Google Meet Media API client video\ncodecs to ensure a good user experience.\n\nFunctional requirements\n-----------------------\n\nThis section specifies the requirements for the codec types and features.\n\n| Feature | Requirement |||\n|------------------|--------|-------------|-----|\n| Profile | AV1 | VP9 | VP8 |\n| Profile | `Main` | `Profile 0` | N/A |\n| Scalability | Decoder must support temporal scalability, spatial scalability, or both if required by the coding specification for given codec type and profile. |||\n| Raw video format | Codec must be capable of processing odd resolutions (such as when frame width or height are not multiple of 2; for example, 133 × 141). For subsampled chroma formats, the number of chroma samples per dimension must be rounded up when derived from the number of luma samples. Cropping, padding, or scaling isn't allowed. Resolution of the output frame must match the resolution of the input frame. |||\n\nOperational requirements\n------------------------\n\nThis section specifies requirements for various conditions the video codec is\nexpected to operate in. Violation of these requirements may restrict the usage\nof the codec to a subset of scenarios but doesn't necessarily prevent it from\nbeing used. For example, if the maximum number of codec instances is less than\nrequired, the codec can still be used together with codecs of other types or\nimplementations.\n\n| Parameter | Requirement |\n|----------------------------------------------------|---------------|---|---|---|\n| Minimum resolution, pixels | ≤ 128 × 128 |\n| Maximum resolution, pixels | ≥ 2880 × 1800 |\n| Minimum frame rate, FPS | ≤ 1 |\n| Maximum frame rate, FPS | ≥ 30 |\n| Minimum bitrate, kbps | ≤ 30 |\n| Maximum bitrate, kbps | ≥ 5000 |\n| Maximum decoder instances | ≥ 3 |\n| Maximum total decode throughput, pixels per second | ≥ 3 × 2880 × 1880 × 30 ||||\n\nPerformance requirements\n------------------------\n\nThis section specifies the requirements on codec performance. Violation of these\nrequirements may significantly impact the user experience and will almost\ncertainly block the usage of the codec.\n\n| Parameter | Requirement |\n|----------------------------------------------|-----------------------------------------------|\n| Maximum inter frame processing time, seconds | ≤ `1 / max(30, encode_target_frame_rate_fps)` |\n| Maximum key frame processing time, seconds | ≤ `2 / max(30, encode_target_frame_rate_fps)` |\n\nThe frame processing time is the time difference between two events: 1) codec\ndelivers the frame and 2) codec receives the frame. The average frame processing\ntime is calculated over a sliding window of at least **10 seconds** duration\nholding at least **10 frames**. The maximum frame processing time is the highest\nvalue among all individual frame processing time values.\n\nThe throughput is calculated as the number of processed frames, including\ndropped ones, divided by time delta between the two events: 1) codec delivers\nthe last frame and 2) codec delivers the first frame.\n\nTest cases\n----------\n\nThe following are test cases you can use:\n\n| Tests |\n|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Decode throughput | Decode up to three 2880 × 1880 × 30 streams simultaneously and verify that decoders don't violate the performance requirements. |\n| Decoder conformance | Decode a set of pre-encoded bitstreams. The output of the test decoder must match the output of a reference decoder (`libvpx` for VP8 \\& VP9, `libaom` for AV1). |\n| Temporal scalability | Decode video with multiple temporal layers (2 and 3). The output of the test decoder must match the output of the reference decoder. |\n| Spatial scalability | Decode video with multiple spatial layers (2 and 3). The output of the test decoder must match the output of the reference decoder. |\n\nRelated topics\n--------------\n\n- [Get started with Meet Media API](/workspace/meet/media-api/guides/get-started)"]]