Yêu cầu về bộ mã hoá và giải mã video cho Meet Media API
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Trang này cung cấp các yêu cầu cơ bản đối với bộ mã hoá và giải mã video của ứng dụng Google Meet Media API để đảm bảo mang lại trải nghiệm tốt cho người dùng.
Yêu cầu về chức năng
Phần này nêu rõ các yêu cầu đối với các loại và tính năng của bộ mã hoá và giải mã.
Tính năng
Yêu cầu
Hồ sơ
AV1
VP9
VP8
Main
Profile 0
Không áp dụng
Khả năng mở rộng quy mô
Bộ giải mã phải hỗ trợ khả năng mở rộng theo thời gian, khả năng mở rộng theo không gian hoặc cả hai nếu được yêu cầu theo quy cách mã hoá cho một loại codec và hồ sơ nhất định.
Định dạng video thô
Bộ mã hoá và giải mã phải có khả năng xử lý độ phân giải lẻ (chẳng hạn như khi chiều rộng hoặc chiều cao khung hình không phải là bội số của 2; ví dụ: 133 × 141). Đối với các định dạng sắc độ được lấy mẫu phụ, số lượng mẫu sắc độ trên mỗi phương diện phải được làm tròn lên khi được lấy từ số lượng mẫu độ chói.
Không được phép cắt, thêm khoảng trống hoặc điều chỉnh tỷ lệ. Độ phân giải của khung hình đầu ra phải khớp với độ phân giải của khung hình đầu vào.
Yêu cầu về hoạt động
Phần này nêu rõ các yêu cầu đối với nhiều điều kiện mà codec video dự kiến sẽ hoạt động. Việc vi phạm các yêu cầu này có thể hạn chế việc sử dụng bộ mã hoá và giải mã trong một số trường hợp nhưng không nhất thiết ngăn chặn việc sử dụng bộ mã hoá và giải mã. Ví dụ: nếu số lượng phiên bản bộ mã hoá và giải mã tối đa ít hơn mức cần thiết, thì bộ mã hoá và giải mã vẫn có thể được dùng cùng với bộ mã hoá và giải mã thuộc các loại hoặc cách triển khai khác.
Thông số
Yêu cầu
Độ phân giải tối thiểu, tính bằng pixel
≤ 128 × 128
Độ phân giải tối đa, pixel
≥ 2880 × 1800
Tốc độ khung hình tối thiểu, FPS
≤ 1
Tốc độ khung hình tối đa, FPS
≥ 30
Tốc độ bit tối thiểu, kbps
≤ 30
Tốc độ bit tối đa, kbps
≥ 5.000
Số lượng phiên bản bộ giải mã tối đa
≥ 3
Tổng thông lượng giải mã tối đa, số pixel mỗi giây
≥ 3 × 2880 × 1880 × 30
Yêu cầu về hiệu suất
Phần này nêu rõ các yêu cầu về hiệu suất của bộ mã hoá và giải mã. Việc vi phạm các yêu cầu này có thể ảnh hưởng đáng kể đến trải nghiệm người dùng và chắc chắn sẽ chặn việc sử dụng bộ mã hoá và giải mã.
Thông số
Yêu cầu
Thời gian xử lý tối đa giữa các khung hình, giây
≤ 1 / max(30, encode_target_frame_rate_fps)
Thời gian xử lý khung hình chính tối đa, giây
≤ 2 / max(30, encode_target_frame_rate_fps)
Thời gian xử lý khung hình là khoảng thời gian chênh lệch giữa 2 sự kiện: 1) bộ mã hoá và giải mã phân phối khung hình và 2) bộ mã hoá và giải mã nhận khung hình. Thời gian xử lý khung hình trung bình được tính trong một khoảng thời gian trượt ít nhất là 10 giây, chứa ít nhất 10 khung hình. Thời gian xử lý khung hình tối đa là giá trị cao nhất trong số tất cả các giá trị thời gian xử lý khung hình riêng lẻ.
Thông lượng được tính bằng số lượng khung hình đã xử lý (bao gồm cả khung hình bị loại bỏ), chia cho khoảng thời gian giữa hai sự kiện: 1) bộ mã hoá và giải mã phân phối khung hình cuối cùng và 2) bộ mã hoá và giải mã phân phối khung hình đầu tiên.
Các trường hợp kiểm thử
Sau đây là các trường hợp kiểm thử mà bạn có thể sử dụng:
Thử nghiệm
Thông lượng giải mã
Giải mã đồng thời tối đa 3 luồng 2880 × 1880 × 30 và xác minh rằng bộ giải mã không vi phạm các yêu cầu về hiệu suất.
Tính tuân thủ của bộ giải mã
Giải mã một bộ luồng bit được mã hoá trước. Đầu ra của bộ giải mã thử nghiệm phải khớp với đầu ra của bộ giải mã tham chiếu (libvpx cho VP8 và VP9, libaom cho AV1).
Khả năng mở rộng theo thời gian
Giải mã video có nhiều lớp thời gian (2 và 3). Đầu ra của bộ giải mã kiểm thử phải khớp với đầu ra của bộ giải mã tham chiếu.
Khả năng mở rộng không gian
Giải mã video có nhiều lớp không gian (2 và 3). Đầu ra của bộ giải mã kiểm thử phải khớp với đầu ra của bộ giải mã tham chiếu.
[null,null,["Cập nhật lần gần đây nhất: 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)"]]