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