Filter und Effekte

Übersicht

Mit den Vonage Video Client SDKs können Sie bei der Veröffentlichung von Videos Filter und Effekte verwenden.

In dieser Anleitung wird das Thema behandelt:

  • Veröffentlichung eines MediaStreamTrack-Objekts und Anwendung von Effekten
  • Anwenden eines Filters zum Verwischen oder Ersetzen des Hintergrunds
  • Anwendung des erweiterten Rauschunterdrückungsfilters
  • Verwendung der Vonage Media Processor-Bibliothek zur Anwendung benutzerdefinierter Transformationen

Veröffentlichen eines MediaStreamTrack-Objekts und Anwenden von Effekten

Sie können eine audio MediaStream-Spur oder eine Video MediaStream-Spur als Audio- oder Videoquelle für einen veröffentlichten Stream verwenden. Mit dieser Funktion können Sie Filter und Effekte, wie z. B. Hintergrundunschärfe oder Hintergrundersetzung, auf das veröffentlichte Audio oder Video anwenden.

Sie können die OT.getUserMedia() Methode, um einen Verweis auf einen MediaStream zu erhalten, der die vom Benutzer ausgewählte Kamera verwendet. Sie können dann den Video-MediaStreamTrack, den Sie von diesem MediaStream-Objekt erhalten, als Quelle für ein Video-Element verwenden. Sie können dieses Video-Element dann zu einem HTML-Leinwandelement hinzufügen, Filter oder Effekte auf die Leinwand anwenden und das gefilterte Video-MediaStreamTrack-Objekt, das Sie von der Leinwand erhalten, als Videoquelle für einen veröffentlichten Stream verwenden. Ein Beispiel finden Sie im Stream-Filter-Beispiel opentok-web-samples repo auf GitHub.

Sie können die OT.getUserMedia() Methode, um einen Verweis auf einen MediaStream zu erhalten, der das vom Benutzer ausgewählte Mikrofon verwendet. Sie können dann den Audio-MediaStreamTrack, den Sie von diesem MediaStream-Objekt erhalten, als die audioSource beim Aufruf von OT.initPublisher(). Sie können dann eine AudioKontext Objekt und rufen dessen createMediaStreamSource() Objekt, wobei das MediaStream-Objekt übergeben wird, um eine MediaStreamAudioSourceNode Objekt. Sie können dann Audiofilter auf das MediaStreamAudioSourceNode-Objekt anwenden, was dazu führt, dass die Filter auf den veröffentlichten Stream angewendet werden.

Anwenden eines Hintergrund-Weichzeichnungs- oder Hintergrund-Ersetzungsfilters

Use the OTPublisher.setVideoTransformers() method to apply a video filter for published video. You can apply a background blur filter or a background image filter.

Important: In version 2.28.0+ of the Vonage Video React Native SDK, you need to install the Vonage Media Library separately from the Vonage Video React Native SDK. For details, see Vonage Media Library integration.

The following code applies a background blur filter to a publisher's video:

<OTPublisher
  eventHandlers={{
    streamCreated: () => {
      this.publisher.setVideoTransformers([
        {
          name: 'BackgroundBlur',
          properties: JSON.stringify({
            radius: 'low',
          }),
        }
      ])
    }
  }}
  ref={instance => {
    this.publisher = instance;
  }}
/>

Note that the OTPublisher.setVideoTransformers() method takes an array of transformer objects. Each object has two properties:

A name property, set to either 'BackgroundBlur' or 'BackgroundReplacement'.

A properties property, defining options for the filter.

For details, see the documentation for the OTPublisher.setVideoTransformers() method.

The following code applies a background replacement filter to a publisher's video (supported on iOS only):

<OTPublisher
  eventHandlers={{
    streamCreated: () => {
      this.publisher.setVideoTransformers([
        {
          name: 'BackgroundReplacement',
          properties: JSON.stringify({
            image_file_path: 'path/to/image',
          }),
        }
      ])
    }
  }}
  ref={instance => {
    this.publisher = instance;
  }}
/>

To remove video filters from the published stream, call the OTPublisher.setVideoTransformers() method and pass in an empty array.

Important: Background blur and background replacement filters are resource-intensive and require devices with high processing power. It is recommended to only use these transformations on supported devices. See the following documentation: for iOS and Android

Anwendung des erweiterten Rauschunterdrückungsfilters

Use the OTPublisher.setAudioTransformers() method to apply an audio transformer to published video. One transformer, the noise suppression filter, is supported.

Important: The noise suppression filter uses the Vonage Media Library. You need to install the Vonage Media Library separately from the Vonage Video React Native SDK. For details, see Vonage Media Library integration.

The following code applies a noise suppression filter to a publisher's video:

<OTPublisher
  eventHandlers={{
    streamCreated: () => {
      this.publisher.setAudioTransformers([
        {
          name: 'NoiseSuppression',
          properties: '',
        }
      ])
    }
  }}
  ref={instance => {
    this.publisher = instance;
  }}
/>

To remove audio transformers from the published stream, call the OTPublisher.setAudioTransformers() method and pass in an empty array.

Important: Audio transformers are resource-intensive and require devices with high processing power. It is recommended to only use these transformations on supported devices. See the following documentation:

Verwenden der Vonage-Medienprozessorbibliothek zum Anwenden benutzerdefinierter Transformationen

Siehe die Verwendung des Vonage Medienprozessors Leitfaden für Entwickler.