About using background filters
Background filters can be CPU-intensive and GPU-intensive. Some mobile devices and lower-specification laptop or desktop computers may not have the power to run the filters along with multiple video streams.
SIMD support
Background filters are more efficient in environments that support Single Instruction, Multiple Data (SIMD). The filters use less CPU for a given complexity level when you enable SIMD. Low-powered devices running browsers without SIMD support may not run background filters.
WebGL2 support
The VideoFxProcessor
object requires browsers that support WebGL2 in order to access the GPU on the client device.
Content delivery and bandwidth
An Amazon content delivery network loads the machine-learning-model files for background filters at runtime. This provides low-latency global distribution without the need to serve a full suite of files as part of your application. However, loading model files can add latency to parts of your application. To help mitigate that impact, browsers cache the model files indefinitely. That cache makes subsequent loads significantly faster. As a best practice, check for supported browsers, then create the background filter resources when users may not notice any latency. For example, you can download model files while users wait in a lobby, or while they use a device picker.
Your application must connect to the following:
Amazon Chime SDK media services.
Amazon CloudFront via HTTPS (port 443).
All requests are to subdomains of
sdkassets.chime.aws
. Applications that can't access the content delivery network or don't include the correct domain in their
content security policy will fail their support checks and be unable to use the filters.
For more information about CloudFront’s IP address ranges, see Locations and IP address ranges of CloudFront edge servers in the Amazon CloudFront Developer Guide.
Browser compatibility
The following table lists the browsers and version that support background filters.
Browser |
Minimum supported version |
---|---|
Firefox |
76+ |
Chromium-based browsers and environments, including Edge and Electron |
78+ |
Android Chrome |
110+ |
Safari on macOS |
16.3+ |
Safari on iOS (iPhone, iPad) |
16.x |
Chrome on iOS |
110.0.0.x.x |
Firefox on iOS (iPhone iPad) |
16.x |
Version 3.14 of the VideoFxProcessor
object supports Android. For Android device support on versions prior to 3.14, use the BackgroundBlurVideoFrameProcessor
and BackgroundReplacementVideoFrameProcessor
objects. For more information about using them, refer to the
backgroundfilter_video_processor