Weak networks do not only reduce call reliability. They also produce the small, soft, noisy-looking remote video and the keyboard, traffic, and room noise that users notice immediately. ZEGOCLOUD RTC 3.25.0 focuses on this part of the experience: the Android release notes describe improved image-quality enhancement, better super-resolution effects, and optimized memory and frame-rate performance for traditional super-resolution scenarios. The release also improves word accuracy in AI noise suppression’s low-latency mode.
If you are evaluating a video super resolution SDK, the important distinction is this: ZEGOCLOUD applies enhancement to a remote RTC stream inside the communication SDK. Your app does not need to manage a separate GPU effects pipeline, intercept each decoded frame, or send frames to another media-processing library before rendering.
What changed in RTC 3.25.0?
RTC 3.25.0 was released on August 4, 2026. For this quality-focused update, the Android release notes list three relevant improvements:
- Image quality enhancement: improved image sharpening and super-resolution effects.
- Super-resolution performance: optimized memory usage and frame-rate performance in traditional super-resolution scenarios.
- Low-latency AI noise suppression: improved word accuracy in low-latency mode.
The public release notes do not present super resolution or AI noise suppression as entirely new products introduced in 3.25.0. Both capabilities existed in earlier SDK releases. The safer upgrade interpretation is that 3.25.0 improves existing real-time audio and video enhancement capabilities.
Video super resolution in an RTC pipeline
ZEGOCLOUD’s video super resolution multiplies the width and height of the pulled video at playback. The official example is a 640 × 360 source rendered at 1280 × 720. It is therefore useful when the publisher’s stream is constrained by resolution, bitrate, device capability, or network conditions, but the viewer’s screen has space to display a larger, sharper picture.
The API is stream-specific rather than a global post-processing toggle. On Android, after the engine is initialized, your app initializes the capability once and enables it for a particular streamID:
// Initialize once during the SDK lifecycle.
engine.initVideoSuperResolution();
// Enhance a remote stream being played.
engine.enableVideoSuperResolution("STREAM_ID", true);
// Disable it when the focused stream changes or playback ends.
engine.enableVideoSuperResolution("STREAM_ID", false);
// Release resources when the capability is no longer needed.
engine.uninitVideoSuperResolution();
The same lifecycle is available on iOS through Objective-C:
[[ZegoExpressEngine sharedEngine] initVideoSuperResolution];
[[ZegoExpressEngine sharedEngine] enableVideoSuperResolution:@"STREAM_ID" enable:YES];
[[ZegoExpressEngine sharedEngine] enableVideoSuperResolution:@"STREAM_ID" enable:NO];
[[ZegoExpressEngine sharedEngine] uninitVideoSuperResolution];
Use the result callback instead of assuming that enhancement is active immediately. Android reports onPlayerVideoSuperResolutionUpdate(String streamID, ZegoSuperResolutionState state, int errorCode); the iOS Objective-C callback is onPlayerVideoSuperResolutionUpdate:state:errorCode:. The onPlayerVideoSizeChanged callback tells your layout when the rendered video dimensions change.
Limits to design around
The current documentation includes several constraints that matter in production:
- Only one stream per device can use super resolution at a time.
- The original resolution should generally not exceed 640 × 360.
- A special package may be required; contact ZEGOCLOUD Technical Support before relying on the capability in a release build.
- Initialization is expensive, so initialize once during the SDK lifecycle and avoid repeated init/uninit cycles.
- Stopping playback automatically disables super resolution and releases the related resources.
The documented error codes give the client a fallback path: 1004004 means the device does not support the feature, 1004005 means the one-stream limit was exceeded, 1004006 means the original resolution exceeds the limit, 1004007 means device performance is insufficient, and 1004008 means super resolution was not initialized.
ZEGOCLOUD’s Android guidance reports relatively small runtime overhead on supported devices: current increase below 60 mA for 360p super resolution on an OPPO R11, temperature rise below 1.5°C after 30 minutes on an OPPO R11 with Snapdragon 660, and CPU increment under 2% plus memory increment under 100 MB on more than 95% of supported devices. These are still device-dependent measurements, so unsupported devices and performance callbacks should drive runtime decisions.
AI noise suppression for clearer speech
ZEGOCLOUD’s scenario-based AI noise suppression identifies call and music scenarios in real time. In call scenarios, it targets non-human-voice noise such as keyboard, mouse, tapping, air-conditioner, kitchen, restaurant, wind, coughing, and small-room reverberation. In music scenarios, it can reduce suppression to preserve music quality; music detection requires support configuration.
The Android implementation has two controls: enable noise suppression, then select an AI mode.
// Enable noise suppression.
engine.enableANS(true);
// Choose an AI mode. After an AI mode is selected, the SDK
// forcibly disables transient noise suppression.
engine.setANSMode(ZegoANSMode.AI);
The documented AI modes cover different trade-offs:
ZegoANSMode.AIis a lightweight mode for relatively comfortable indoor environments where package-size and power increments must remain very low.ZegoANSMode.AI_BALANCEDis designed for complex noise environments while preserving voice fidelity, with slightly higher power consumption.ZegoANSMode.AI_LOW_LATENCYmaintains noise suppression and voice-fidelity targets at 10 ms latency; RTC 3.25.0 improves word accuracy in this low-latency mode.
The current feature guide also says to contact ZEGOCLOUD Technical Support for the special AI noise-suppression package. Music-scenario recognition additionally requires the music-detection switch to be configured and enabled.
Audio spectrum values in 3.25.0 integrations
If your app reads spectrum data for karaoke animations or visualizers, use the current API range rather than older client assumptions. The current Android Sound Level and Audio Spectrum documentation, updated June 24, 2026, describes captured and remote spectrum values as [0-2^31]. Callbacks fire every 100 ms after startAudioSpectrumMonitor() is called.
engine.startAudioSpectrumMonitor();
// Receive onCapturedAudioSpectrumUpdate and
// onRemoteAudioSpectrumUpdate every 100 ms.
engine.stopAudioSpectrumMonitor();
The documentation confirms the present range, but the 3.25.0 Android release notes reviewed for this article do not explicitly call out a range change. Normalize spectrum values defensively if older clients or platform SDK versions may coexist in the same deployment.
How ZEGOCLOUD differs from desktop GPU video-effects SDKs
A video super resolution SDK can sit at very different layers of an application stack.
| Option | Where enhancement runs | Typical integration responsibility | Best fit |
|---|---|---|---|
| ZEGOCLOUD RTC super resolution | Inside the RTC client playback path for a selected remote stream | Initialize the capability, enable it by streamID, handle state and error callbacks |
Mobile and app-based real-time calls, live streams, and education with one focused speaker |
| NVIDIA RTX Video SDK | NVIDIA RTX GPU Tensor Cores | Integrate GPU-accelerated effects into creative or media-playback applications | Desktop media playback and creative workflows on RTX hardware |
| NVIDIA Maxine Video Effects SDK | GPU buffers processed through a low-level effects SDK | Manage BGRA/RGBA buffers, quality modes, NVIDIA drivers, and hardware support | Custom desktop or server video-effects pipelines |
| Windows AI Video Super Resolution | NPU on Copilot+ PCs or CPU on qualified Windows devices | Use the Windows App SDK VideoScaler frame API and implement runtime fallback |
Windows video calling and social video apps |
NVIDIA’s materials position RTX Video SDK around AI-enhanced playback and creative applications, with the model optimized for RTX Tensor Cores. NVIDIA Maxine exposes a lower-level video-effects filter that consumes GPU buffers and supports multiple VSR, denoise, and deblur modes. Microsoft’s Windows Video Super Resolution supports real-time people-video scenarios but is Windows-specific and uses NPU or CPU processing; Microsoft notes that GPU is not supported and recommends quality tradeoffs on weaker CPUs.
ZEGOCLOUD’s value is not that it replaces every GPU effects toolkit. It is the simpler choice when the goal is to improve a live remote speaker inside an existing ZEGOCLOUD RTC experience, especially on mobile devices and in apps that do not want separate hardware-specific frame pipelines. The trade-off is the one-stream focus, source-resolution guidance, package requirement, and device-support checks.
When to use these capabilities
1. Upscale a low-resolution remote speaker
In a one-to-one call, a remote-teaching session, or a live room with one focused speaker, begin playing the stream normally, initialize super resolution once, then call enableVideoSuperResolution(streamID, true). If the callback returns 1004004, 1004006, or 1004007, keep the original stream instead of repeatedly retrying. When the user switches focus to another speaker, disable enhancement on the old stream before enabling it on the new one because only one stream can be enhanced per device.
2. Clean noisy speech in a live room
For voice rooms, meetings, and game voice, enable ANS and select the AI mode that matches the environment and latency budget. Use balanced mode in noisy outdoor or transportation environments and low-latency mode when timing is critical. If singers, backing tracks, or sound-card input are central to the room, work with ZEGOCLOUD support to enable music detection so suppression can adapt instead of damaging music.
Key takeaways
- RTC 3.25.0 improves existing super-resolution image quality, memory usage, and frame-rate performance; it is not accurate to describe the capability as brand new in this release based on the public release notes.
- Super resolution is enabled per remote stream with
enableVideoSuperResolutionafter one-time initialization. - Only one stream can be enhanced at a time, and source video should generally be no larger than 640 × 360.
- AI noise suppression uses
enableANS(true)plussetANSMode(...); 3.25.0 specifically improves word accuracy in the low-latency mode. - Current Android spectrum documentation uses the
[0-2^31]value range, even though the release notes do not clearly document it as a 3.25.0 change.
FAQ
What is video super resolution in RTC 3.25.0?
It is a client-side RTC capability that sharpens and enlarges a received remote video stream at playback. The Android API is enableVideoSuperResolution(streamID, true), called after initVideoSuperResolution(). RTC 3.25.0 improves the feature’s enhancement effect and performance; the capability itself was available in earlier SDK versions.
How do I turn on AI noise reduction?
On Android, call engine.enableANS(true), then select an AI mode such as ZegoANSMode.AI, ZegoANSMode.AI_BALANCED, or ZegoANSMode.AI_LOW_LATENCY with setANSMode. The AI package and music-detection configuration may require assistance from ZEGOCLOUD Technical Support.
Did the audio spectrum range change?
The current Android documentation gives the captured and remote spectrum value range as [0-2^31]. However, the RTC 3.25.0 release notes reviewed here do not explicitly identify that as a release-specific change, so client code should rely on the current documentation and normalize values carefully in mixed-version deployments.
Do I need to upgrade to get these improvements?
Upgrade to RTC 3.25.0 to receive the documented sharpening, super-resolution performance, and low-latency word-accuracy improvements. Some underlying capabilities and AI modes existed before 3.25.0, so check the release notes for your current version and confirm special-package availability with support.
Can super resolution enhance every participant in a group call?
No. Current ZEGOCLOUD documentation limits super resolution to one stream per device. It is best suited to a pinned speaker, teacher, host, or one-to-one call rather than simultaneous enhancement of every video tile.
Explore ZEGOCLOUD real-time communication
Learn more about ZEGOCLOUD Video Call for interactive video experiences and ZEGOCLOUD Voice Call for low-latency voice communication. Read more about integrating these quality-enhancement capabilities into your RTC application.
Let’s Build APP Together
Start building with real-time video, voice & chat SDK for apps today!






