Mengelola streaming media virtual di Meet Media API

Streaming Media Virtual, dalam konteks konferensi WebRTC, adalah streaming media yang dihasilkan oleh Selective Forwarding Unit (SFU) untuk menggabungkan dan mendistribusikan media dari beberapa peserta. Tidak seperti streaming media peer-to-peer langsung, yang akan membuat mesh koneksi yang kompleks dalam konferensi besar, streaming media virtual menyederhanakan topologi. SFU menerima setiap aliran media dari setiap peserta dan secara selektif meneruskan aliran yang aktif atau relevan ke peserta lain, yang memultipleksnya ke kumpulan aliran media virtual keluar yang lebih kecil dan tetap.

Pendekatan ini mengurangi jumlah streaming masuk serentak yang perlu ditangani setiap peserta, sehingga menurunkan persyaratan pemrosesan dan bandwidth. Setiap streaming virtual dapat berisi media dari satu peserta pada satu waktu, yang disesuaikan secara dinamis oleh SFU berdasarkan faktor seperti aktivitas pembicara atau tugas video. Peserta menerima streaming virtual ini, sehingga dapat melihat tampilan gabungan konferensi secara efektif tanpa perlu mengelola setiap streaming dari setiap peserta lain. Abstraksi ini yang disediakan oleh streaming media virtual sangat penting untuk menskalakan konferensi WebRTC ke peserta dalam jumlah besar.

Untuk menerima audio, klien harus menawarkan tepat tiga deskripsi media audio, yang membuat tiga transceiver audio lokal. Untuk menerima video, klien harus menawarkan satu hingga tiga deskripsi media video, yang menetapkan jumlah transceiver video tersebut.

Receiver

Setiap transceiver milik klien memiliki RtpReceiver khusus dan "jalur media" khusus yang menerima streaming RTP audio dari server Meet.

Setiap trek memiliki ID unik dan menerima streaming paket RTP yang berbeda dari sumber media tertentu tersebut. Misalnya, Jalur A mungkin menerima audio dari production-1, sedangkan Jalur B menerima audio dari production-2.

SSRC

Setiap paket RTP memiliki nilai header Synchronization Source (SSRC), yang mengikatnya ke jalur tertentu.

Sesi audio melalui Meet Media API menggunakan tiga aliran media yang berbeda, masing-masing memiliki SSRC statisnya sendiri. Setelah ditetapkan, nilai SSRC ini tidak pernah berubah selama sesi berlangsung.

Streaming virtual

Meet Media API menggunakan Virtual Media Streams. Feed ini bersifat statis selama sesi, tetapi sumber paket dapat berubah untuk mencerminkan feed yang paling relevan. Streaming Media Virtual berperilaku sama untuk audio dan video.

Sumber Kontributor (CSRC) dalam header paket RTP mengidentifikasi sumber benar dari paket RTP. Meet menetapkan CSRC unik untuk setiap peserta dalam konferensi saat mereka bergabung. Nilai ini tetap konstan hingga pengguna keluar.

Karena jumlah SSRC konstan selama sesi Meet Media API, berikut tiga kemungkinan skenarionya:

  1. Lebih banyak peserta daripada SSRC yang tersedia:

    Meet mengirimkan tiga orang yang paling keras di tiga SSRC. Karena setiap aliran RTP berada di SSRC khusus, tidak ada campuran antar-aliran.

    Meet mengirimkan tiga orang yang paling keras di tiga SSRC.
    Gambar 1. Meet mengirimkan tiga orang yang paling keras di tiga SSRC.

    Jika salah satu streaming asli dalam konferensi tidak lagi menjadi salah satu streaming yang paling keras, Meet akan mengalihkan paket RTP yang membentuk SSRC ke streaming yang paling keras.

    Meet mengalihkan paket RTP ke orang baru yang paling keras.
    Gambar 2. Meet mengalihkan paket RTP ke orang baru yang paling keras.
  2. Jumlah peserta aktif kurang dari tiga SSRC audio:

    Untuk skenario saat lebih banyak SSRC yang tersedia daripada streaming dalam konferensi, Meet memetakan paket audio yang tersedia ke SSRC uniknya sendiri. Setiap SSRC yang tidak digunakan masih siap dan tersedia, tetapi tidak ada paket RTP yang dikirim.

    Meet memetakan paket audio yang tersedia ke SSRC-nya yang unik.
    Gambar 3. Meet memetakan paket audio yang tersedia ke SSRC-nya yang unik.
  3. Jumlah peserta aktif sama dengan tiga SSRC audio:

    Untuk skenario peserta yang sama dan SSRC yang tersedia, setiap media peserta dipetakan ke SSRC khusus. Pemetaan ini akan tetap ada selama skenario tertentu ini tetap ada.

    Meet memetakan media setiap peserta ke SSRC khusus.
    Gambar 4. Meet memetakan media setiap peserta ke SSRC khusus.