Exigences concernant les codecs vidéo pour l'API Meet Media
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cette page présente les exigences de base concernant les codecs vidéo du client de l'API Google Meet Media pour garantir une bonne expérience utilisateur.
Exigences fonctionnelles
Cette section spécifie les exigences concernant les types et les fonctionnalités de codecs.
Fonctionnalité
Exigence
Profil
AV1
VP9
VP8
Main
Profile 0
N/A
Évolutivité
Le décodeur doit être compatible avec l'évolutivité temporelle, l'évolutivité spatiale ou les deux, si cela est requis par la spécification de codage pour un type et un profil de codec donnés.
Format vidéo brut
Le codec doit être capable de traiter les résolutions impaires (par exemple, lorsque la largeur ou la hauteur de la frame ne sont pas des multiples de 2, comme 133 x 141). Pour les formats de sous-échantillonnage de la chrominance, le nombre d'échantillons de chrominance par dimension doit être arrondi à l'entier supérieur lorsqu'il est dérivé du nombre d'échantillons de luminance.
Il n'est pas autorisé de recadrer, de mettre en forme ou de redimensionner l'image. La résolution du frame de sortie doit correspondre à celle du frame d'entrée.
Exigences opérationnelles
Cette section spécifie les exigences pour diverses conditions dans lesquelles le codec vidéo est censé fonctionner. Le non-respect de ces exigences peut limiter l'utilisation du codec à un sous-ensemble de scénarios, mais ne l'empêche pas nécessairement d'être utilisé. Par exemple, si le nombre maximal d'instances de codec est inférieur à celui requis, le codec peut toujours être utilisé avec des codecs d'autres types ou implémentations.
Paramètre
Exigence
Résolution minimale (en pixels)
≤ 128 x 128
Résolution maximale (en pixels)
≥ 2 880 x 1 800
Fréquence d'images minimale (FPS)
≤ 1
Fréquence d'images maximale (FPS)
≥ 30
Débit minimal (kbit/s)
≤ 30
Débit maximal (kbit/s)
≥ 5 000
Nombre maximal d'instances de décodeur
≥ 3
Débit de décodage total maximal, en pixels par seconde
≥ 3 × 2 880 × 1 880 × 30
Exigences liées à la compétence Performances
Cette section spécifie les exigences relatives aux performances du codec. Le non-respect de ces exigences peut avoir un impact important sur l'expérience utilisateur et bloquera presque certainement l'utilisation du codec.
Paramètre
Exigence
Temps de traitement maximal entre les frames, en secondes
≤ 1 / max(30, encode_target_frame_rate_fps)
Temps de traitement maximal des images clés, en secondes
≤ 2 / max(30, encode_target_frame_rate_fps)
Le temps de traitement des frames correspond à la différence de temps entre deux événements : 1) le codec fournit le frame et 2) le codec reçoit le frame. Le temps de traitement moyen des images est calculé sur une fenêtre glissante d'au moins 10 secondes et contenant au moins 10 images. Le temps de traitement maximal des frames correspond à la valeur la plus élevée parmi tous les temps de traitement des frames individuels.
Le débit est calculé en divisant le nombre d'images traitées, y compris celles supprimées, par le delta temporel entre les deux événements suivants : 1) le codec fournit la dernière image et 2) le codec fournit la première image.
Scénarios de test
Voici des cas de test que vous pouvez utiliser :
Tests
Débit de décodage
Décodez jusqu'à trois flux 2880 x 1880 x 30 simultanément et vérifiez que les décodeurs ne violent pas les exigences de performances.
Conformité du décodeur
Décodez un ensemble de flux de bits pré-encodés. La sortie du décodeur de test doit correspondre à celle d'un décodeur de référence (libvpx pour VP8 et VP9, libaom pour AV1).
Évolutivité temporelle
Décodez des vidéos avec plusieurs couches temporelles (2 et 3). Le résultat du décodeur de test doit correspondre à celui du décodeur de référence.
Évolutivité spatiale
Décodez des vidéos avec plusieurs couches spatiales (2 et 3). Le résultat du décodeur de test doit correspondre à celui du décodeur de référence.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/29 (UTC).
[null,null,["Dernière mise à jour le 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)"]]