Requisitos de códecs de video para la API de Meet Media
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta página, se proporcionan los requisitos básicos para los códecs de video del cliente de la API de Google Meet Media para garantizar una buena experiencia del usuario.
Requisitos funcionales
En esta sección, se especifican los requisitos para los tipos y las funciones de códec.
Función
Requisito
Perfil
AV1
VP9
VP8
Main
Profile 0
N/A
Escalabilidad
El decodificador debe admitir la escalabilidad temporal, la escalabilidad espacial o ambas si lo requiere la especificación de codificación para un tipo y un perfil de códec determinados.
Formato de video sin procesar
El códec debe ser capaz de procesar resoluciones impares (por ejemplo, cuando el ancho o la altura del fotograma no son múltiplos de 2, como 133 × 141). En el caso de los formatos de crominancia con submuestreo, la cantidad de muestras de crominancia por dimensión se debe redondear hacia arriba cuando se deriva de la cantidad de muestras de luminancia.
No se permite cortar, rellenar ni escalar. La resolución del fotograma de salida debe coincidir con la del fotograma de entrada.
Requisitos operativos
En esta sección, se especifican los requisitos para las diversas condiciones en las que se espera que funcione el códec de video. El incumplimiento de estos requisitos puede restringir el uso del códec a un subconjunto de situaciones, pero no necesariamente impide su uso. Por ejemplo, si la cantidad máxima de instancias de códec es menor que la requerida, el códec se puede seguir usando junto con códecs de otros tipos o implementaciones.
Parámetro
Requisito
Resolución mínima (píxeles)
≤ 128 × 128
Resolución máxima (píxeles)
≥ 2880 × 1800
Velocidad de fotogramas mínima (FPS)
≤ 1
Velocidad de fotogramas máxima (FPS)
≥ 30
Tasa de bits mínima (kbps)
≤ 30
Tasa de bits máxima (kbps)
≥ 5,000
Cantidad máxima de instancias del decodificador
≥ 3
Capacidad de procesamiento total máxima de decodificación, píxeles por segundo
≥ 3 × 2880 × 1880 × 30
Requisitos de rendimiento
En esta sección, se especifican los requisitos de rendimiento del códec. El incumplimiento de estos requisitos puede afectar significativamente la experiencia del usuario y, casi con certeza, bloqueará el uso del códec.
Parámetro
Requisito
Tiempo máximo de procesamiento entre fotogramas, en segundos
≤1 / max(30, encode_target_frame_rate_fps)
Tiempo máximo de procesamiento de fotogramas clave, en segundos
≤2 / max(30, encode_target_frame_rate_fps)
El tiempo de procesamiento de fotogramas es la diferencia de tiempo entre dos eventos: 1) el códec entrega el fotograma y 2) el códec recibe el fotograma. El tiempo promedio de procesamiento de fotogramas se calcula en una ventana deslizante de al menos 10 segundos de duración que contiene al menos 10 fotogramas. El tiempo máximo de procesamiento de fotogramas es el valor más alto entre todos los valores individuales de tiempo de procesamiento de fotogramas.
El procesamiento se calcula como la cantidad de fotogramas procesados, incluidos los descartados, dividida por el delta de tiempo entre los dos eventos: 1) el códec entrega el último fotograma y 2) el códec entrega el primer fotograma.
Casos de prueba
Estos son algunos casos de prueba que puedes usar:
Pruebas
Capacidad de procesamiento de decodificación
Decodifica hasta tres transmisiones de 2880 × 1880 × 30 de forma simultánea y verifica que los decodificadores no incumplan los requisitos de rendimiento.
Conformidad del decodificador
Decodifica un conjunto de transmisiones de bits pre codificadas. El resultado del decodificador de prueba debe coincidir con el resultado de un decodificador de referencia (libvpx para VP8 y VP9, libaom para AV1).
Escalabilidad temporal
Decodifica videos con varias capas temporales (2 y 3). El resultado del decodificador de prueba debe coincidir con el resultado del decodificador de referencia.
Escalabilidad espacial
Decodifica videos con varias capas espaciales (2 y 3). El resultado del decodificador de prueba debe coincidir con el resultado del decodificador de referencia.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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)"]]