ภาพรวมของ Meet Media API

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

กรณีการใช้งาน

แอปที่ลงทะเบียนใน Google Cloud Console สามารถใช้ Meet Media API เพื่อ เชื่อมต่อกับการประชุม Meet ซึ่งจะช่วยให้แอปทำสิ่งต่อไปนี้ได้

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

วงจรของ Meet Media API

รูปภาพต่อไปนี้แสดงวงจรของ Meet Media API

  • บ็อต Meet Media API พยายามเข้าร่วมที่เว็บไซต์ของบุคคลที่สาม
    รูปที่ 1 บ็อต Meet Media API พยายามเข้าร่วมในเว็บไซต์ของบุคคลที่สาม ระบบจะปฏิเสธการเชื่อมต่อเมื่อมีบัญชีของผู้ใช้ที่อายุต่ำกว่าเกณฑ์
  • การประชุมที่เข้ารหัสและการประชุมที่มีลายน้ำ
    รูปที่ 2 การประชุมสามารถทำเครื่องหมายว่า เข้ารหัสและมีลายน้ำได้ เชื่อมต่อ Meet Media API ไม่ได้ เมื่อการประชุมมีการเข้ารหัสหรือลายน้ำ
  • ตรวจสอบว่าการตั้งค่าผู้ดูแลระบบถูกต้อง
    รูปที่ 3 ตรวจสอบว่าการตั้งค่าผู้ดูแลระบบ ถูกต้อง
  • สร้างการประชุมในปฏิทิน
    รูปที่ 4 สร้างการประชุมใน ปฏิทิน โฮสต์ต้องให้สิทธิ์แก่ แอปของบุคคลที่สามในการตั้งค่าปฏิทิน มิเช่นนั้นระบบจะปฏิเสธ การเชื่อมต่อ
  • การเปลี่ยนการตั้งค่าระหว่างการโทร
    รูปที่ 5 การเปลี่ยนแปลงการตั้งค่าระหว่าง การโทร หากผู้จัดการประชุมตัดสินใจปิดการตั้งค่า Meet Media API ระหว่างการโทร การเชื่อมต่อจะหยุดลง
  • ผู้เริ่มการแชร์ต้องเข้าร่วมการประชุมกับผู้บริโภค
    รูปที่ 6 หากเจ้าของการประชุมมี บัญชีผู้ใช้ทั่วไป (บัญชีที่ลงท้ายด้วย @gmail.com) ผู้เริ่ม ต้องเข้าร่วมการประชุมเพื่อยินยอม มิเช่นนั้นระบบจะปฏิเสธการเชื่อมต่อ
  • สร้างการเชื่อมต่อแล้ว
    รูปที่ 7 เมื่อสร้างการเชื่อมต่อแล้ว ผู้จัดการประชุม ผู้ร่วมจัดการประชุม หรือผู้เข้าร่วมทุกคนที่อยู่ในองค์กรเดียวกับผู้จัดการประชุมจะเห็นกล่องโต้ตอบการเริ่มต้น
  • ทุกคนสามารถหยุด Meet Media API ระหว่างการโทรได้
    รูปที่ 8 ทุกคนสามารถหยุด Meet Media API ระหว่างการโทรได้

คำทั่วไป

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

ไคลเอ็นต์ Meet Media API จะขอทรัพยากรจากเซิร์ฟเวอร์ผ่านช่องข้อมูลแทนที่จะขอทรัพยากรผ่าน HTTP เหมือนกับ REST API ของ Google Meet

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

แหล่งที่มาของผู้มีส่วนร่วม (CSRC)

สตรีมสื่อเสมือนทำให้คุณไม่สามารถสันนิษฐานได้ว่าสตรีมสื่อจะชี้ไปยังผู้เข้าร่วมคนเดียวกันเสมอ ค่า CSRC ในส่วนหัวของแต่ละแพ็กเก็ต RTP จะระบุแหล่งที่มาจริงของแพ็กเก็ต

