Audio-Fallback

Verwenden Sie die Audio-Fallback-API, um Audio dynamisch in Abhängigkeit von der Netzwerkqualität zu priorisieren.

Die Audio-Fallback-Funktion sorgt dafür, dass Ihre Anrufe unabhängig von Verbindungsproblemen oder schlechten Netzwerkbedingungen für alle Teilnehmer weiterlaufen, indem das Video für den betroffenen Teilnehmer vorübergehend deaktiviert wird. Die Audio-Fallback-Funktion reagiert in Echtzeit auf die Netzwerkbedingungen und stellt sicher, dass die Teilnehmer auch bei schlechter Netzabdeckung nicht abspringen. Sobald sich die Bedingungen verbessern, wird der Videostream durch unsere Videowiederherstellungsfunktion wiederhergestellt.

Die Audio-Fallback-Funktionen des Herausgebers und des Teilnehmers sorgen gemeinsam für eine optimale Gesprächsqualität. Ein einzelner Teilnehmer kann auf eine reine Audioverbindung zurückgreifen (wenn nur die Bedingungen des Teilnehmers dies rechtfertigen) oder ein Herausgeber kann bei schlechten Netzbedingungen auf eine reine Audioverbindung zurückgreifen.

Wenn die Funktionen zum Veröffentlichen und Abonnieren von Audio-Fallback aktiviert sind, sendet das SDK Ereignisse aus, um veränderte Qualitätsbedingungen anzuzeigen. Sie können diese Ereignisse verwenden, um Benachrichtigungen im Client auszulösen, oder das SDK kann die Standard-Benachrichtigungen der Benutzeroberfläche anzeigen.

Teilnehmer-Audio-Fallback

Die Subscriber-Audio-Fallback-Funktion verbessert die Gesprächsqualität, indem sie eingehende Videoströme automatisch abschaltet, was zu einem reinen Audiomodus führt, wenn sich die Netzbedingungen auf der Teilnehmerseite verschlechtern. Andere Clients werden unabhängig von den Netzwerkbedingungen des Teilnehmers weiterhin Video empfangen. Diese Funktion wird über den Vonage Video Media Router abgewickelt und ist nur in gerouteten Sitzungen verfügbar. Siehe dieDokumente zur Sitzungserstellung um den Unterschied zwischen gerouteten und weitergeleiteten Sitzungen zu verstehen.

Publisher Audio Fallback

Die Audio-Fallback-Funktion des Herausgebers verbessert die Gesprächsqualität, indem ein Herausgeber in den reinen Audiomodus wechselt, wenn die Netzwerkbedingungen des Herausgeber-Clients kein Video unterstützen. Sobald sich die Netzwerkbedingungen verbessern, schaltet der Publisher wieder auf Video um.

Die Publisher Audio Fallback-Funktion wird sowohl in weitergeleiteten als auch in gerouteten Sitzungen unterstützt (siehe Der Vonage Video Media Router und die Medienmodi).

Die Audio-Fallback-Funktionen des Herausgebers umfassen Verbesserungen zur Überwachung der Bandbreite und Überlastung eines veröffentlichten Streams. Der Verleger priorisiert die Audiokommunikation und greift auf Audio zurück, wenn die Überlastung der Bandbreite keine Videokommunikation zulässt.

Mit der Audio-Fallback-Funktion des Herausgebers erhält der Herausgeber-Client eine Qualitätsrückmeldung (über Paketverlust, Bandbreite und Überlastung) vom Teilnehmer (bei einer weitergeleiteten Sitzung) oder vom Vonage Video Media Router (bei einer gerouteten Sitzung).

Interpretation von Audio-Fallback-Ereignissen von Herausgebern und Teilnehmern im Hinblick auf eine Verschlechterung der Netzqualität

Publisher- und Subscriber-Audio-Fallback-Ereignisse zeigen nicht direkt an, welcher Endpunkt von einer Netzwerkverschlechterung betroffen ist. Stattdessen spiegeln sie zwei unterschiedliche Perspektiven auf die Netzwerkqualität wider: die Sicht des Herausgebers auf seine eigenen Statistiken und die aggregierte Sicht des Vonage Video Media Routers.

  • In weitergeleiteten Sitzungen wird nur der Audio-Fallback des Herausgebers unterstützt. Obwohl Fallback-Ereignisse vom Herausgeber ausgehen, bedeutet dies nicht unbedingt, dass beim Herausgeber Netzwerkprobleme auftreten. Überlastungsmetriken werden Ende-zu-Ende berechnet und werden sowohl vom Herausgeber als auch vom Teilnehmer beeinflusst.

  • Bei gerouteten Sitzungen werden sowohl Publisher- als auch Subscriber-Fallback unterstützt. Da der Vonage Video Media Router verschiedene Peer-Verbindungsübergänge durchführen oder in hybriden Konfigurationen arbeiten kann, kann es schwierig sein, die genaue Quelle der Verschlechterung allein anhand von Fallback-Ereignissen zu bestimmen. Als Faustregel gilt, dass die Verschlechterung auf der Seite des Teilnehmers liegt. Wenn Publisher Audio Fallback aktiviert ist und der Client ein Fallback-Ereignis empfängt, das unmittelbar von einemStream aktualisiert Ereignis wenn der Videokanal deaktiviert ist, kann auch - oder ausschließlich - der Herausgeber betroffen sein. Der Publisher-Fallback kann jedoch immer noch durch die vom Abonnenten gemeldeten Metriken beeinflusst werden.

