หน้านี้แสดงข้อกำหนดพื้นฐานสำหรับวิดีโอโค้ดลูกค้า 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) เอาต์พุตของโปรแกรมถอดรหัสทดสอบต้องตรงกับเอาต์พุตของโปรแกรมถอดรหัสอ้างอิง |