Meet Media API'de sanal medya akışlarını yönetme

WebRTC konferans bağlamında sanal medya akışları, birden fazla katılımcının medyasını toplamak ve dağıtmak için bir Seçici Yönlendirme Birimi (SFU) tarafından oluşturulan medya akışlarıdır. Büyük konferanslarda karmaşık bir bağlantı ağı oluşturan doğrudan eşler arası medya akışlarının aksine, sanal medya akışları topolojiyi basitleştirir. SFU, her katılımcıdan ayrı medya akışları alır ve etkin veya alakalı akışları diğer katılımcılara seçerek yönlendirir. Bu akışları, daha küçük ve sabit bir giden sanal medya akışları kümesinde çoklar.

Bu yaklaşım, her katılımcının işlemesi gereken eşzamanlı gelen akış sayısını azaltarak işlem ve bant genişliği gereksinimlerini düşürür. Her sanal akışta, SFU tarafından konuşmacı etkinliği veya video ataması gibi faktörlere göre dinamik olarak ayarlanan, tek bir katılımcının medyası bulunabilir. Katılımcılar bu sanal akışları alır ve diğer her katılımcının akışını ayrı ayrı yönetmelerine gerek kalmadan konferansın birleştirilmiş görünümünü etkili bir şekilde görür. Sanal medya akışlarının sağladığı bu soyutlama, WebRTC konferanslarını çok sayıda katılımcıya ölçeklendirmek için çok önemlidir.

İstemcinin ses alabilmesi için tam olarak üç sesli medya açıklaması sunması ve üç yerel ses alıcı-vericisi oluşturması gerekir. Video almak için istemcinin bir ila üç video medya açıklaması sunması ve bu sayıda video alıcı-vericisi oluşturması gerekir.

Yakalayıcılar

Her istemciye ait alıcı-vericinin özel bir RtpReceiver ve Meet sunucularından ses RTP akışlarını alan özel bir "medya parçası" vardır.

Her parçanın benzersiz bir kimliği vardır ve belirli bir medya kaynağından kendi ayrı RTP paketi akışını alır. Örneğin, A parçası production-1 kaynağından ses alırken B parçası production-2 kaynağından ses alabilir.

SSRC'ler

Her RTP paketinde, paketi belirli bir parçaya bağlayan bir Synchronization Source (SSRC) başlık değeri bulunur.

Meet Media API aracılığıyla yapılan ses oturumlarında, her biri kendi statik SSRC'sine sahip üç farklı medya akışı kullanılır. Bu SSRC değerleri belirlendikten sonra oturum süresince asla değişmez.

Sanal akışlar

Meet Media API, sanal medya akışlarını kullanır. Bunlar oturum boyunca statiktir ancak paketlerin kaynağı, en alakalı feed'leri yansıtacak şekilde değişebilir. Sanal medya akışları, ses ve video için aynı şekilde çalışır.

RTP paketi üstbilgilerindeki Katkıda Bulunan Kaynak (CSRC), RTP paketlerinin gerçek kaynağını tanımlar. Meet, bir konferansa katılan her katılımcıya katıldığında kendi benzersiz CSRC'sini atar. Bu değer, kullanıcılar ayrılana kadar sabit kalır.

SSRC sayısı Meet Media API oturumu boyunca sabit olduğundan üç olası senaryo vardır:

  1. Kullanılabilir SSRC'lerden daha fazla katılımcı var:

    Meet, üç SSRC'de en yüksek sesli üç kişinin sesini iletir. Her RTP akışı kendi özel SSRC'sinde olduğundan akışlar arasında karışma olmaz.

    Meet, üç SSRC'de en yüksek sesli üç kişiyi iletir.
    1.şekil Meet, üç SSRC'de en yüksek sesli üç kişiyi iletir.

    Konferanstaki orijinal yayınlardan herhangi biri artık en yüksek sesli yayınlardan biri değilse Meet, SSRC'yi oluşturan RTP paketlerini en yüksek sesli yayına geçirir.

    Meet, RTP paketlerini en yüksek sesli olan yeni kişiye yönlendirir.
    Şekil 2. Meet, RTP paketlerini en yüksek sesli olan yeni kişiye yönlendirir.
  2. Etkin katılımcı sayısı, üç sesli SSRC'den az:

    Konferanstaki akış sayısından daha fazla SSRC'nin mevcut olduğu senaryoda Meet, mevcut tüm ses paketlerini kendi benzersiz SSRC'sine eşler. Kullanılmayan SSRC'ler hazır ve kullanılabilir durumda olmaya devam eder ancak RTP paketleri iletilmez.

    Haritalar, mevcut ses paketlerini kendi benzersiz SSRC'siyle eşleştirir.
    3.Şekil Haritalar, mevcut ses paketlerini kendi benzersiz SSRC'siyle eşleştirir.
  3. Etkin katılımcı sayısı, üç sesli SSRC'ye eşittir:

    Katılımcı sayısının eşit olduğu ve kullanılabilir SSRC'lerin bulunduğu senaryoda, her katılımcının medyası özel bir SSRC ile eşlenir. Bu eşlemeler, bu özel senaryo devam ettiği sürece geçerliliğini korur.

    Meet, her katılımcının medya öğesini özel bir SSRC ile eşler.
    4.şekil Meet, her katılımcının medya öğesini özel bir SSRC ile eşler.