Wirtualne strumienie multimediów w kontekście konferencji WebRTC to strumienie multimediów generowane przez jednostkę selektywnego przekierowywania (SFU) w celu agregowania i dystrybucji multimediów od wielu uczestników. W przeciwieństwie do bezpośrednich strumieni danych peer-to-peer, które w przypadku dużych konferencji tworzyłyby skomplikowaną sieć połączeń, wirtualne strumienie danych upraszczają topologię. SFU odbiera indywidualne strumienie multimediów od każdego uczestnika i selektywnie przesyła aktywne lub odpowiednie strumienie do innych uczestników, multiplexując je na mniejszy, stały zestaw wychodzących strumieni multimediów.
Dzięki temu zmniejsza się liczba jednoczesnych strumieni przychodzących, które musi obsługiwać każdy uczestnik, co pozwala ograniczyć wymagania dotyczące przetwarzania i przepustowości. Każdy strumień wirtualny może zawierać treści od jednego uczestnika naraz, które są dynamicznie dostosowywane przez SFU na podstawie czynników takich jak aktywność mówcy lub przypisanie filmu. Uczestnicy otrzymują te wirtualne strumienie, dzięki czemu widzą skompilowany widok konferencji bez konieczności zarządzania poszczególnymi strumieniami każdego innego uczestnika. Ta abstrakcja zapewniana przez wirtualne strumienie multimediów jest kluczowa dla skalowania konferencji WebRTC na dużą liczbę uczestników.
Aby odbierać dźwięk, klient musi zaproponować dokładnie 3 opisy mediów audio, tworząc 3 lokalne transmisje audio. Aby otrzymać film, klient musi zaoferować od 1 do 3 opisów multimediów wideo, określając liczbę transceiverów wideo.
Przyjmujący
Każdy transceiver należący do klienta ma dedykowany port RtpReceiver
i dedykowany „kanał multimedialny”, który odbiera strumienie audio RTP ze serwerów Meet.
Każdy utwór ma unikalny identyfikator i otrzymuje własny strumień pakietów RTP z danego źródła multimediów. Na przykład ścieżka A może otrzymywać dźwięk z production-1
, a ścieżka B – z production-2
.
SSRC
Każdy pakiet RTP ma wartość nagłówka źródła synchronizacji (SSRC), która łączy go z określonym utworem.
Sesje audio za pomocą interfejsu API Meet Media korzystają z 3 oddzielnych strumieni multimediów, z których każdy ma własny statyczny identyfikator SSRC. Po ustaleniu te wartości SSRC nigdy się nie zmieniają przez cały czas trwania sesji.
Wirtualne transmisje
Interfejs Meet Media API korzysta z wirtualnych strumieni multimediów. Są one statyczne przez całą sesję, ale źródło pakietów może się zmieniać, aby odzwierciedlać najbardziej odpowiednie kanały danych. Strumienie mediów wirtualnych działają tak samo w przypadku dźwięku i wideo.
Contributing Source (CSRC) w nagłówkach pakietów RTP identyfikuje prawdziwe źródło pakietów RTP. Gdy użytkownik dołącza do rozmowy wideo, Meet przypisuje mu własny unikalny identyfikator CSRC. Ta wartość pozostaje stała, dopóki użytkownik nie opuści strony.
Ponieważ liczba SSRC jest stała w całym interfejsie Meet Media API, możliwe są 3 sytuacje:
Więcej uczestników niż dostępnych identyfikatorów SSRC:
Meet przesyła sygnał z 3 najgłośniejszych osób w 3 źródłach SSRC. Ponieważ każdy strumień RTP ma swój własny SSRC, nie ma mieszania między strumieniami.
Rysunek 1. Meet przesyła sygnał z 3 najgłośniejszych osób w 3 różnych SSRC. Jeśli któryś z oryginalnych strumieni na konferencji nie jest już jednym z najgłośniejszych, Meet przełącza pakiety RTP, które tworzą SSRC, na najgłośniejsze.
Rysunek 2. Meet przełącza pakiety RTP na nową osobę o najgłośniejszym głosie. Liczba aktywnych uczestników jest mniejsza niż 3 identyfikatory SSRC audio:
W przypadku, gdy dostępnych jest więcej SSRC niż strumieni w konferencji, Meet przypisuje wszystkie dostępne pakiety audio do własnego unikalnego SSRC. Wszystkie nieużywane SSRC są nadal gotowe i dostępne, ale nie są przesyłane żadne pakiety RTP.
Rysunek 3. Meet mapuje dostępne pakiety audio na swój własny SSRC. Liczba aktywnych uczestników jest równa 3 wartościom SSRC dźwięku:
W przypadku równej liczby uczestników i dostępnych SSRC media każdego z nich są mapowane na dedykowany SSRC. Te mapowania są zachowane tak długo, jak długo trwa ten konkretny scenariusz.
Rysunek 4. Meet przypisuje media każdego uczestnika do dedykowanego SSRC.