Filtros y efectos

Visión general

Los SDK del cliente de video de Vonage te permiten usar filtros y efectos al publicar videos.

Este tutorial repasará:

  • Publicación de un objeto MediaStreamTrack y aplicación de efectos
  • Aplicar un filtro de desenfoque de fondo o de sustitución de fondo
  • Aplicación del filtro avanzado de supresión de ruido
  • Uso de la biblioteca Vonage Media Processor para aplicar transformaciones personalizadas

Publicación de un objeto MediaStreamTrack y aplicación de efectos

Puede utilizar un pista de audio MediaStream o un vídeo MediaStream pista como fuente de audio o vídeo para un flujo publicado. Con esta función, puedes aplicar filtros y efectos, como desenfoque de fondo o sustitución de fondo, al audio o vídeo publicado.

Puede utilizar la función OT.getUserMedia() para obtener una referencia a un MediaStream que utilice la cámara seleccionada por el usuario. A continuación, puede utilizar el MediaStreamTrack de vídeo obtenido de ese objeto MediaStream como origen de un elemento Video. A continuación, puede añadir ese elemento Video a un elemento HTML Canvas, aplicar filtros o efectos al lienzo y utilizar el objeto MediaStreamTrack de vídeo filtrado obtenido del lienzo como fuente de vídeo para un flujo publicado. Para ver un ejemplo, consulte la muestra Stream-Filter repositorio opentok-web-samples en GitHub.

Puede utilizar la función OT.getUserMedia() para obtener una referencia a un MediaStream que utilice el micrófono seleccionado por el usuario. A continuación, puede utilizar el MediaStreamTrack de audio obtenido a partir de ese objeto MediaStream como el método audioSource al llamar a OT.initPublisher(). A continuación, puede crear un AudioContext y llamar a su createMediaStreamSource() pasando el objeto MediaStream para crear un objeto MediaStreamAudioSourceNode . A continuación, puede aplicar filtros de audio al objeto MediaStreamAudioSourceNode, lo que hará que los filtros se apliquen al flujo publicado.

Aplicar un filtro de desenfoque de fondo o de sustitución de fondo

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

Aplicación del filtro avanzado de supresión de ruido

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:

Uso de la biblioteca de procesadores multimedia de Vonage para aplicar transformaciones personalizadas

Véase el Uso del procesador multimedia de Vonage guía del desarrollador.