Video Effects SDK 3.6.0 for Web
Improved Beautification (aka “Touch Up My Appearance”)#
- Increased the base strength of the effect, so the result is now more noticeable out of the box.
- Updated the algorithm that determines where beautification should be applied for more natural, face-aware results.
- Made beautification intensity control more linear and predictable at runtime, so UI sliders feel smoother and more intuitive.
Frame-by-Frame Video Processing (VideoFrame → VideoFrame)#
You can now process video frame by frame using VideoFrame input and VideoFrame output:
- Designed for advanced integrations where the video provider SDK exposes direct
VideoFrameaccess (e.g., Zoom Web SDK–style APIs). - Can also be used for offline / post-processing pipelines (denoising, enhancement, effects on pre-recorded video).
This unlocks deeper integrations and more flexible video processing workflows.
Explicit Resource Cleanup with sdk.destroy()#
Added sdk.destroy() to explicitly free all GPU and CPU resources used by an SDK instance.
Use this when:
- Your pipeline requires recreating the SDK instance during the same browser session.
- You want to fully destroy the SDK instance and clean up GPU state.
Note:
Simply nulling the SDK instance reference is not sufficient. Internal resources and GPU contexts (WebGL / WebGPU) may stay alive and, after multiple re-initializations, can cause:
- Video blinking or flickering
- Gradual GPU memory growth
- WebGL context limit warnings / errors
- Other GPU-related issues
Calling await sdk.destroy() ensures a clean shutdown and proper release of GPU resources.
Bug Fixes & Stability Improvements#
- Various internal fixes to make GPU resource management more robust.
- Improved error handling in edge cases during stream initialization and teardown.
- General stability improvements across the video processing pipeline.