Ringkasan Meet Media API

Google Meet Media API memungkinkan Anda mengakses media real-time dari konferensi Google Meet. Hal ini memungkinkan berbagai kasus penggunaan, seperti aplikasi yang mendokumentasikan item tindakan, menawarkan insight real-time tentang rapat saat ini, atau melakukan streaming audio dan video ke platform baru.

Kasus penggunaan

Aplikasi yang terdaftar di konsol Google Cloud dapat menggunakan Meet Media API untuk terhubung ke konferensi Meet, sehingga aplikasi tersebut dapat:

  • Menggunakan streaming video. Contoh:
    • Menyediakan streaming video yang dihasilkan dalam konferensi Meet ke model AI Anda sendiri.
    • Memfilter aliran untuk rekaman kustom.
  • Menggunakan streaming audio. Contoh:
    • Masukkan audio langsung ke Gemini dan buat chatbot AI rapat Anda sendiri.
    • Menyediakan streaming audio yang dihasilkan dalam konferensi Meet ke layanan transkripsi Anda sendiri
    • Buat teks dalam berbagai bahasa.
    • Membuat feed bahasa isyarat yang dihasilkan model dari audio yang direkam.
    • Buat model peredam bising Anda sendiri untuk menghilangkan artefak bising dan latar belakang dari konferensi.
  • Menggunakan metadata peserta. Contoh:
    • Mendeteksi peserta yang berada dalam konferensi, sehingga memungkinkan intelijen dan analisis yang lebih baik.

Siklus proses Meet Media API

Gambar berikut menunjukkan siklus proses Meet Media API:

  • Bot Meet Media API mencoba bergabung di situs pihak ketiga.
    Gambar 1. Bot Meet Media API mencoba bergabung di situs pihak ketiga. Koneksi ditolak jika ada akun di bawah umur.
  • Rapat terenkripsi dan rapat dengan watermark.
    Gambar 2. Rapat dapat ditandai sebagai dienkripsi dan memiliki watermark. Meet Media API tidak dapat dihubungkan saat rapat memiliki enkripsi atau tanda air.
  • Pastikan setelan administrator sudah benar.
    Gambar 3. Pastikan setelan administrator sudah benar.
  • Siapkan rapat di Kalender.
    Gambar 4. Siapkan rapat di Kalender. Host harus memberikan izin kepada aplikasi pihak ketiga di setelan Kalender, jika tidak, koneksi akan ditolak.
  • Perubahan setelan selama panggilan.
    Gambar 5. Perubahan setelan selama panggilan. Jika penyelenggara memutuskan untuk menonaktifkan setelan Meet Media API selama panggilan, koneksi akan berhenti.
  • Inisiator harus hadir selama rapat konsumen.
    Gambar 6. Jika pemilik rapat memiliki akun konsumen (akun yang diakhiri dengan @gmail.com), maka pemrakarsa harus hadir dalam rapat untuk memberikan izin. Jika tidak, koneksi akan ditolak.
  • Koneksi terhubung.
    Gambar 7. Setelah koneksi dibuat, penyelenggara, rekan penyelenggara, atau peserta mana pun dalam organisasi yang sama dengan penyelenggara akan melihat dialog inisiasi.
  • Siapa pun dapat menghentikan Meet Media API selama panggilan.
    Gambar 8. Siapa pun dapat menghentikan Meet Media API selama panggilan.

Istilah umum

Nomor project Cloud
ID int64 yang dibuat dan tidak dapat diubah untuk project Google Cloud. Nilai ini dibuat oleh Konsol Google Cloud untuk setiap aplikasi terdaftar.
Konferensi
Instance panggilan yang dibuat server dalam ruang pertemuan. Pengguna biasanya menganggap skenario ini sebagai satu rapat.
Saluran Data Resource Konferensi

Daripada meminta resource melalui HTTP, seperti pada Google Meet REST API, klien Meet Media API meminta resource dari server melalui saluran data.

Saluran data khusus dapat dibuka untuk setiap jenis resource. Setelah dibuka, klien dapat mengirim permintaan melalui saluran. Pembaruan resource akan dikirimkan melalui saluran yang sama.

Sumber Kontribusi (CSRC)

Dengan streaming media virtual, Anda tidak dapat mengasumsikan bahwa streaming media selalu mengarah ke peserta yang sama. Nilai CSRC di header setiap paket RTP mengidentifikasi sumber sebenarnya dari paket tersebut.

Meet menetapkan nilai CSRC unik kepada setiap peserta dalam konferensi saat mereka bergabung. Nilai ini tetap konstan hingga mereka keluar.

Saluran data

Channel Data WebRTC memungkinkan pertukaran data arbitrer (teks, file, dll.) secara terpisah dari streaming audio dan video. Saluran Data menggunakan koneksi yang sama dengan aliran media, sehingga memberikan cara yang efisien untuk menambahkan pertukaran data ke aplikasi WebRTC.

Pembentukan Konektivitas Interaktif (ICE)

Protokol untuk membuat konektivitas, menemukan semua kemungkinan rute agar dua komputer dapat berkomunikasi satu sama lain melalui jaringan peer-to-peer (P2P), lalu memastikan Anda tetap terhubung.

Streaming media

