@webex/media-helpers
Media helpers
This is an internal Cisco Webex plugin. As such, it does not strictly adhere to semantic versioning. Use at your own risk. If you're not working on one of our first party clients, please look at our developer api and stick to our public plugins.
Install
npm install --save @webex/media-helpers
Usage
Effects
There are two effects included in this package:
Virtual background (e.g., blur, image replacement, video replacement)
Noise reduction (e.g., background noise removal)
Virtual background
The virtual background effect provides a virtual background for video calling. The virtual background may be an image, an mp4 video, or the user's background with blur applied.
Applying the effect
- Create a new camera stream instance by using createCameraStream() method.
- Create a VirtualBackgroundEffect instance by passing appropriate constraints.
- Use addEffect() method on cameraStream to apply effect on it.
- Enable the effect after adding it to cameraStream using enable() method available on effect. Effect will be enabled on cameraStream.
import {createCameraStream, VirtualBackgroundEffect} from '@webex/media-helpers';
const cameraStream = createCameraStream(optionalVideoConstraints);
const effect = new VirtualBackgroundEffect({
authToken: '<encoded-string>',
mode: `BLUR`,
blurStrength: `STRONG`,
quality: `LOW`,
});
await cameraStream.addEffect(effect);
await effect.enable()
Noise reduction
The noise reduction effect removes background noise from an audio stream to provide clear audio for calling.
Applying the effect
- Create a new microphone stream instance by using createMicrophoneStream() method.
- Create a NoiseReductionEffect instance by passing appropriate constraints.
- Use addEffect() method on microphoneStream to apply effect on it.
- Enable the effect after adding it to microphoneStream using enable() method available on effect. Effect will be enabled on microphoneStream.
import {createMicrophoneStream, NoiseReductionEffect} from '@webex/media-helpers';
const microphoneStream = createMicrophoneStream(optionalAudioConstraints);
const effect = new NoiseReductionEffect({
authToken: '<encoded-string>',
mode: 'WORKLET',
});
await microphoneStream.addEffect(effect);
await effect.enable()
Maintainers
This package is maintained by Cisco Webex for Developers.
Contribute
Pull requests welcome. Please see CONTRIBUTING.md for more details.
License
© 2016-2022 Cisco and/or its affiliates. All Rights Reserved.