Eigenschaften | Objekt „properties“ | Methoden | Veranstaltungen
Die OTPublisher Die Komponente initialisiert beim Einbinden einen Publisher und veröffentlicht Daten an die angegebene Sitzung. Um den Publisher zu beenden, heben Sie die Einbindung der OTPublisher Komponente. Bitte beachten Sie, dass die Publisher-Ansicht erst dann entfernt wird, wenn Sie die OTPublisher Komponente.
Fügen Sie die OTPublisher-Komponente als untergeordnete Komponente der OTSession-Komponente hinzu:
class App extends Component {
constructor(props) {
super(props);
this.publisherProperties = {
publishAudio: true,
publishVideo: false,
publishCaptions: true,
cameraPosition: 'front'
};
this.publisherEventHandlers = {
streamCreated: event => {
console.log('Publisher stream created!', event);
},
streamDestroyed: event => {
console.log('Publisher stream destroyed!', event);
}
};
}
render() {
return (
<OTSession apiKey="your-api-key" sessionId="your-session-id" token="your-session-token">
<OTPublisher
properties={this.publisherProperties}
eventHandlers={this.publisherEventHandlers}
style={{ height: 100, width: 100 }}
/>
</OTSession>
);
}
}
Requisiten
Die OTPublisher-Komponente verfügt über die folgenden Eigenschaften, die jeweils optional sind:
-
sessionId(Zeichenkette) – Die OpenTok-Sitzungs-ID. Diese wird automatisch ausgefüllt, indemOTPublishermitOTSession, daher müssen Sie diese Eigenschaft für den OTPublisher in der Regel nicht festlegen. -
properties(Objekt) -- Optionen für die Publisher-Instanz. Siehe den folgenden Abschnitt, Objekt „properties“. DiepropertiesDas Objekt dient zur Ersteinrichtung des Publishers. DasOTPublisherDas Objekt überwacht Änderungen an einigen Schlüsseln despropertiesObjekt, und nimmt die erforderlichen Änderungen vor. Derzeit sind dies:-
cameraPosition -- Stellt die Kamera auf „vorne“ oder „hinten“ ein.
-
publishAudio -- Schaltet den Ton ein (
true) oder ausfalse. -
publishVideo -- Schaltet das Video ein (
true) oder ausfalse. -
publishCaptions -- Schaltet die Bildunterschriften ein (
true) oder ausfalsefür den veröffentlichten Stream.
-
-
eventHandlers(Objekt) – Ein Objekt, das Schlüssel-Wert-Paare aus Ereignisnamen und Callback-Funktionen für Ereignisbehandler enthält. Siehe Veranstaltungen.
Objekt „properties“
Die properties Das an das OTPublisher-Objekt übergebene Objekt verfügt über die folgenden Eigenschaften:
-
allowAudioCaptureWhileMuted (Boolescher Wert) Bei der Einstellung „false“ wird das Mikrofon automatisch ausgeschaltet, sobald der Publisher seine Audioausgabe stummgeschaltet hat. Das Mikrofon wird automatisch wieder eingeschaltet, sobald der Publisher die Stummschaltung aufhebt. Bei der Einstellung „true“ bleibt das Mikrofon stets eingeschaltet, auch wenn der Publisher seine Audioausgabe stummgeschaltet hat. Der Standardwert ist „false“.
-
audioBitrate (Zahl) – Die gewünschte Bitrate für den veröffentlichten Ton in Bit pro Sekunde. Der unterstützte Wertebereich liegt zwischen 6.000 und 510.000. (Ungültige Werte werden ignoriert.) Legen Sie diesen Wert fest, um Audio in hoher Qualität zu aktivieren (oder um die Bandbreitennutzung bei Audio in geringerer Qualität zu reduzieren).
Die folgenden Einstellungen sind empfehlenswert:
- 8.000 - 12.000 für Schmalbandsprache (NB)
- 16.000 - 20.000 für Breitbandsprache (WB)
- 28.000 - 40.000 für Full-Band (FB) Sprache
- 48.000 - 64.000 für Vollbandmusik (FB)
- 64.000 – 128.000 für Vollband-Stereomusik (FB)
Der Standardwert beträgt 40.000.
-
audioFallbackEnabled (Objekt) —- Einstellung für die Audio-Fallback-Funktion. Die
audioFallbackObjekt enthält zwei boolesche Eigenschaften:-
publisher- Ob Sie aktivieren (true) oder deaktivieren (false) Audio-Fallback des Publishers. Ist das Audio-Fallback des Publishers aktiviert, deaktiviert der Publisher das Video, sobald sich die Qualität des Streams erheblich verschlechtert hat (beispielsweise aufgrund der Netzwerkbedingungen), um die Audioqualität zu erhalten. Die Standardeinstellung istfalse(Audio-Fallback des Herausgebers ist deaktiviert). -
subscriber- Ob Sie aktivieren (true) oder deaktivieren (false) Teilnehmer-Audio-Fallback. Diese Einstellung gilt nur für geroutete Sitzungen (Sitzungen, die den OpenTok Media Router). Der Audio-Fallback für Teilnehmer wird in weitergeleiteten Sitzungen nicht unterstützt. Ist der Audio-Fallback für Teilnehmer aktiviert und stellt der OpenTok Media Router fest, dass sich die Qualität eines Streams für einen bestimmten Teilnehmer erheblich verschlechtert hat, deaktiviert er das Video bei diesem Teilnehmer, um die Audioqualität zu erhalten. Für Streams, die eine Kamera als Videoquelle verwenden, lautet die Standardeinstellungtrue(Die Audio-Fallback-Funktion ist aktiviert). Die Standardeinstellung lautetfalse(die Audio-Fallback-Funktion ist deaktiviert) für Bildschirmfreigabe-Streams ( die über dievideoSourceEigenschaft in der OTPublisher-Komponente auf „screen“ gesetzt). Diese Einstellung ersetzt dieaudioFallbackEnabledEigenschaft, die veraltet sein wird.
-
-
audioFallbackEnabled (Boolesch) —- Veraltet. Dies wird ersetzt durch die
subscriberEigenschaft deraudioFallbackEigenschaft (siehe oben). -
audioTrack (Boolescher Wert) – Wenn diese Eigenschaft auf „false“ gesetzt ist, wird das Audiosubsystem für den Publisher nicht initialisiert, und das Setzen der
publishAudioDie Eigenschaft hat keine Auswirkung. Wenn Ihre Anwendung keine Audioausgabe benötigt, wird empfohlen, diese Eigenschaft festzulegen, anstatt die Eigenschaft „publishAudio“ zu verwenden, die die Audiospur nur vorübergehend deaktiviert. -
Kameraposition (Zeichenkette) – Die bevorzugte Kameraposition. Wenn diese Eigenschaft festgelegt wird und die Änderung möglich ist, verwendet der Publisher die Kamera mit der angegebenen Position. Gültige Eingaben sind „front“ (Standard) und „back“.
-
Kamera-Taschenlampe (Boolescher Wert) – Der bevorzugte Taschenlampenmodus für die Kamera. Durch die Einstellung dieser Eigenschaft wird festgelegt, ob der Herausgeber den Modus aktivieren soll (
true) oder deaktivieren (false(Standard) die Taschenlampe der Kamera, sofern verfügbar. Beachten Sie, dass es sich hierbei um eine Einstellung handelt, die möglicherweise nicht wirksam wird, wenn die aktive Kamera keine Taschenlampenfunktion unterstützt (die Frontkamera unterstützt beispielsweise in der Regel keine Taschenlampe). -
Kamera-Zoomfaktor (Zahl) – Der bevorzugte Zoomfaktor (Verhältnis) für die Kamera. Der Wert 1,0 entspricht keinem Zoom (Standardansicht). Der Wert liegt zwischen 0,5 und dem maximalen Zoomfaktor. Werte zwischen 0,5 und 1,0 entsprechen einem Ultraweitwinkel (Herauszoomen), während Werte zwischen 1,0 und dem maximalen Zoomfaktor einem Heranzoomen entsprechen. Der tatsächlich angewendete Zoomfaktor wird automatisch auf den von der Konfiguration der aktiven Kamera unterstützten Bereich begrenzt – wenn die Kamera keinen Ultraweitwinkel unterstützt, werden Zoomfaktoren unter 1,0 nicht wirksam und es wird kein Zoom angewendet. Bei Werten, die über dem von der Kamera unterstützten maximalen Zoomfaktor liegen, wird der Zoomfaktor auf den Maximalwert gesetzt.
-
Abwertungspräferenz (DegradationPreference) – Die bevorzugte Richtlinie zur Videoqualitätsreduzierung bei begrenzter Bandbreite bzw. begrenzter CPU-Leistung.
-
enableDtx (Boolesch) – Ob aktiviert werden soll Opus DTX. Der Standardwert ist
false. Wenn diese Option auf „true“ gesetzt wird, kann dies die Bandbreitennutzung bei Streams mit langen Stillphasen reduzieren. -
Bildfrequenz (Zahl) – Die gewünschte Bildrate des Videos in Bildern pro Sekunde. Gültige Werte sind 30, 15, 7 und 1. Der veröffentlichte Stream verwendet den Wert, der dem eingestellten Wert am nächsten kommt und vom Veröffentlichungsclient unterstützt wird. Die Bildrate kann je nach Gerät des Clients geringfügig von dem von Ihnen festgelegten Wert abweichen. Außerdem wird die gewünschte Bildrate nur dann verwendet, wenn die Client-Konfiguration diese unterstützt.
-
maxVideoBitrate (Zahl) – Die maximale Videobitrate für den Videostream des Publishers in Bit pro Sekunde (bps). Diese Eigenschaft legt eine explizite Obergrenze für die Videobitrate des Publishers fest, die zwischen 5.000 und 10.000.000 liegen muss. Die
maxVideoBitrateDie Eigenschaft hat Vorrang vor dervideoBitratePresetEigenschaft. Wenn beide festgelegt sind, gilt nur diemaxVideoBitrateEigenschaft wird verwendet. Weitere Informationen finden Sie unter diese Dokumentation. -
Name (Zeichenkette) – Eine Zeichenkette, die dem Stream dieses Publishers zugeordnet wird. Diese Zeichenkette wird am unteren Rand der Videos des Publishers sowie am unteren Rand der Videos der Abonnenten angezeigt, die mit dem veröffentlichten Stream verknüpft sind. Wenn Sie keinen Wert angeben, wird der Name auf den Gerätenamen gesetzt.
-
bevorzugte Videokodecs (PreferredVideoCodecs) – Die Prioritätsreihenfolge der bevorzugten Videocodecs für die Veröffentlichung. Der Wert kann auf „automatic“ oder ein Array von Videocodecs in der Reihenfolge ihrer Präferenz gesetzt werden. Die unterstützten Videocodecs sind „vp8“, „vp9“ und „h264“. Bei Videocodecs wird zwischen Groß- und Kleinschreibung unterschieden; sie müssen „vp8“, „vp9“ oder „h264“ lauten, um gültig zu sein. Setzen Sie den Wert auf „automatisch“, damit das SDK die am besten geeignete Reihenfolge auswählt. Wird dieser Wert weggelassen, verwendet das SDK die Standardeinstellung des Projekts. Sind ungültige Videocodecs im Array enthalten, werden diese ignoriert, und die gültigen Videocodecs werden in der Reihenfolge ihrer Auflistung priorisiert. Wird ein leeres Array übergeben, eine leere Zeichenkette angegeben oder eine andere Zeichenkette als „automatic“ angegeben, verwendet das SDK die Standardeinstellung des Projekts. Weitere Informationen finden Sie unter diese Dokumentation.
-
Audio veröffentlichen (Boolescher Wert) – Gibt an, ob Audio veröffentlicht werden soll. Der Standardwert ist
true. -
Video veröffentlichen (Boolescher Wert) – Gibt an, ob das Video veröffentlicht werden soll. Der Standardwert ist
true. -
Bildunterschriften veröffentlichen (Boolescher Wert) — Gibt an, ob Untertitel veröffentlicht werden sollen. Beachten Sie, dass für die Sitzung die Untertitel aktiviert sein müssen (mithilfe der REST-Methode der Video API oder des Server-SDK) und der Publisher Audio übertragen muss. Weitere Informationen finden Sie unter Live Captions Entwicklerhandbuch.
-
publishSenderStats (Boolesch) – Aktiviert einen Absenderstatistikkanal für den Publisher. Derzeit unterstützt diese Funktion nur Anrufe mit mehr als zwei Teilnehmern. Weitere Informationen finden Sie unter diese Dokumentation.
-
Skalierbare Bildschirmfreigabe (Boolescher Wert) – Legt fest, ob die Verwendung von {scalable video}(/developer/guides/scalable-video/) für einen Publisher mit Bildschirmfreigabe (true) zugelassen werden soll oder nicht (false, Standardwert). Dies gilt nur für Publisher, die über die
videoSourceauf „Bildschirm“ einstellen. -
scaleBehavior (Zeichenkette) – Legt fest, wie das Video beim Rendern skaliert wird. Unterstützte Werte sind
fill(Standard) undfit. Diese Eigenschaft wird derzeit nur auf iOS unterstützt. -
Entschließung (Zeichenkette) – Die gewünschte Auflösung des Videos. Das Format der Zeichenfolge lautet „BreitexHöhe“, wobei Breite und Höhe in Pixeln angegeben werden. Gültige Werte sind „1920x1080“, „1280x720“, „640x480“ und „352x288“. Das veröffentlichte Video verwendet die gewünschte Auflösung nur, wenn die Client-Konfiguration diese unterstützt. Einige Geräte und Clients unterstützen nicht alle diese Auflösungseinstellungen.
-
videoBitratePreset (Zeichenkette) – Die auf den Videostream des Publishers angewendete Voreinstellung für die Videobitrate. Setzen Sie diesen Wert auf einen der folgenden Zeichenfolgenwerte: „default“, „bw_saver“ oder „extra_bw_saver“. Diese Eigenschaft wird ignoriert, wenn die
videoBitratePresetEigenschaft ist festgelegt. Sind beide nicht festgelegt, verwendet der Herausgeber die Standardvoreinstellung. Weitere Informationen finden Sie unter diese Dokumentation. -
videoContentHint (Zeichenkette) – Legt den Inhaltshinweis der Videospur des Publisher-Streams fest. Sie können hierfür einen der folgenden Werte festlegen: „“, „motion“, „details“ oder „text“. Weitere Informationen finden Sie unter Dokumentation für die
videoContentHintOption desOT.initPublisher()Methode des OpenTok.js-SDK. -
videoTrack (Boolescher Wert) – Wenn diese Eigenschaft auf „false“ gesetzt ist, wird das Videosubsystem für den Publisher nicht initialisiert, und das Setzen der Eigenschaft „publishVideo“ hat keine Auswirkung. Wenn Ihre Anwendung keine Videofunktionen benötigt, wird empfohlen, diese Eigenschaft zu setzen, anstatt die Eigenschaft „publishVideo“ zu verwenden, die die Videospur nur vorübergehend deaktiviert.
-
videoSource (Zeichenkette) -- Um einen Bildschirmfreigabe-Stream zu veröffentlichen, setzen Sie diese Eigenschaft auf „screen“. Wenn Sie keinen Wert angeben, wird standardmäßig „camera“ verwendet.
Methoden
getRtcStatsReport() Ruft den RTC-Statistikbericht für den Publisher ab. Dies ist ein asynchroner Vorgang.
Das OTPublisher-Objekt sendet eine rtcStatsReport Ereignis, wenn RTC-Statistiken für den Publisher verfügbar sind.
setAudioTransformers() -- Legt die Audio-Transformatoren für den Publisher fest.
<P class="important"> <B>Wichtig:</B> Um diese Methode nutzen zu können, müssen Sie die Vonage Media Transformer-Bibliothek separat vom OpenTok React Native SDK zu Ihrem Projekt hinzufügen. Weitere Informationen finden Sie unter Integration der Vonage-Mediathek. </p>
Es wird ein Audio-Transformator unterstützt – der Rauschunterdrückungsfilter.
Diese Methode hat einen Parameter – ein Array von Objekten, die die einzelnen Transformatoren definieren, die auf den Stream des Publishers angewendet werden sollen. Ein Transformator-Objekt verfügt über zwei Eigenschaften:
-
name(Zeichenkette) -- Setze diesen Wert auf'NoiseSuppression'. -
properties(Zeichenkette) -- Setzen Sie diesen Wert auf eine leere Zeichenkette.
Um Audiotransformatoren aus dem veröffentlichten Stream zu entfernen, rufen Sie die OTPublisher.setAudioTransformers() Methode und geben Sie ein leeres Array ein.
Das ist wichtig: Medientransformationen wie beispielsweise der Rauschunterdrückungsfilter sind ressourcenintensiv und erfordern Geräte mit hoher Rechenleistung. Es wird empfohlen, diese Transformationen nur auf unterstützten Geräten anzuwenden. Weitere Informationen finden Sie in der folgenden Dokumentation:
Weitere Informationen zu Transformatoren finden Sie unter Verwendung der Vonage Medienprozessor-Bibliothek
setVideoTransformers() -- Legt die Videotransformatoren für den Publisher fest.
<P class="important"> <B>Wichtig:</B> Ab Version 2.28.0 des Vonage Video React Native SDK müssen Sie, um diese Methode nutzen zu können, die Vonage Media Library separat vom Vonage Video React Native SDK hinzufügen. Weitere Informationen finden Sie unter Integration der Vonage-Mediathek. </p>
Diese Methode hat einen Parameter – ein Array von Objekten, die die einzelnen Transformatoren definieren, die auf den Stream des Publishers angewendet werden sollen. Ein Transformator-Objekt verfügt über zwei Eigenschaften:
-
name(Zeichenkette) -- Entweder „BackgroundBlur“ (für einen Filter zur Hintergrundunschärfe) oder „BackgroundReplacement“ (für einen Filter zum Ersetzen des Hintergrundbildes). -
properties(Zeichenkette) – Eine JSON-Zeichenkette mit den Eigenschaften des Vonage-Videotransformers.Für einen Transformator zur Hintergrundunschärfe lautet das JSON-Format wie folgt:
Kopieren`{ "radius" :"None" }`Gültige Werte für die Eigenschaft „radius“ sind „None“, „High“ und „Low“.
Für einen benutzerdefinierten Transformator zur Hintergrundunschärfe lautet das JSON-Format wie folgt:
Kopieren`{ "radius": "Custom", "custom_radius": "value" }`custom_radiuskann eine beliebige positive ganze Zahl sein.Für einen Hintergrund-Ersatztransformator lautet das JSON-Format wie folgt:
Kopieren`{ "image_file_path": "path/to/image" }`Wo
image_file_pathist der absolute Dateipfad eines lokalen Bildes, das als virtueller Hintergrund verwendet werden soll. Unterstützte Bildformate sind PNG und JPEG.
Um Videotransformatoren aus dem veröffentlichten Stream zu entfernen, rufen Sie die OTPublisher.setVideoTransformers() Methode und geben Sie ein leeres Array ein.
Das ist wichtig: Medientransformationen wie Hintergrundunschärfe und Hintergrundersetzung sind ressourcenintensiv und erfordern Geräte mit hoher Rechenleistung. Es wird empfohlen, diese Transformationen nur auf unterstützten Geräten zu verwenden. Weitere Informationen finden Sie in der folgenden Dokumentation:
Weitere Informationen zu Transformatoren finden Sie unter Verwendung der Vonage Medienprozessor-Bibliothek
Veranstaltungen
-
audioLevel (Zahl) – Der Audiopegel im Bereich von 0 bis 1,0. Passen Sie diesen Wert logarithmisch an, um ihn zur Anpassung eines Elements der Benutzeroberfläche, beispielsweise einer Lautstärkanzeige, zu verwenden. Verwenden Sie einen gleitenden Durchschnitt, um die Daten zu glätten.
-
audioNetworkStats (Objekt) — Wird in regelmäßigen Abständen gesendet, um Audio-Statistiken für den Herausgeber zu melden. A PublisherAudioNetworkStatsEvent Das Objekt wird an den Ereignis-Handler übergeben.
-
Fehler (Objekt) – Wird gesendet, wenn beim Publisher ein Fehler auftritt. Nach dem Senden dieser Meldung gilt der Publisher als vollständig von einer Sitzung getrennt und kann freigegeben werden.
-
muteForced -- Wird gesendet, wenn ein Moderator diesen Client dazu gezwungen hat, den Ton stummzuschalten.
-
otrnError (Objekt) – Wird gesendet, wenn bei der Kommunikation zwischen der nativen Publisher-Instanz und der JS-Komponente ein Fehler auftritt.
-
rtcStatsReport (Objekt) – Wird gesendet, wenn RTC-Statistikberichte für den Herausgeber verfügbar sind, als Reaktion auf den Aufruf der
OTPublisher.getRtcStatsReport()Methode. A PublisherRtcStatsReportEvent Das Objekt wird an den Ereignis-Handler übergeben. Dieses Ereignis enthält ein Array von Objekten. Bei einer gerouteten Sitzung (einer Sitzung, die die OpenTok Media Router), Dieses Array enthält ein Objekt, das die Statistiken für den einzelnen Videomedienstream definiert, der an den OpenTok Media Router gesendet wird. In einer weitergeleiteten Sitzung enthält das Array ein Objekt für jeden Teilnehmer des veröffentlichten Streams. Jedes Objekt enthält zwei Eigenschaften:-
connectionId-- Bei einer weitergeleiteten Sitzung (bei der ein Publisher einzelne Medienströme an jeden Abonnenten sendet) handelt es sich hierbei um die eindeutige ID der Verbindung des Clients. -
jsonArrayOfReports-- Ein JSON-Array mit RTC-Statistikberichten für den Medienstrom. Die Struktur des JSON-Arrays entspricht in etwa dem Format des in Webbrowsern implementierten RtcStatsReport-Objekts (siehe den Mozilla-Dokumente). Siehe auch diese W3C-Dokumentation.
-
-
streamCreated (Objekt) – Wird gesendet, wenn der Publisher mit dem Streaming beginnt. A Streaming-Veranstaltung Das Objekt wird an den Ereignis-Handler übergeben.
-
streamDestroyed (Objekt) – Wird gesendet, wenn der Publisher das Streaming beendet. A Streaming-Veranstaltung Das Objekt wird an den Ereignis-Handler übergeben.
-
videoDeaktiviert -- Wird gesendet, wenn der Anbieter die Übertragung des Videos aufgrund von Publisher Audio Fallback.
-
videoDisableWarning -- Wird gesendet, wenn der Sender aufgrund sich verschlechternder Netzwerkbedingungen kurz davor steht, auf den reinen Audio-Modus umzuschalten. Siehe Publisher Audio Fallback.
-
videoDisableWarningLifted -- Wird nach einem „videoDisableWarning“-Ereignis gesendet, sobald sich die Netzwerkbedingungen verbessern. Siehe Publisher Audio Fallback.
-
videoEnabled -- Wird gesendet, wenn der Herausgeber den Versand von Videos wieder aufnimmt, nachdem dieser aufgrund von Publisher Audio Fallback.
-
videoNetworkStats (Objekt) – Wird in regelmäßigen Abständen gesendet, um Audiostatistiken für den Herausgeber zu melden. A PublisherVideoNetworkStatsEvent Das Objekt wird an den Ereignis-Handler übergeben.