Yêu cầu về bộ mã hoá và giải mã video cho Meet Media API

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.