Audio-Fallback verwenden

Die Client-SDKs enthalten Ereignisse für Publisher- und Subscriber-Audio-Fallback. Diese Ereignisse zeigen an, wenn das Publisher- oder Subscriber-Video aktiviert oder deaktiviert ist und wenn eine Warnung für das deaktivierte Video aufgrund von Audio-Fallback (und Video-Wiederherstellung) vorliegt.

Sie können das Audio-Fallback aktivieren und deaktivieren, wenn Sie einen Stream veröffentlichen.

Use the audio fallback API to dynamically prioritize audio in response to network quality.

Note: The audioFallbackEnabled prop of the OTPublisher component will be deprecated. Please use the audioFallback.subscriber setting instead.

Enabling and disabling audio-only fallback

Set the audioFallback property of the properties prop you pass into the OTPublisher component:

// Enable subscriber audio fallback (the default)
// and publisher audio fallback:
<OTPublisher
  properties={{
    audioFallback={
      publisher: true,
    },
  }}
/>
});

// Enable publisher audio fallback and disable subscriber audio fallback:
<OTPublisher
  properties={{
    audioFallback: {
      publisher: true,
      subscriber: false,
    },
  }}
/>

// Enable subscriber audio fallback and disable publisher audio fallback:
<OTPublisher
  properties={{
    audioFallback: {
      publisher: false,
      subscriber: true,
    },
  }}
/>

// Disable both publisher audio fallback (the default)
// and subscriber audio fallback:
<OTPublisher
  properties={{
    audioFallback: {
      subscriber: false,
    },
  }}
/>

The audioFallback object includes two Boolean properties:

  • publisher — Whether to enable (true) or disable (false) publisher audio fallback. With publisher audio fallback enabled, when the stream's quality has degraded significantly (for example, because of network conditions), the publisher disables video in order to preserve audio quality. The default is false (publisher audio fallback is disabled).
  • subscriber — Whether to enable (true) or disable (false) subscriber audio fallback. This setting only applies in routed sessions (sessions that use the Vonage Video Media Router). Subscriber audio fallback is not supported in relayed sessions. With subscriber audio fallback enabled, when the Vonage Video Media Router determines that a stream's quality has degraded significantly for a specific subscriber, it disables the video in that subscriber in order to preserve audio quality. The default is true (subscriber audio fallback is enabled). This setting replaces the audioFallbackEnabled property, which will be deprecated.

Audio fallback events

When publisher audio fallback is enabled, callback methods of the OTPublisher component are invoked in response to changing quality conditions:

  • videoDisableWarning() — Called when the Publisher determines that the stream quality has degraded and the video will be disabled if the quality degrades more.
  • videoDisableWarningLifted() — Called when the Publisher determines that the stream quality has improved to the point at which the video being disabled is not an immediate risk.
  • videoDisabled() — Called when the Publisher determines that the stream quality has degraded and the outgoing video transport has been disabled. Note: while the video is disabled, the Publisher still displays the publisher video (such as the camera image) in the publishing client's UI.
  • videoEnabled() — Called with the reason property set to 'quality' when the Publisher determines that the stream quality has improved and outgoing video transport has been re-enabled.

For example the following code adds event listeners for audio fallback-related events (so that you can provide user interface notifications):

<OTPublisher
  properties={{
    audioFallback: {
      publisher: true,
    }
  }}

  eventHandlers={{
    videoDisableWarning: () => {
      // Add UI notification
    },
    videoDisableWarningLifted: () => {
      // Adjust UI notification
    },
    videoDisabled: () => {
      // Add UI notification
    },
    videoEnabled: () => {
      // Remove UI notification
    },
  }}
/>

From the subscriber’s perspective, the following events indicate that audio fallback has occurred. Although these events are tied to the subscriber, they can occur both due to subscriber audio fallback and as a consequence of publisher audio fallback. In other words, the difference between publisher and subscriber audio fallback is that, in the publisher case, the publishing client may trigger the audio fallback based on its own stream degradation, which is why additional publisher-side events are dispatched. For subscriber audio fallback, the Vonage Video Media Router assesses network degradation affecting the subscriber. In both cases, upon publisher or subscriber audio fallback, subscriber events are always dispatched to indicate that audio fallback has occurred for the receiver.

The OTSubscriber component includes callback methods that are invoked based on events related to the video being enabled or disabled for the subscriber's stream:

videoEnabled() — Called when the video has been enabled after it was previously disabled. videoDisabled() — Called when the video has been disabled. The reason property of the event object indicates why the video was disabled. (This event object is an VideoEnabledChangedEvent object.) videoDisableWarning() — Called when it is determined that the stream quality has degraded and the video will be disabled if the quality degrades more. If the quality degrades further, the Subscriber disables the video and calls the videoDisabled() callback. This event may also be dispatched when using the publisher audio fallback feature if the publisher's stream quality if degraded. videoDisableWarningLifted() — Called when video has been enabled after it was previously disabled. The OTSubscriber videoDisableWarning() and videoDisableWarningLifted() callback methods are only invoked in sessions that use the Media Router (sessions with the media mode set to routed).

For example the following code adds event listeners for audio fallback-related events (so that you can provide user interface notifications):

<OTSubscriber
  eventHandlers={{
    videoDisableWarning: () => {
      // Add UI notification
    },
    videoDisableWarningLifted: () => {
      // Adjust UI notification
    },
    videoDisabled: () => {
      // Add UI notification
    },
    videoEnabled: () => {
      // Remove UI notification
    },
  }}
/>