Meet จะกำหนดค่า CSRC ที่ไม่ซ้ำกันให้ผู้เข้าร่วมแต่ละคนในการประชุม เมื่อเข้าร่วม ค่านี้จะคงที่จนกว่าผู้ใช้จะออกจากระบบ

แชแนลข้อมูล

ช่องข้อมูล WebRTC ช่วยให้แลกเปลี่ยนข้อมูลที่กำหนดเอง (ข้อความ ไฟล์ ฯลฯ) ได้โดยไม่ขึ้นกับ สตรีมเสียงและวิดีโอ DataChannel ใช้การเชื่อมต่อเดียวกับ MediaStream ซึ่งเป็นวิธีที่มีประสิทธิภาพในการเพิ่มการแลกเปลี่ยนข้อมูลลงในแอปพลิเคชัน WebRTC

การสร้างการเชื่อมต่อแบบอินเทอร์แอกทีฟ (ICE)

โปรโตคอลสำหรับการสร้างการเชื่อมต่อ การค้นหาเส้นทางที่เป็นไปได้ทั้งหมดสำหรับคอมพิวเตอร์ 2 เครื่องเพื่อสื่อสารกันผ่านเครือข่ายแบบเพียร์ทูเพียร์ (P2P) และตรวจสอบว่าคุณยังคงเชื่อมต่ออยู่

สตรีมสื่อ

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

แทร็กสตรีมสื่อ

ประกอบด้วยโฟลว์ของแพ็กเก็ต RTP แบบทิศทางเดียวเพียงโฟลว์เดียว แทร็กสตรีมสื่อ อาจเป็นเสียงหรือวิดีโอก็ได้ แต่ไม่ใช่ทั้ง 2 อย่าง โดยปกติแล้วการเชื่อมต่อ Secure Real-time Transport Protocol (SRTP) แบบ 2 ทางจะประกอบด้วยแทร็กสตรีมสื่อ 2 แทร็ก ได้แก่ ขาออกจากเพียร์ในเครื่องไปยังเพียร์ระยะไกล และขาเข้าจากเพียร์ระยะไกลไปยังเพียร์ในเครื่อง

พื้นที่การประชุม

สถานที่เสมือนหรือออบเจ็กต์ถาวร (เช่น ห้องประชุม) ที่ใช้จัดการประชุม โดยในแต่ละครั้งจะมีการประชุมที่ใช้งานได้เพียงรายการเดียวใน พื้นที่เดียว นอกจากนี้ พื้นที่การประชุมยังช่วยให้ผู้ใช้ได้พบปะและค้นหาแหล่งข้อมูลที่แชร์ อีกด้วย

ผู้เข้าร่วม

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

สตรีมที่เกี่ยวข้อง

มีการจำกัดจำนวนสตรีมเสียงเสมือนและสตรีมวิดีโอเสมือน ที่ไคลเอ็นต์เปิดได้

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

หน่วยส่งต่อแบบเลือก (SFU)

หน่วยส่งต่อแบบเลือก (SFU) เป็นคอมโพเนนต์ฝั่งเซิร์ฟเวอร์ในการประชุมผ่าน WebRTC ซึ่งจัดการการกระจายสตรีมสื่อ ผู้เข้าร่วมจะเชื่อมต่อกับ SFU เท่านั้น ซึ่งจะส่งต่อสตรีมที่เกี่ยวข้องไปยังผู้เข้าร่วมรายอื่นๆ อย่างเลือกสรร ซึ่งจะช่วยลดความต้องการในการประมวลผลของไคลเอ็นต์และแบนด์วิดท์ ทำให้การประชุม ปรับขนาดได้

Session Description Protocol (SDP)

กลไกการส่งสัญญาณที่ WebRTC ใช้เพื่อเจรจาการเชื่อมต่อ P2P RFC 8866

