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

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

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

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

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

โค้ดต้องสามารถประมวลผลความละเอียดที่แปลกๆ ได้ (เช่น เมื่อความกว้างหรือความสูงของเฟรมไม่ใช่จำนวนที่คูณด้วย 2 เช่น 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) เอาต์พุตของโปรแกรมถอดรหัสทดสอบต้องตรงกับเอาต์พุตของโปรแกรมถอดรหัสอ้างอิง