Aliran Media WebRTC merepresentasikan aliran data media, biasanya audio atau video, yang diambil dari perangkat seperti kamera atau mikrofon. Terdiri dari satu atau beberapa jalur streaming media, yang masing-masing merepresentasikan satu sumber media seperti jalur video atau jalur audio).

Track streaming media

Terdiri dari satu aliran paket RTP searah. Track streaming media dapat berupa audio atau video, tetapi tidak keduanya. Koneksi Secure Real-time Transport Protocol (SRTP) dua arah biasanya terdiri dari dua jalur streaming media, keluar dari peer lokal ke peer jarak jauh dan masuk dari peer jarak jauh ke peer lokal.

Ruang rapat

Tempat virtual atau objek persisten (seperti ruang rapat) tempat konferensi diadakan. Hanya satu konferensi aktif yang dapat diadakan di satu ruang dalam satu waktu. Ruang pertemuan juga membantu pengguna bertemu dan menemukan sumber daya bersama.

Peserta

Seseorang bergabung ke konferensi atau menggunakan Mode Pendamping, menonton sebagai penonton, atau perangkat ruang terhubung ke panggilan. Saat peserta bergabung ke konferensi, ID unik akan ditetapkan.

Streaming yang relevan

Ada batas jumlah Aliran Audio Virtual dan Aliran Video Virtual yang dapat dibuka klien.

Jumlah peserta dalam konferensi dapat melebihi jumlah ini. Dalam situasi ini, server Meet mentransmisikan streaming audio dan video peserta yang dianggap "paling relevan". Relevansi ditentukan dari berbagai karakteristik, seperti berbagi layar dan seberapa baru peserta berbicara.

Unit Penerusan Selektif (SFU)

Unit Penerusan Selektif (SFU) adalah komponen sisi server dalam konferensi WebRTC yang mengelola distribusi aliran media. Peserta terhubung hanya ke SFU, yang meneruskan aliran yang relevan secara selektif ke peserta lainnya. Hal ini mengurangi kebutuhan pemrosesan klien dan bandwidth, sehingga memungkinkan konferensi yang dapat diskalakan.

Session Description Protocol (SDP)

Mekanisme pensinyalan yang digunakan WebRTC untuk menegosiasikan koneksi P2P. RFC 8866 mengaturnya.

Jawaban SDP

Respons terhadap penawaran SDP. Jawaban menolak atau menerima aliran yang diterima dari peer jarak jauh. Objek ini juga menegosiasikan aliran mana yang akan ditransmisikan kembali ke peer penawaran. Penting untuk diperhatikan bahwa jawaban SDP tidak dapat menambahkan aliran yang disinyalkan dari penawaran awal. Secara anekdotal, jika peer yang menawarkan memberi sinyal bahwa peer tersebut menerima hingga tiga aliran audio dari peer jarak jauhnya, peer jarak jauh ini tidak dapat memberi sinyal empat aliran audio untuk transmisi.

Penawaran SDP

SDP awal dalam alur negosiasi peer-to-peer penawaran-jawaban. Penawaran dibuat oleh peer yang memulai dan menentukan persyaratan sesi peer-to-peer. Penawaran selalu dibuat oleh klien Meet Media API dan dikirimkan ke server Meet.

Misalnya, penawaran dapat menunjukkan jumlah streaming audio atau video yang dikirim (atau dapat diterima) oleh penawar dan apakah saluran data akan dibuka.

Sumber Sinkronisasi (SSRC)

SSRC adalah ID 32-bit yang secara unik mengidentifikasi satu sumber aliran media dalam sesi RTP (Real-time Transport Protocol). Di WebRTC, SSRC digunakan untuk membedakan antara aliran media yang berbeda yang berasal dari peserta yang berbeda atau bahkan trek yang berbeda dari peserta yang sama (seperti kamera yang berbeda).

RtpTransceiver

Seperti yang dijelaskan dalam RFC 8829, transceiver adalah abstraksi di sekitar streaming RTP dalam sesi peer-to-peer.

Transceiver tunggal dipetakan ke, dan dijelaskan oleh, deskripsi media tunggal dalam SDP. Transceiver terdiri dari RtpSender dan RtpReceiver.

Karena RTP bersifat dua arah, setiap peer memiliki instance transceiver-nya sendiri untuk koneksi RTP yang sama. RtpSender dari transceiver tertentu untuk peer lokal dipetakan ke RtpSender dari transceiver tertentu di peer jarak jauh.RtpReceiver Hal sebaliknya juga berlaku. RtpSender transceiver yang sama dari peer jarak jauh dipetakan ke RtpReceiver peer lokal.

Setiap deskripsi media memiliki transceiver khusus. Oleh karena itu, sesi peer-to-peer dengan beberapa aliran RTP memiliki beberapa transceiver dengan beberapa RtpSenders dan RtpReceiver untuk setiap peer.

Aliran Media Virtual

Aliran Media Virtual adalah aliran media gabungan yang dihasilkan oleh Unit Penerusan Selektif (SFU) dalam konferensi WebRTC. Daripada setiap peserta mengirimkan masing-masing streaming ke semua orang, SFU memultipleks streaming peserta yang dipilih ke lebih sedikit streaming virtual keluar. Hal ini menyederhanakan topologi koneksi dan mengurangi beban pada peserta, sehingga memungkinkan konferensi yang dapat diskalakan. Setiap aliran virtual dapat berisi media dari beberapa peserta, yang dikelola secara dinamis oleh SFU.