Abonnieren: Management & Veranstaltungen
Dieses Handbuch behandelt die Verwaltung des Abonnentenverhaltens und die Reaktion auf Laufzeitereignisse, sowohl für Web (JavaScript) als auch für React Native.
Streams verwalten (React Native)
Erkennen, wenn sich die Videodimensionen eines Streams ändern
Die Videodimensionen eines Streams können sich ändern, wenn die Größe eines von einem mobilen Gerät veröffentlichten Streams geändert wird (z. B. aufgrund von Änderungen der Geräteausrichtung) oder wenn die Größe eines Fensters der Bildschirmfreigabequelle geändert wird. Wenn sich die Videodimensionen eines Streams ändern, sendet das Sitzungsobjekt ein Ereignis, das auf .
Einstellung der bevorzugten Bildrate und Auflösung
Wenn Sie einen Stream abonnieren, der die skalierbare Videofunktion verwendet, können Sie einstellen, dass die Videoauflösung des Abonnenten automatisch verwaltet und die CPU-/Netzwerknutzung optimiert wird. Für eine erweiterte Steuerung können Sie die bevorzugte Bildrate und Auflösung für den abonnierten Stream festlegen:
- - Gültige Werte sind 30, 15, 7 und 1. Lassen Sie den Wert undefiniert, um die höchste verfügbare Bildrate zu verwenden.
- - Gültige Werte sind , , und . Lassen Sie den Wert undefiniert, um die höchste verfügbare Auflösung zu verwenden.
Erkennen, wann Streams eine Sitzung verlassen
Wenn ein Remote Stream eine Sitzung verlässt, sendet die Komponente ein Ereignis:
Die Veranstaltung umfasst Details wie , , , , und .
Benutzerdefiniertes Rendering von Abonnenten
Standardmäßig werden untergeordnete Ansichten für Abonnentenvideos gerendert. Sie können auch eine Renderfunktion bereitstellen, um das Rendering vollständig zu steuern, indem Sie :
Einstellung der Stream-Eigenschaften
Legen Sie globale Eigenschaften für alle Abonnenten über den Parameter on fest, oder legen Sie die Eigenschaften pro Stream über den Parameter prop fest.
Verwalten von Teilnehmerströmen (nur JavaScript)
Einschränkung der Bildrate eines abonnierten Streams
Sie können auch die Bildrate des Videostroms eines Subscribers einschränken. Um die Bildrate eines Subscribers einzuschränken, rufen Sie die Methode des Subscriber-Objekts auf und übergeben dabei :
Pass in und die Bildrate des Videostroms ist nicht eingeschränkt:
Wenn die Bildrate eingeschränkt ist, wird das Videobild des Teilnehmers einmal oder weniger pro Sekunde aktualisiert.
Diese Funktion ist nur in Sitzungen verfügbar, die den Media Router verwenden (Sitzungen mit dem Medienmodus "geroutet"), nicht aber in Sitzungen mit dem Medienmodus "weitergeleitet". In weitergeleiteten Sitzungen hat der Aufruf dieser Methode keine Auswirkungen.
Die Begrenzung der Teilnehmerbildrate hat folgende Vorteile:
- Es reduziert die CPU-Nutzung.
- Dadurch wird die von der Anwendung verbrauchte Netzwerkbandbreite reduziert.
- Damit können Sie mehrere Streams gleichzeitig abonnieren.
Die Reduzierung der Bildrate eines Teilnehmers hat keine Auswirkungen auf die Bildrate des Videos in anderen Clients.
Erkennen, wann der Ton eines Teilnehmers gesperrt oder freigegeben ist
Einige Browser blockieren automatisch die Audiowiedergabe und erfordern ein Ereignis, bevor die Audiowiedergabe für Abonnenten beginnt. Zu diesen Browsern gehören Safari, Firefox 66+ und Chrome 71+.
Das Subscriber-Objekt zeigt eine Schaltfläche für die Audiowiedergabe an, wenn die Audiowiedergabe blockiert ist. Sie können die Standardschaltfläche für die Audiowiedergabe des Abonnenten deaktivieren und ein eigenes Oberflächenelement anzeigen, auf das der Benutzer klickt, um die Audiowiedergabe zu starten.
Siehe Anzeige eines benutzerdefinierten UI-Elements, wenn Teilnehmer-Audio blockiert ist.
Wenn der Ton des Teilnehmers blockiert ist, sendet das Subscriber-Objekt ein Ereignis, und es sendet ein Ereignis, wenn der Ton wieder freigegeben wird:
Außerdem enthält der Abonnent eine Funktion, die zurückgibt, ob der Ton blockiert ist oder nicht.
Der Ton des Teilnehmers wird freigegeben, wenn einer der folgenden Fälle eintritt:
- Der Benutzer klickt auf das Standardsymbol für die Audiowiedergabe des Teilnehmers
- Die OT.unblockAudio() Methode wird als Reaktion auf ein HTML-Element aufgerufen, das ein Ereignis auslöst (wenn Sie das Standardsymbol für die Audiowiedergabe deaktiviert haben)
- Der lokale Client erhält Zugriff auf die Kamera oder das Mikrofon (z. B. als Reaktion auf einen erfolgreichen Anruf bei ).
Weitere Informationen finden Sie unter dieser Mozilla-Artikel über Autoplay in Firefox und dieser Google-Artikel über Autoplay in Chrome.
Erkennen, wenn das Video eines Abonnenten deaktiviert ist
Wenn das Video des Abonnenten deaktiviert wird, sendet das Subscriber-Objekt ein Ereignis:
Wenn der Media Router das Video eines Teilnehmers deaktiviert, möchten Sie möglicherweise die Benutzeroberfläche für den Teilnehmer anpassen.
Die Eigenschaft des Ereignisobjekts definiert den Grund, aus dem das Video deaktiviert wurde. Sie kann auf einen der folgenden Werte gesetzt werden:
- - Der Herausgeber hat die Veröffentlichung des Videos durch einen Anruf gestoppt.
- - Der Media Router hat das Senden von Video an den Teilnehmer aufgrund von Änderungen der Streamqualität eingestellt. Mit dieser Funktion des Media Routers wird der Videostream eines Teilnehmers bei einer Verschlechterung der Konnektivität unterbrochen. (Der Teilnehmer empfängt weiterhin den Audiostream, sofern vorhanden.)
Wenn sich die Qualität des Streams des Teilnehmers so weit verschlechtert, dass die Gefahr besteht, dass der Videostream deaktiviert wird, sendet der Teilnehmer vor dem Senden dieses Ereignisses ein Ereignis.
Wenn sich die Konnektivität verbessert und wieder Video unterstützt wird, sendet das Subscriber-Objekt ein Ereignis, und der Subscriber kann wieder Video empfangen.
Standardmäßig zeigt der Abonnent eine Anzeige für deaktiviertes Video an, wenn ein Ereignis mit diesem Grund ausgelöst wird, und entfernt die Anzeige, wenn das Ereignis eintritt.
Wenn Sie einen Stream veröffentlichen, können Sie verhindern, dass das Video aufgrund der Streamqualität deaktiviert wird. Stellen Sie in den Optionen, die Sie in .
Abonnentenstatistiken abrufen (Web)
Die Methode eines Subscriber-Objekts liefert Ihnen Informationen über den Stream des Abonnenten, einschließlich der folgenden:
- Die Gesamtzahl der verlorenen Audio- und Videopakete
- Die Gesamtzahl der empfangenen Audio- und Videopakete
- Die Gesamtzahl der empfangenen Audio- und Videobytes
- Die aktuelle durchschnittliche Videobildrate
Der folgende Code protokolliert die Verlustquoten und Bitraten jede Sekunde:
Um Statistiken für einen Stream zu erhalten, der vom lokalen Client veröffentlicht wurde, müssen Sie eine geroutete Sitzung verwenden und die Option beim Abonnieren aktivieren:
Um detailliertere Stream-Statistiken zu erhalten, verwenden Sie .
Einstellung der bevorzugten Bildrate und Auflösung (Web)
Wenn Sie einen Stream abonnieren, der die skalierbare Videofunktion verwendet, können Sie festlegen, dass die Videoauflösung des Abonnenten automatisch verwaltet wird. Für eine erweiterte Steuerung stellen Sie und in den Optionen ein, die Sie an übergeben (oder verwenden Sie und nach dem Abonnieren).