Anforderungen an Videocodecs für die Meet Media API
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite finden Sie die grundlegenden Anforderungen an die Videocodecs von Google Meet Media API-Clients, um eine gute Nutzererfahrung zu gewährleisten.
Funktionale Anforderungen
In diesem Abschnitt werden die Anforderungen für die Codec-Typen und ‑Funktionen beschrieben.
Funktion
Anforderung
Profil
AV1
VP9
VP8
Main
Profile 0
–
Skalierbarkeit
Der Decoder muss die temporale und/oder räumliche Skalierbarkeit unterstützen, wenn dies durch die Codierungsspezifikation für den jeweiligen Codec-Typ und das jeweilige Profil erforderlich ist.
Rohvideoformat
Der Codec muss in der Lage sein, ungerade Auflösungen zu verarbeiten (z. B. wenn die Breite oder Höhe des Frames kein Vielfaches von 2 ist, z. B. 133 × 141). Bei Chroma-Formaten mit Subsampling muss die Anzahl der Chroma-Samples pro Dimension aufgerundet werden, wenn sie aus der Anzahl der Luma-Samples abgeleitet wird.
Das Zuschneiden, Einfügen von Padding oder Skalieren ist nicht zulässig. Die Auflösung des Ausgabeframes muss der Auflösung des Eingabeframes entsprechen.
Betriebliche Anforderungen
In diesem Abschnitt werden die Anforderungen für verschiedene Bedingungen angegeben, unter denen der Videocodec funktionieren soll. Bei einem Verstoß gegen diese Anforderungen kann die Verwendung des Codecs auf eine Teilmenge von Szenarien beschränkt werden. Die Verwendung wird dadurch aber nicht unbedingt verhindert. Wenn die maximale Anzahl von Codec-Instanzen beispielsweise geringer ist als erforderlich, kann der Codec trotzdem zusammen mit Codecs anderer Typen oder Implementierungen verwendet werden.
Parameter
Anforderung
Mindestauflösung (Pixel)
≤ 128 × 128
Maximale Auflösung (Pixel)
≥ 2880 × 1800
Mindest-Framerate (FPS)
≤ 1
Maximale Framerate (FPS)
≥ 30
Minimale Bitrate (kBit/s)
≤ 30
Maximale Bitrate (kbit/s)
≥ 5.000
Maximale Anzahl von Decoderinstanzen
≥ 3
Maximaler Gesamtdurchsatz für die Dekodierung, Pixel pro Sekunde
≥ 3 × 2.880 × 1.880 × 30
Anforderungen für „Performance“
In diesem Abschnitt werden die Anforderungen an die Codec-Leistung beschrieben. Ein Verstoß gegen diese Anforderungen kann die Nutzerfreundlichkeit erheblich beeinträchtigen und führt mit hoher Wahrscheinlichkeit dazu, dass der Codec nicht verwendet werden kann.
Parameter
Anforderung
Maximale Verarbeitungszeit zwischen Frames in Sekunden
≤ 1 / max(30, encode_target_frame_rate_fps)
Maximale Verarbeitung von Keyframes in Sekunden
≤ 2 / max(30, encode_target_frame_rate_fps)
Die Frame-Verarbeitungszeit ist die Zeitdifferenz zwischen zwei Ereignissen: 1) Codec liefert den Frame und 2) Codec empfängt den Frame. Die durchschnittliche Zeit für die Verarbeitung von Frames wird über ein gleitendes Fenster von mindestens 10 Sekunden mit mindestens 10 Frames berechnet. Die maximale Frame-Verarbeitungszeit ist der höchste Wert unter allen einzelnen Frame-Verarbeitungszeiten.
Der Durchsatz wird als Anzahl der verarbeiteten Frames (einschließlich der verworfenen) geteilt durch das Zeitdelta zwischen den beiden Ereignissen berechnet: 1) Codec liefert den letzten Frame und 2) Codec liefert den ersten Frame.
Testläufe
Im Folgenden finden Sie Testfälle, die Sie verwenden können:
Tests
Decodierungsdurchsatz
Decodiere bis zu drei Streams mit 2880 × 1880 × 30 Pixeln gleichzeitig und prüfe, ob die Decoder die Leistungsanforderungen erfüllen.
Decoder-Konformität
Eine Reihe von vorcodierten Bitstreams decodieren. Die Ausgabe des Testdecoders muss mit der Ausgabe eines Referenzdecoders übereinstimmen (libvpx für VP8 und VP9, libaom für AV1).
Zeitliche Skalierbarkeit
Dekodieren von Videos mit mehreren temporären Ebenen (2 und 3). Die Ausgabe des Testdecoders muss mit der Ausgabe des Referenzdecoders übereinstimmen.
Räumliche Skalierbarkeit
Dekodieren von Videos mit mehreren räumlichen Ebenen (2 und 3). Die Ausgabe des Testdecoders muss mit der Ausgabe des Referenzdecoders übereinstimmen.
[null,null,["Zuletzt aktualisiert: 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)"]]