ข้อกำหนดเกี่ยวกับตัวแปลงรหัสวิดีโอสำหรับ Meet Media API

หน้านี้ระบุข้อกำหนดพื้นฐานสำหรับตัวแปลงรหัสวิดีโอของไคลเอ็นต์ Google Meet Media API เพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ดี

ข้อกำหนดด้านฟังก์ชันการทำงาน

ส่วนนี้จะระบุข้อกำหนดสำหรับประเภทและฟีเจอร์ของตัวแปลงรหัส

ฟีเจอร์ ข้อกำหนด
โปรไฟล์ AV1 VP9 VP8
Main Profile 0 ไม่มี
ความสามารถในการปรับขนาด ดีโคดเดอร์ต้องรองรับการปรับขนาดชั่วคราว การปรับขนาดเชิงพื้นที่ หรือทั้ง 2 อย่าง หากข้อกำหนดการเข้ารหัสสำหรับประเภทและโปรไฟล์ของโคเดกที่กำหนดจำเป็นต้องใช้
รูปแบบวิดีโอดิบ

Codec ต้องประมวลผลความละเอียดที่เป็นเลขคี่ได้ (เช่น เมื่อความกว้างหรือความสูงของเฟรมไม่ใช่ เลขคู่ เช่น 133 × 141) สำหรับรูปแบบโครมาที่ผ่านการสุ่มตัวอย่างย่อย จำนวนตัวอย่างโครมา ต่อมิติข้อมูลจะต้องปัดขึ้นเมื่อได้มาจากจำนวนตัวอย่างลูมา

ไม่อนุญาตให้ครอบตัด เพิ่มขอบ หรือปรับขนาด ความละเอียดของเฟรมเอาต์พุตต้องตรงกับ ความละเอียดของเฟรมอินพุต

ข้อกำหนดด้านการปฏิบัติงาน

ส่วนนี้จะระบุข้อกำหนดสำหรับเงื่อนไขต่างๆ ที่คาดว่าตัวแปลงรหัสวิดีโอจะทำงาน การละเมิดข้อกำหนดเหล่านี้อาจจำกัดการใช้งาน โคเดกเฉพาะในบางสถานการณ์ แต่ไม่ได้ป้องกันไม่ให้มีการใช้งาน เสมอไป เช่น หากจำนวนสูงสุดของอินสแตนซ์ตัวแปลงรหัสต่ำกว่าที่ กำหนด คุณจะยังใช้ตัวแปลงรหัสร่วมกับตัวแปลงรหัสประเภทอื่นๆ หรือ การติดตั้งใช้งานอื่นๆ ได้

พารามิเตอร์ ข้อกำหนด
ความละเอียดขั้นต่ำ (พิกเซล) ≤ 128 × 128
ความละเอียดสูงสุด หน่วยเป็นพิกเซล ≥ 2880 × 1800
อัตราเฟรมขั้นต่ำ, FPS ≤ 1
อัตราเฟรมสูงสุด, FPS ≥ 30
อัตราบิตขั้นต่ำ (kbps) ≤ 30
อัตราบิตสูงสุด (kbps) ≥ 5000
อินสแตนซ์ของตัวถอดรหัสสูงสุด ≥ 3
อัตราการส่งข้อมูลการถอดรหัสทั้งหมดสูงสุด พิกเซลต่อวินาที ≥ 3 × 2880 × 1880 × 30

ข้อกำหนดด้านประสิทธิภาพ

ส่วนนี้จะระบุข้อกำหนดเกี่ยวกับประสิทธิภาพของตัวแปลงรหัส การละเมิดข้อกำหนดเหล่านี้อาจส่งผลกระทบต่อประสบการณ์ของผู้ใช้อย่างมาก และจะบล็อกการใช้ตัวแปลงรหัสอย่างแน่นอน

พารามิเตอร์ ข้อกำหนด
เวลาในการประมวลผลระหว่างเฟรมสูงสุด (วินาที) 1 / max(30, encode_target_frame_rate_fps)
เวลาประมวลผลคีย์เฟรมสูงสุด (วินาที) 2 / max(30, encode_target_frame_rate_fps)

เวลาในการประมวลผลเฟรมคือความแตกต่างของเวลาระหว่างเหตุการณ์ 2 อย่าง ได้แก่ 1) โคเดก ส่งเฟรม และ 2) โคเดกรับเฟรม ระบบจะคำนวณเวลาประมวลผลเฟรมโดยเฉลี่ย ในช่วงเวลาที่เลื่อนไปเรื่อยๆ ซึ่งมีความยาวอย่างน้อย 10 วินาที และมีเฟรมอย่างน้อย 10 เฟรม เวลาในการประมวลผลเฟรมสูงสุดคือค่าสูงสุด ในค่าเวลาในการประมวลผลเฟรมแต่ละค่า

ระบบจะคำนวณปริมาณงานเป็นจำนวนเฟรมที่ประมวลผลแล้ว ซึ่งรวมถึงเฟรมที่ถูกทิ้ง หารด้วยเดลต้าเวลาของเหตุการณ์ 2 อย่าง ได้แก่ 1) โคเดกส่งเฟรมสุดท้าย และ 2) โคเดกส่งเฟรมแรก

กรณีทดสอบ

กรณีทดสอบที่คุณใช้ได้มีดังนี้

การทดสอบ
อัตราการส่งข้อมูลของการถอดรหัส ถอดรหัสสตรีมขนาด 2880 × 1880 × 30 ได้สูงสุด 3 รายการพร้อมกัน และตรวจสอบว่าตัวถอดรหัสไม่ ละเมิดข้อกำหนดด้านประสิทธิภาพ
การปฏิบัติตามข้อกำหนดของตัวถอดรหัส ถอดรหัสชุดบิตสตรีมที่เข้ารหัสไว้ล่วงหน้า เอาต์พุตของตัวถอดรหัสทดสอบต้องตรงกับเอาต์พุต ของตัวถอดรหัสอ้างอิง (libvpx สำหรับ VP8 และ VP9, libaom สำหรับ AV1)
ความสามารถในการปรับขนาดชั่วคราว ถอดรหัสวิดีโอที่มีเลเยอร์ชั่วคราวหลายเลเยอร์ (2 และ 3) เอาต์พุตของตัวถอดรหัสทดสอบต้อง ตรงกับเอาต์พุตของตัวถอดรหัสอ้างอิง
ความสามารถในการปรับขนาดเชิงพื้นที่ ถอดรหัสวิดีโอที่มีเลเยอร์เชิงพื้นที่หลายเลเยอร์ (2 และ 3) เอาต์พุตของตัวถอดรหัสทดสอบต้องตรงกับ เอาต์พุตของตัวถอดรหัสอ้างอิง