คำตอบ SDP

คำตอบสำหรับข้อเสนอ SDP คำตอบจะปฏิเสธหรือยอมรับสตรีมที่ได้รับจากเพียร์ระยะไกล นอกจากนี้ยังเจรจาต่อรองสตรีมที่ วางแผนจะส่งกลับไปยังเพียร์ที่เสนอ โปรดทราบว่าคำตอบ SDP จะเพิ่มสตรีมที่ส่งสัญญาณจากข้อเสนอเริ่มต้นไม่ได้ ตัวอย่าง หากเพียร์ที่เสนอส่งสัญญาณว่ายอมรับสตรีมเสียงได้สูงสุด 3 รายการจากเพียร์ระยะไกล เพียร์ระยะไกลนี้จะส่งสัญญาณสตรีมเสียง 4 รายการสำหรับการ ส่งไม่ได้

ข้อเสนอ SDP

SDP เริ่มต้นในขั้นตอนการเจรจาแบบเพียร์ทูเพียร์ของข้อเสนอและคำตอบ ข้อเสนอ สร้างขึ้นโดยเพียร์ที่เริ่มต้นและกำหนดข้อกำหนดของเซสชันแบบเพียร์ทูเพียร์ ไคลเอ็นต์ Meet Media API จะสร้างข้อเสนอเสมอ และส่งไปยังเซิร์ฟเวอร์ Meet

เช่น ข้อเสนออาจระบุจำนวนสตรีมเสียงหรือวิดีโอที่ผู้เสนอส่ง (หรือรับได้) และระบุว่าจะเปิดช่องข้อมูลหรือไม่

แหล่งที่มาของการซิงโครไนซ์ (SSRC)

SSRC คือตัวระบุขนาด 32 บิตที่ระบุแหล่งที่มาเดียวของ สตรีมสื่อภายในเซสชัน RTP (Real-time Transport Protocol) แบบไม่ซ้ำกัน ใน WebRTC จะใช้ SSRC เพื่อแยกความแตกต่างระหว่างสตรีมสื่อต่างๆ ที่มาจากผู้เข้าร่วมที่แตกต่างกัน หรือแม้แต่แทร็กที่แตกต่างกันจาก ผู้เข้าร่วมคนเดียวกัน (เช่น กล้องที่ต่างกัน)

RtpTransceiver

ดังที่ระบุไว้ใน RFC 8829 ตัวรับส่งเป็นนามธรรมเกี่ยวกับสตรีม RTP ในเซสชันแบบเพียร์ทูเพียร์

โดยจะมีการแมปตัวรับส่งสัญญาณเดียวกับคำอธิบายสื่อเดียวใน SDP ทรานซีฟเวอร์ประกอบด้วย RtpSender และ RtpReceiver

เนื่องจาก RTP เป็นแบบ 2 ทิศทาง พีเจียร์แต่ละรายการจึงมีอินสแตนซ์ตัวรับส่งของตัวเอง สำหรับการเชื่อมต่อ RTP เดียวกัน RtpSender ของทรานซีฟเวอร์ที่กำหนดสำหรับเพียร์ในเครื่องจะแมปกับ RtpReceiver ของทรานซีฟเวอร์ที่เฉพาะเจาะจงในเพียร์ระยะไกล และในทางกลับกันก็เช่นกัน ระบบจะแมป RtpSender ของ ทรานซีฟเวอร์เดียวกันของเพียร์ระยะไกลกับ RtpReceiver ของเพียร์ในเครื่อง

คำอธิบายสื่อทุกรายการจะมีตัวรับส่งเฉพาะของตัวเอง ดังนั้น เซสชันแบบเพียร์ทูเพียร์ที่มีสตรีม RTP หลายรายการจะมีตัวรับส่งหลายตัว พร้อม RtpSenders และ RtpReceiver หลายรายการสำหรับแต่ละเพียร์

Virtual Media Streams

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