Release date: 2025-12-18
New Features
The onPublisherQualityUpdate callback adds audioTrafficControlRate and videoTrafficControlRate fields to notify users of the current traffic control ratio.
For related API, please refer to onPublisherQualityUpdate
For related API, please refer to setDummyCaptureImagePath
The switchPlayingStream interface adds the switchTimeout parameter.
Assuming streams A, B, and C exist:
For related API, please refer to switchPlayingStream
Added blurInfo parameter in mixed streaming ZegoMixerInput to blend the picture boundaries of mixed streaming input.
For related API, please refer to startMixerTask
A new ZegoCustomAudioProcessManager singleton class is added for registering audio data callbacks.
OnPlayerRecvVideoFirstFrame is the callback for receiving the first frame of the stream, and onPlayerVideoSizeChanged is the callback for the resolution change of the stream.
For related APIs, please refer to: [onPlayerRecvVideoFirstFrame](https://doc-zh.zego.im/unique-api/express-video-sdk/zh/dart_flutter/zego_express_engine/ZegoExpressEngine/onPlayerRecvVideoFirstFrame.html), [onPlayerVideoSizeChanged](https://doc-zh.zego.im/unique-api/express-video-sdk/zh/dart_flutter/zego_express_engine/ZegoExpressEngine/onPlayerVideoSizeChanged.html)
Enhancements
Optimize the flow control logic, remove the screen ratio limit, and currently support any resolution.
The new return value -1 indicates disconnection and reconnection, and the status of disconnection and reconnection is separated from the state without flow control (return value 0).
Optimize OpenH.264 encoder performance and improve encoding quality.
The SDK supports HTTP DNS resolution, improving the success rate of domain name resolution for media player resources.
Release date: 2025-09-30
Bug Fixes
Fixed the issue that the preview mirroring function of Windows, iOS, and Mac is not effective.
Release date: 2025-08-26
New Features
A new parameter enableMixScreenCapture has been added to ZegoAudioSourceMixConfig, which allows the audio data from screen sharing to be mixed into the stream when the microphone audio source is set on the main channel. You can dynamically enable or disable this feature by calling [setAudioSource].
For related APIs, please refer to: setAudioSource, startCapture, updateScreenCaptureConfig
When starting screen sharing, you can listen for the success or failure of the screen sharing through [onMobileScreenCaptureStart] and [onMobileScreenCaptureExceptionOccurred] to monitor the screen sharing start failure or abnormal disconnection。
For related APIs, please refer to: onMobileScreenCaptureStart, onMobileScreenCaptureExceptionOccurred
A new parameter ZegoScreenCaptureOrientation has been added to ZegoScreenCaptureConfig, which allows the screen sharing to be fixed in the horizontal or vertical orientation.
ZegoScreenCaptureConfig added the ZegoScreenCaptureOrientation parameter to set the fixed landscape orientation of the screen sharing screen.
For related APIs, please refer to: startCapture, updateScreenCaptureConfig
A new parameter ZegoScreenCaptureAudioDeviceMode has been added to ZegoScreenCaptureConfig, which allows the screen sharing to be fixed in the horizontal or vertical orientation.
To use this feature, please contact ZEGOCLOUD technical support.
A new parameter ZegoScreenCaptureAudioDeviceMode has been added to ZegoScreenCaptureConfig, which allows the screen sharing to be fixed in the horizontal or vertical orientation.
For related APIs, please refer to: startCapture, updateScreenCaptureConfig
By setting the video source of setVideoSource to Picture, you can push a specified image.
For related APIs, please refer to: setVideoSource
For related APIs, please refer to: ZegoAutoMixerTask
For related APIs, please refer to: ZegoMediaPlayer
To use this feature, please contact ZEGOCLOUD technical support.
By enabling the forced switching mode, you can avoid the situation where the stream cannot be pulled for a long time when switching from a high bitrate to a low bitrate in a weak network environment.
For related APIs, please refer to: SwitchPlayingStream
For related APIs, please refer to: setRoomScenario
To use this feature, please contact ZEGOCLOUD technical support.
To use this feature, please contact ZEGOCLOUD technical support.
To use this feature, please contact ZEGOCLOUD technical support.
For related APIs, please refer to: SwitchPlayingStream
Support for cloud proxy configuration to be sent through cloud control. When the cloud control configuration is completed and the SDK pulls the latest cloud control information, the new cloud proxy configuration can take effect immediately.
To use this feature, please contact ZEGOCLOUD technical support.
For related APIs, please refer to: setCloudProxyConfig
To use this feature, please contact ZEGOCLOUD technical support.
For related APIs, please refer to: startPublishingStream、addPublishCdnUrl、removePublishCdnUrl
The media player and audio effect player support playing wma format audio files
Enhancements
Bug Fixes
Release date: 2025-06-11
New Features
When using screen sharing on the desktop, you can add a highlight border to the shared window and set the color and width of the border to enhance the recognition of the shared window.
For related API, please refer to enableHightLight
To use this feature, please contact ZEGOCLOUD technical support.
For the case where the waiting time for CDN playback is too long, resulting in poor user experience, the SDK optimizes the internal timeout logic for CDN playback, reducing the waiting time. In addition, the SDK supports developers to customize the playback timeout time.
If you want to display the live title in scenarios such as the live list, the SDK supports developers to configure the title through the streamTitle parameter in ZegoPublisherConfig before calling the startPublishingStream interface to start publishing the stream.
For related API, please refer to startPublishingStream, ZegoPublisherConfig > streamTitle
The media player has added an error code 1008015 related to resource file permissions to help developers quickly locate the problem.
For related API, please refer to onMediaPlayerStateUpdate
Enhancements
To improve the security quality of the SDK, the libvpx library has been upgraded to version 1.13.1.
The SDK scheduling logic has been optimized to reduce the login and stream publishing/playing time. It can improve the user's experience of playing streams instantly.
The low-light enhancement algorithm has been optimized to make the transition between light and dark smoother and avoid overexposure issues.
The ear-return delay performance of Android devices in the ultra-low latency mode has been optimized.
To use this feature, please contact ZEGOCLOUD technical support.
Optimized the dual-channel audio encoding efficiency in specific scenarios:
while maintaining the same audio quality, the SDK reduces the audio bitrate to lower user bandwidth consumption and improve playback smoothness and experience.
When the room stream extra information fails to be sent, the SDK will retry until the information is successfully sent within the stream life cycle, improving the reliability of the information.
Bug Fixes
Release date: 2025-05-13
New Features
| Feature | API |
|---|---|
| Get and Set Audio Parameters | |
| Geo-fencing | setGeoFence |
| Cloud Proxy | setCloudProxyConfig |
| Set Mirror Mode | setVideoMirrorMode Setting stream mirroring is not supported. |
| Set Publishing End Capture Volume | setCaptureVolume |
| Forward to CDN | |
| Dynamic Traffic Control Strategy Switching | |
| Set Playback Volume | Values above 100 are not supported and will be treated as 100. |
| Whether to receive all audio data for playback | muteAllPlayAudioStreams |
| Whether to receive all video data for playback | muteAllPlayVideoStreams |
| Update playback view | updatePlayingCanvas |
| Whether to enable hardware decoding | enableHardwareEncoder |
| Real-time sequential data | |
| Enable and disable sound level monitoring | |
| Basic beauty effects | |
| Media player | loadCopyrightedMusicResourceWithPosition |
| Low-light Enhancement | setLowlightEnhancement |
| Auto Mixing | |
| Play Stream Screenshot | takePlayStreamSnapshot |
| Local Device Exception Event Callback | onLocalDeviceExceptionOccurred |
| Local Video and Audio Device State Change Event Callback | |
| Get Raw Audio Data | |
| Mixer Sound Level Callback | onMixerSoundLevelUpdate Web platform only supports getting mixer sound level through SEI. Please contact ZEGOCLOUD technical support to enable configuration and handle race conditions when calling the interface. |
| Auto Mixer Sound Level Callback | onAutoMixerSoundLevelUpdate Please contact ZEGOCLOUD technical support to enable configuration. |
Enhancements
Bug Fixes
The following bug fixes only apply to Web platform methods.
Release date: 2025-03-24
New Features
To use this feature, please contact ZEGOCLOUD technical support.
A new interface is introduced for sports commentary scenarios, supporting precise audio-video synchronization between the commentary stream and the event stream, providing viewers with a high-quality viewing experience.
A new callback, onRtcStats, allows developers to measure the RTC network quality based on the user dimension. This interface aggregates and reports the quality data of all stream publishing and playing of the local user, including uplink and downlink metrics such as occupied bandwidth, RTT, and packet loss rate, as well as end-to-end delay.
For related API, please refer to onRtcStats
The face recognition feature supports the rear camera, and a new callback onPublisherFaceDetectInfo is added to support obtaining the number of faces and coordinate information.
This callback is triggered only when the camera is started and the number of faces changes, and cannot be used in conjunction with custom video pre-processing.
For related API, please refer to enableFaceDetection, onPublisherFaceDetectInfo
To use this feature, please contact ZEGOCLOUD technical support.
For custom rendering on macOS, RGBA format video data is now supported.
Enhancements
To use this feature, please contact ZEGOCLOUD technical support.
In the case of unstable networks when publishing streams directly to CDN, the SDK now can ensure smooth local recording, suitable for online education and meetings that have high requirements for local recording.
To use this feature, please contact ZEGOCLOUD technical support.
When switching video streams using the same view on iOS, you can choose to retain the last frame of the old video until the new video is rendered, achieving a smooth transition of the video image.
The enableCamera interface has added a notifyMode parameter, which is used to control whether to notify the local and remote ends when the camera is turned off on mobile devices. In the scenario of switching between front and rear cameras, this parameter can reduce the number of device switch status callbacks, avoiding unnecessary business logic triggers.
Bug Fixes
Release date: 2025-02-26
New Features
The ZEGO Express Engine SDK now supports version 3.29.0 of Flutter.
Release date: 2025-01-21
New Features
To use this feature, please contact ZEGOCLOUD technical support.
The Low Light Enhancement feature adds AI algorithms. Compared to traditional algorithms, it provides more vibrant colors, more realistic contrast, and better noise suppression, significantly improving the overall subjective image quality.
Developers can specify the use of AI algorithm through setLowlightEnhancementParams. When device performance is insufficient to support AI algorithm, SDK will automatically use traditional algorithm. Generally, mid to high-end devices can stably run Low Light Enhancement AI algorithm.
For related API, please refer to setLowlightEnhancementParams
When Dynamic Loudness Balance is enabled, the SDK dynamically adjusts vocal volume based on Media Player accompaniment's real-time performance, maintaining appropriate ratio between vocals and accompaniment at all times. This improves the blend of vocals and accompaniment, enhancing audience experience in real-time KTV Solo scenarios.
For related API, please refer to enableAuxBgmBalance
Developers can set the cache resource file path by configuring ZegoMediaPlayerResource-onlineResourceCachePath parameter. Additionally, the ZegoMediaPlayerResource-maxCachePendingLength parameter can be used to set the maximum pre-cacheable data length (in bytes) from the current playback time point. This reduces user resource download frequency and improves resource reuse rate and user experience when Media Player plays online resources.
While generating cache files, SDK also generates a ".info" suffix file to record cache information (such as cache start position, etc.). Users of this feature need to be responsible for cleaning up both "cache files" and "cache information files".
For related APIs, please refer to ZegoMediaPlayerResource > onlineResourceCachePath, ZegoMediaPlayerResource > maxCachePendingLength
When the camera cannot continue capturing due to user operations or system foreground/background restrictions, it supports automatically pushing static images configured by developers.
For related API, please refer to ZegoExpLowlightEnhancementType
Improvements
The domain name resolution logic for CDN publishing and playing streams has been changed from synchronous to asynchronous operation to avoid thread blocking.
For devices running ZEGOCLOUD Express SDK for the first time, room entry time and stream publishing/playing time are reduced to improve users' instant playback experience.
Release date: 2024-12-17
Bug Fixes
Release Date: 2024-12-04
New Features
To use this feature, please contact ZEGO technical support.
AI AEC supports intelligent identification and cancellation of echoes. Compared to traditional AEC algorithms, it significantly improves the fidelity of the human voice without additional latency or power consumption. It is suitable for real-time KTV, high-quality voice chat, and video scenarios.
For related API, please refer to ZegoAECMode > AI
The new video denoising interface setVideoDenoiseParams is applicable in scenarios such as addressing poor camera capture performance, significant visual noise in footage, or situations requiring dedicated video denoising processing. Developers can choose different video noise reduction modes ZegoVideoDenoiseMode and video noise reduction strengths ZegoVideoDenoiseStrength based on their business scenarios.
For related API, please refer to setVideoDenoiseParams
The stream mixing feature supports joining the output stream after stream mixing to a specified room, i.e., it supports setting the target room information for the output stream targetRoom. Each output stream only supports joining one room, and once added, dynamic room updates are not supported during the stream mixing process.
For related API, please refer to targetRoom
The Web platform supports setting the log level before initializing the engine to reduce logs printed to the browser console.
For related API, please refer to setLogConfig
When the connection state of the room changes, the onRoomStateChanged callback is triggered, and developers can use this callback to determine the current user status in the room.
For related API, please refer to onRoomStateChanged
Improvements
In scenarios of video custom pre-processing and custom capture, support for adapting to OpenGL 3.0 version is added, which can be used to adapt to beauty effects from some manufacturers.
For related API, please refer to setLowlightEnhancement
Bug Fixes
Release date: 2024-10-09
Bug Fixes
Release Date: 2024-10-09
New Features
Supports Debian 10 or above, Ubuntu 20.04 LTS, 22.04 LTS, 24.04 LTS.
When the media player plays transparent effects, a new ZegoAlphaLayoutType > RightTop enumeration is added to support Alpha data splicing on the top right of RGB data. When setting this enumeration, only a scaling factor of 0.5x is supported.
For related API, please refer to loadResourceWithConfig, ZegoStreamResourceMode > Custom, ZegoAlphaLayoutType > RightTop
Support setting different stream resource types for audience members before and after going on stage, making the streaming method more flexible. It can be set to: streaming through RTC, ultra-low latency live streaming (L3), or streaming through CDN. For example, it can be used to implement live interactive scenarios where the audience member uses L3 streaming by default before going on stage, switches to RTC streaming during the interaction on stage, and switches back to L3 streaming after going off stage.
For related API, please refer to startPlayingStream, ZegoPlayerConfig > customResourceConfig
Improvements
Note:
To better comply with privacy regulations, the default screen sharing permission declared in the AndroidManifest.xml file is removed. Developers need to declare it actively:
FOREGROUND_SERVICE permission declaration needs to be set.FOREGROUND_SERVICE and FOREGROUND_SERVICE_MEDIA_PROJECTION permission declarations need to be set.When logging into a room using the loginRoom interface, userName was originally a required field. This optimization makes it an optional field.
For related API, please refer to loginRoom
For related API, please refer to setVoiceChangerParam
Bug Fixes
Release Date: 2024-08-16
Bug Fixes
Release Date: 2024-07-29
New Features
Note:
This feature is only available on iOS 13 and above. Please contact ZEGOCLOUD technical support to enable this feature.
This feature consumes a significant amount of phone performance, so please use it with caution.
Developers can use the system library interface [AVCaptureMultiCamSession.multiCamSupported] to determine if the device supports the ability to use front and rear cameras simultaneously.
A new enumeration value ZegoVideoSourceTypeSecondaryCamera is added to identify the video from the second camera. It supports setting both the front and rear cameras as video sources and streaming them separately using the [setVideoSource] interface. Developers can use [useFrontCamera] to switch between the front and rear views corresponding to ZegoVideoSourceTypeCamera and ZegoVideoSourceTypeSecondaryCamera. This capability can be applied to scenarios such as dual-camera live streaming.
For related API, please refer to setVideoSource, useFrontCamera, ZegoVideoSourceType > SecondaryCamera, ZegoVideoSourceType > Camera
Note:
When there are 3 rear cameras (ultra-wide-angle, main, and telephoto cameras) on the device, after enabling the relevant configuration, if you update the zoom factor using [setCameraZoomFactor], the SDK will automatically select the clearest camera for video capture based on the zoom factor.
For related API, please refer to setCameraZoomFactor
Developers can handle subsequent business operations based on the callback result, including UI prompts or application jumps, etc.
For related API, please refer to onMobileScreenCaptureStart
Note:
When the video resolution exceeds the device's maximum supported limit, additional damage will be introduced, resulting in a decrease in video quality. Therefore, the video super-resolution capability adds support for 1.33x and 1.5x zoom factors to adapt to the best effect on different devices.
Note: Please contact ZEGOCLOUD technical support to enable this feature.
Under a 10ms delay, the AI noise reduction can still maintain pure noise reduction effect and high-fidelity voice quality. It is suitable for scenarios that are sensitive to latency, such as In-Game Voice Chat, Party up in games, and real-time chorus. Currently, AI noise reduction supports balanced mode, low-latency mode, and lightweight mode.
For related API, please refer to setANSMode
Note: If a stream is set to allow review, it will not be reviewed if the developer does not initiate a review task.
When calling the review interface, it will review all streams in the room by default. If the client wants to control that a certain stream cannot be reviewed, it can set the review flag [streamCensorFlag] parameter to 1 (not allowed) when calling the [startPublishingStream] interface to start streaming.
For related API, please refer to startPublishingStream, ZegoPublisherConfig > streamCensorFlag
The playback speed range of the Media Player has been expanded from [0.5, 4.0] to [0.3, 4.0].
For related API, please refer to setPlaySpeed
Note: Please contact ZEGOCLOUD technical support to enable this feature.
Control the compatibility range of the local client encoding for all streaming users or all users in the room. That is, when there are users in the specified range that do not support H.265, the local client encoding will dynamically fallback.
For related API, please refer to loginRoom, startPublishingStream, ZegoPublisherConfig > codecNegotiationType, ZegoRoomConfig > capabilityNegotiationTypes
Bug Fixes
Release Date: 2024-06-05
New Features
Note: To use this feature, please contact ZEGOCloud technical support.
The ear back sound data can be played from the speaker.
The media player has a new [enableVoiceChanger] interface that supports enabling voice changer effects on the sound output from the media player, while selecting the desired voice modulation effect.
For related API, please refer to ZegoMediaPlayer > enableVoiceChanger
Improvements and Optimizations
Optimized the "Balance Mode" noise reduction in AI scene-based noise reduction. With no change in performance, the clarity and stability of the human voice have been further improved, and noise suppression is cleaner.
Optimized video hardware encoding and decoding, adding more models for compatibility, and optimizing the performance of encoding and decoding at high resolution and high frame rate.
Bug Fixes
Deprecated and Removed
To enhance the playback experience in voice changing scenarios, the media player [ZegoMediaPlayer.setVoiceChangerParam] interface is deprecated. Please use [ZegoMediaPlayer.enableVoiceChanger] instead.
For related API, please refer to ZegoMediaPlayer > enableVoiceChanger
Release date: 2024-05-07
New Features
Note: Starting with this release, iOS 11.0 and earlier versions are no longer supported.
Starting from 2024-04-29, all apps on the App Store must support iOS 17.0 version. For details, please refer to Apple Developer Website Official Instructions.
Note: Please contact ZEGOCLOUD technical support if you need to use this feature.
ZegoVoiceChangerPreset added enumeration values for two voice-changing effects, Autobot and OutOfPower, to enrich the voice-changing effects.
For related API, please refer to setVoiceChangerPreset
For related API, please refer to enableViewMirror
ZegoMixerTask added new parameter mixImageCheckMode, used to control whether backgroundImageURL, inputList.imageInfo.url, or watermark.imageURL image resources fail to verify whether the mixing task can be initiated normally.
This function is not enabled by default (the default value of mixImageCheckMode is 0), which means that image verification is strictly performed, that is, the original restriction rules of parameters must be met before the mixed flow task can be initiated normally.
For related API, please refer to startMixerTask
The AI voice changing function has certain requirements on the performance of the running device. You can use the [isAIVoiceChangerSupported] interface to determine in advance whether the device can support the AI voice changing function.
For related API, please refer to isAIVoiceChangerSupported
Enhancements
Optimize the super-resolution effect and reduce the sharpness of the algorithm, thereby improving the subjective quality when the original picture has noise, there are faces in the picture, etc. For example, the flaws on the anchor’s face will not be highlighted, and the anchor’s hairline will not become more obvious.
Optimize the frame rate performance of the super-resolution algorithm on Qualcomm chips.
Bug Fixes
Release date: 2024-04-09
Bug Fixes
Release date: 2024-04-01
Bug Fixes
Release date: 2024-03-27
Bug Fixes
Release date: 2024-03-21
New Features
Note:
This feature is only available for use during internal video capture.
When this feature is enabled, there may be delays or cropping of the image, so please use it accordingly.
The new video stabilization feature is added to reduce the impact of camera shake during internal video capture and improve the quality of video capture.
For related API, please refer to setCameraStabilizationMode
Note:
The security of this feature is slightly lower compared to traditional methods. Please use it with caution.
When using this feature, set ZegoCDNConfig.protocol to quic.
ZegoCDNConfig adds the [quicConnectMode] attribute, which allows developers to use the QUIC protocol for CDN streaming. Set quicConnectMode to 1 for QUIC connection mode, enabling 0-RTT connection and fast service activation. Currently compatible with CDN live streaming products from Huawei, Wangsu, Tencent, and other vendors.
This feature is not enabled by default (quicConnectMode is set to 0, indicating normal connection establishment).
For related API, please refer to ZegoCDNConfig > quicConnectMode
Note: This feature only takes effect when initiating a retweet. If there is a disconnection during the retweet process, the SDK will maintain the retry logic and there will be no callback notification in this case.
When initiating a retweet task, you can set the timeout for the retweet CDN through the addPublishCdnUrl interface to monitor if the stream exists. For example, if the developer has initiated a retweet task but the stream has not started streaming yet, after the timeout set, the SDK will return a callback notification indicating that the stream does not exist.
This callback notification will only be sent to the retweet initiator, not the streaming initiator. If the retweet initiator and the streaming initiator are not the same user, it is recommended for developers to initiate the retweet from the server side and receive this notification.
For related API, please refer to addPublishCdnUrl
ZegoDataRecordProgress adds the [quality] attribute, which can be used to callback the quality data of the recorded file, such as frame rate and bit rate, during the local recording process.
For related API, please refer to onCapturedDataRecordProgressUpdate
Note: The external capture function and pre-processing function cannot be used at the same time, otherwise abnormal images may occur when playing streams.
After enabling the external capture function, you can use the setLowlightEnhancement and enableColorEnhancement interfaces to separately enable low-light enhancement and color enhancement to adjust the captured images according to your business needs.
For related API, please refer to setLowlightEnhancement, enableColorEnhancement
Note: Please contact ZEGOCLOUD technical support if you need to use this feature.
When some users in the room do not support the H.265 format, the streaming end that supports it will fall back to the H.264 format and republish stream.
Enhancements
Optimize the callback notification logic of the media streaming engine, add error callbacks for unsupported audio sampling rate (for example, not supporting a sampling rate of 24K), and help developers quickly locate problems.
For related API, please refer to onMediaDataPublisherFileClose
Optimized color enhancement algorithm performs better than previous versions in scenes with high color saturation.
Note: Please contact ZEGOCLOUD technical support if you need to use this feature.
Bug Fixes
Fix the problem of abnormal time consumption of interface calls caused by not deinitializing the SDK after long-term use.
Fixed compatibility issues with hardware encoding and decoding, addressing occasional crashes.
Fix known compatibility issues and null pointer problems.
Fixing an issue where the engine occasionally initializes with incorrect states on iOS platform.
Release date: 2024-02-28
Bug Fixes
Release date: 2024-01-18
Bug Fixes
Release date: 2024-01-08
New Features
Note:
Please contact ZEGOCLOUD technical support if you need to use this feature.
The plugin cannot be used alone and must be used with Express SDK.
Support for copyright-music function pluginization, when the developer's business scenario only needs to update the copyright-music related, you can independently integrate the plugin without updating the Express SDK, which can smoothly migrate.
Note: The function retrieves a real-time stream list inside the room. If the room service is disconnected, the results obtained may not be accurate.
Developers are supported to obtain the stream list inside the room from the client, which can be used to handle related business logic.
For related API, please refer to getRoomStreamList
Note: Please contact ZEGOCLOUD technical support if you need to use this feature.
Support is provided for adding silent frames to the audio and video streams that are pushed to the CDN. This can be used to avoid issues such as stuttering or audio-video synchronization problems caused by timestamp discrepancies.
Support for obtaining frame rate statistical information of the currently playing media file, which can be used for data display, anomaly monitoring, etc..
For related API, please refer to getPlaybackStatistics
Support local caching of network resources, so that if the same network resource needs to be played, cached data will be prioritized, enhancing user experience.
For related API, please refer to enableLocalCache, onMediaPlayerLocalCache
Bug Fixes
Release date: 2023-12-15
New Features
Note: If you need to use this feature, please contact ZEGOCLOUD business personnel.
By applying leading coding and decoding algorithms and other video pre-processing capabilities in the cloud transcoding service, we continuously optimize the smoothness and clarity of video playback, significantly improving the image quality. This feature is suitable for the following scenarios:
Showroom live streaming scenes with high viewership. It ensures stable video transmission and high quality while saving bandwidth costs; without affecting the image quality, it can reduce the bitrate by about 30%.
Danmaku game live streaming, sports live streaming, and other scenes with rich color and texture details in the video content. Under the same bitrate conditions, it can provide a higher definition viewing experience.
For related API, please refer to ZegoMixerOutputVideoConfig > enableLowBitrateHD
For various cameras and other devices that capture images, if the colors appear grayish or have low saturation, we support enhancing the colors while preserving the natural skin tones. This will make the images more vibrant and brighter, creating a more realistic visual experience for the human eye.
For related API, please refer to enableColorEnhancement
Support sending real-time room messages to specified clients or client servers; message types are divided into normal and ordered, with the latter ensuring that messages are received strictly in order. This feature is suitable for scenarios where the anchor needs to manage the microphone positions in the room, for example:
Send messages to users who need to mute through the anchor client, and the receiving client will mute accordingly.
When the anchor wants to kick a user out of the room, send a message to the client server of the other party through the anchor client, and kick out the user.
For related API, please refer to sendTransparentMessage
Note: This feature only supports pre-processing of screenshots and does not support other processing such as rotation or watermarking.
When the video format output by the capture device is MJPEG, hardware decoding acceleration is enabled by default to prevent issues such as insufficient frame rate due to insufficient device performance.
This feature is suitable for use on capture devices with a 4K resolution mainly.
Note:
This feature is not enabled by default, meaning the server uses the default configuration values.
This feature may increase latency, so use it judiciously.
The automatic stream mixing interface supports setting a watermark to control the lower limit of the range for adaptive adjustment of the mixing server's stream cache. This helps maintain a balance between mixing time and video stuttering caused by unstable streaming from the source. This feature only takes effect on new input streams and does not affect input streams that have already started mixing.
For example, in a real-time karaoke KTV scenario, slight fluctuations in the streaming network from the source may cause mixing stuttering, which in turn increases the likelihood of stuttering for viewers. By adjusting the lower limit of the watermark, you can optimize the viewer's experience with stuttering, but this will increase latency.
For related API, please refer to ZegoAutoMixerTask > minPlayStreamBufferLength
Newly added support for using live streams as input streams for mixing; the URL of the live input stream supports both RTMP and HTTP-FLV protocols. This feature is suitable for mixing the RTC video streams of hosts' interactive broadcasting with cloud sports live streams, game live streams, etc., to achieve scenarios such as game or sports commentary in live broadcasting.
When using custom audio and video capture function and the corresponding audio capture sources have inconsistent delays, you can customize the audio offset value during mixing to achieve audio-video synchronization after mixing output, ensuring a better experience for the audience.
For related API, please refer to ZegoMixerInput > advancedConfig
The media player supports throwing relevant callback notifications to developers when the video resolution changes. This feature is suitable for scenarios where the resolution of the streaming screen changes multiple times and requires adjusting the encoding resolution on the streaming end and matching the rendering view size on the receiving end.
For related API, please refer to onMediaPlayerVideoSizeChanged
The sound effect player supports setting the streaming volume and local playback volume separately, ensuring that the volume on both ends, local and remote, is within an appropriate range.
For related API, please refer to ZegoAudioEffectPlayer > setPublishVolume, ZegoAudioEffectPlayer > setPlayVolume, ZegoAudioEffectPlayer > setPublishVolumeAll, ZegoAudioEffectPlayer > setPlayVolumeAll
Enhancements
Optimize server-side mix streaming and single-stream transcoding capabilities to improve encoding efficiency and achieve a 5% or more increase in subjective and objective video quality at the same bitrate.
After the user successfully logs in on device A, device A loses network connection. Then, the user logs in successfully on device B using the same userID. If the network connection on device A is restored and a reconnection is attempted, it will fail and throw error code 1002086, indicating that the userID is already logged in another device.
Bug Fixes
Release date: 2023-11-20
Bug Fixes
Release date: 2023-11-09
Bug Fixes
Release date: 2023-10-27
New Features
Note:
The AI Voice-Changing function is a paid function. If you need to apply for a trial or inquire about the official charging standards, please contact ZEGOCLOUD business personnel.
The current official website SDK does not include this function. If necessary, please contact ZEGOCLOUD technical support for special packaging.
New AI voice changing function, like the Conan's Bowtie in real-time calls, perfectly reproduces the timbre and rhythm of the target character, while retaining the user's speech speed, emotion, and intonation, and can switch timbre at will, with ultra-low latency allowing users Enjoy social chat, live broadcast, game voice and other scenarios.
For related API, please refer to createAIVoiceChanger, destroyAIVoiceChanger
Note:
The current official website SDK does not include this function. If necessary, please contact ZEGOCLOUD technical support for special packaging.
The video filling method of the virtual background is centered and proportionally scaled. When the video is too large, the excess part will be cropped.
When using the subject segmentation function, the virtual background supports the use of video materials. The final frame rate of the video materials will be consistent with the encoding frame rate and played in a loop.
For related API, please refer to enableVideoObjectSegmentation
The media player supports accompaniment sound quality enhancement, which improves the sound quality of the accompaniment and the atmosphere of the scene. It is suitable for chat rooms, karaoke and other scenes.
For related API, please refer to enableLiveAudioEffect
Note: Since audio dump files are sensitive privacy data of users, developers must read ZEGOCLOUD Privacy Policy carefully when implementing this capability. In addition, when collecting audio Dump files, please indicate the purpose of Express SDK collection when obtaining user authorization and consent.
Supports saving and uploading audio data before and after processing, which can be used to locate audio-related problems, improve troubleshooting efficiency, and shorten access time.
For related API, please refer to startDumpData, stopDumpData, uploadDumpData, removeDumpData, onRequestDumpData, onStartDumpData, onStopDumpData, onUploadDumpData
Supports the extraction, encoding, and transmission of Alpha channel data in the RGBA channel collected by developers, thereby rendering the subject with a transparent background on the streaming side to achieve a more immersive and realistic video scene.
For related API, please refer to enableAlphaChannelVideoEncoder
Enhancements
In the automatic mode with low illumination enhancement, the dynamic adjustment of brightness will be smoother and smoother, improving the user's visual experience.
For related API, please refer to setLowlightEnhancement
Optimize the upper limit of expected publish and play streaming bit rates for network speed testing, increasing it to 15M. Developers can check how well the audio and video quality matches the current network before publishing and playing streams to ensure stable call quality.
For related API, please refer to startNetworkSpeedTest
Note: The new interfaces [muteAllPlayAudioStreams], [muteAllPlayVideoStreams] and the old interfaces [muteAllPlayStreamAudio], [muteAllPlayStreamVideo] cannot be mixed.
New interfaces [muteAllPlayAudioStreams] and [muteAllPlayVideoStreams] are added to receive the audio and video data of all remote users when playing streams; at the same time, the [mutePlayStreamAudio] and [mutePlayStreamVideo] interfaces are used to individually control the specified streams.
After the old interfaces [muteAllPlayStreamAudio] and [muteAllPlayStreamVideo] are called, the receiving status of the specified stream cannot be controlled individually.
For related API, please refer to muteAllPlayAudioStreams, muteAllPlayVideoStreams, mutePlayStreamAudio, mutePlayStreamVideo
Note: During playback, if the media stream type is modified, it will take effect the next time it is played.
When using a media player to play audio and video files, the [setPlayMediaStreamType] interface can be used to set it to Audio-only or Video-only, which does not consume audio and video decoding performance.
For related API, please refer to setPlayMediaStreamType
Bug Fixes
Release date: 2023-09-18
New Features
Note: This feature requires Windows 10.18362 or above.
When the multi-source acquisition module performs screen capture, it supports system WGC, which also known as Windows Graphics Capture, and uses this mode by default, making the acquisition more efficient.
The multi-source collection module supports users to set independent preview and publishing-stream areas when performing screen capture.
For related API, please refer to updatePublishRegion
For related API, please refer to onPlayerRecvMediaSideInfo
Note:
If you need to use this function, please contact ZEGOCLOUD technical support.
Transcoding will cause additional delays. It is not recommended if you use this function in your Live Streaming scenarios which playing stream by RTC.
When RTC plays streams, it supports triggering single-stream transcoding tasks through preset transcoding templates, and outputs transcoded streams with different resolutions.
This function can be used in scenarios such as live broadcasts. Viewers can choose streams of different resolutions to ensure smooth playback that based on network quality, terminal equipment, etc..
For related API, please refer to ZegoPlayerConfig > codecTemplateId
For related API, please refer to onPublisherDummyCaptureImagePathError
For related API, please refer to enablePublishDirectToCdn
Note: The current official SDK does not include this function. If necessary, please contact ZEGOCLOUD technical support for special packaging.
Support balanced AI noise reduction mode. Compared with the original mode, under the premise of the same human voice fidelity effect, the noise suppression effect is significantly improved, and can reach the level of clean and noise-free or non-disturbing; but the performance Consumption increased slightly. Suitable for noisy (low signal-to-noise ratio) outdoor environments such as streets, roads, markets, etc..
For related API, please refer to ZegoANSMode > ZegoANSModeAIBalanced
Enhancements
The life cycle of setLogConfig is expanded to the App life cycle, and its priority is higher than the configuration in setEngineConfig.
For related API, please refer to setLogConfig, setEngineConfig
Optimize the retry rules when the App is sleeping. During the loginRoom and publishing-playing process, the App Sleep Time is also included in the Maximum Allowed Retry Time.
Bug Fixes
Release date: 2023-08-18
New Features
Note: If you need to use this function, please contact ZEGOCLOUD technical support.
After the developer sets the Smart Cloud Proxy mode, when publishing streams from RTC or L3, it will give priority to using the direct network mode to try. If the direct connection network is unavailable and it is currently a cellular network, continue to stay in the direct connection mode and try again; if the direct connection network is not available and it is currently a non-cellular network, then switch to the cloud proxy mode.
Note: If you need to use this function, please contact ZEGOCLOUD technical support.
Added a low frame rate alarm callback that supports throwing encoding and hardware decoding. In 1v1 chats, live broadcasts and other scenarios, developers can adjust the streaming resolution and trigger transcoding based on this callback.
For related API, please refer to onPlayerLowFpsWarning, onPublisherLowFpsWarning
The mediaplayer supports setting the Http Headers of network resources. Based on this configuration, developers can customize and limit the access methods of network resources to strengthen the security protection of resources.
For related API, please refer to setHttpHeader
In the range voice scene:
The onPublisherSendAudioFirstFrame callback function adds a channel parameter, which supports multi-channel listening and streaming to send the first frame information.
For related API, please refer to onPublisherSendAudioFirstFrame
Enhancements
Bug Fixes
Deleted
In version 3.8.1, deprecated changes were made to the following API interfaces.
Abandoned the original onPublisherSendAudioFirstFrame callback interface and replaced it with the onPublisherSendAudioFirstFrame callback of the same name, and added a channel parameter to support callback-related event activities by publsih channel.
The original member function of ZegoRangeAudio class:
setAudioReceiveRange is discarded and replaced with the setAudioReceiveRange interface with the same name, and the parameter ZegoReceiveRangeParam type is extended to support setting the audio receiving range of the range voice.setStreamVocalRange is discarded and replaced with the setStreamVocalRange interface with the same name, and the parameter ZegoVocalRangeParam type is extended to support setting the voice range of a single stream of range voice.There may be compatibility issues after the API interface changes, please refer to Upgrade guide 3.8.1+ for details.
Release date: 2023-07-28
New Features
Note:
Before using this function, you need to call the setVideoConfig interface to specify the video codecID as ZegoVideoCodecIDH264DualStream.
he ratio of setting the resolution for the big stream and the small stream needs to be consistent, otherwise it will cause errors when calling the interface.
When specifying the codecID as ZegoVideoCodecIDH264DualStream, you can separately set the resolution, frame rate, and bitrate for the big stream and the small stream.
For related API, please refer to setVideoConfig, setPublishDualStreamConfig
The callback notification for when the desktop screen capture area changes is called onRectChanged. After starting the screen capture, when the capture area changes, the SDK will notify the developer through this callback. By listening to this callback, developers can modify the preview screen size and other configurations.
For related API, please refer to onRectChanged
Enhancements
For related API, please refer to onNetworkQuality
For related API, please refer to submitLog
Bug Fixes
Release date: 2023-07-03
Bug Fixes
Release date: 2023-06-21
New Features
Note: The current official website SDK does not include this function. If necessary, please contact ZEGOCLOUD technical support.
In real scene or greenscreen scenes, developers can use this function to blur the user's background, or replace it with a custom picture background.
This function can be used in video conferences, 1v1 audio and video calls and other scenarios to help users better protect personal privacy and improve the fun of calls.
For related API, please refer to enableVideoObjectSegmentation
The screen capture function adds the ability to capture system audio on the basis of only supporting image capture, so as to share the music being played while sharing the demo courseware screen. This function can be used in scenarios such as online teaching and game live broadcasting.
For related API, please refer to startCapture
Added an enhanced KTV reverb effect to achieve a more concentrated and brighter KTV vocal effect. Compared with the previous KTV reverb sound effect, the Enhanced KTV reverb effect shortens the reverb duration and improves the dry-wet ratio.
The original KTV reverb effect is only suitable for users with obvious vocal defects, and the enhanced KTV reverb effect is suitable for most professional users and ordinary users.
For related API, please refer to setReverbPreset
Developers can realize 3D sound effects of local audio and online audio resources by setting the position and orientation of media players and sound effect players. This function can be used to set the sound effect of the item in the virtual scene, as well as the background music of the specified location, etc.
For related API, please refer to ZegoMediaPlayer > updatePosition, ZegoAudioEffectPlayer > updatePosition
For the video file being played by the media player, the developer can actively obtain information such as the resolution and frame rate of the video.
For related API, please refer to getMediaInfo
The maximum speed of the media player has been increased to 4x. For example, when the user is playing an audio and video file, if it has been set to play at 2x, it can be accelerated to 4x when long pressing the screen.
For related API, please refer to ZegoMediaPlayer > setPlaySpeed
For copyright music protection in online players, the media player supports downloading while recalling unencrypted binary data, which is decrypted by the developer and then returned to the media player for playback. During the process, no files or cache files are generated.
For related API, please refer to ZegoMediaPlayer > enableBlockData
Enhancements
applicationVolume and microphoneVolume in ZegoScreenCaptureConfig to become optional fields, expand SDK multi-port compatibility.Bug Fixes
Release date: 2023-05-19
New Features
When publishing audio and video stream, monitor the release timing of the "first frame of audio" or "first frame of video" through onPublisherSendAudioFirstFrame and onPublisherSendVideoFirstFrame callbacks. This function can be used to count the time consumption of audio and video streaming, or update UI performance, etc./unique-api/express-video-sdk/en/dart_flutter/zego_express_engine/ZegoExpressEngine/onPublisherSendVideoFirstFrame.html
For related API, please refer to onPublisherSendAudioFirstFrame, onPublisherSendVideoFirstFrame
When rendering audio and video through the media player, use the onMediaPlayerFirstFrameEvent callback to monitor the release timing of the "first frame of audio" or "first frame of video" after rendering. This function can be used to count the time consumption of audio and video rendering, or update UI performance, etc.
For related API, please refer to onMediaPlayerFirstFrameEvent
Note: If you need to use this function, please contact ZEGOCLOUD technical support.
When using the external acquisition function, support actively offsetting the NTP timestamp through the experimental API interface. This function can be used in KTV chorus, accompaniment, lyrics alignment and other scenarios.
In the multi-room mode, the switchRoom interface is supported to quickly and conveniently realize the function of switching rooms.
For related API, please refer to switchRoom
Enhancements
Note: If you need to use this function, please contact ZEGO technical support.
For HUAWEI devices, the SDK supports relevant configurations to reduce the time spent on video hardware decoding by 80%.
This optimization takes effect from version 3.5.0 and does not require additional interfaces.
Bug Fixes
Release date: 2023-04-26
New Features
Notice:
Restrict audio , Video and signaling data access to a certain area to meet regional data privacy and security regulations, that is, restrict users to access audio and Video services in a specific area.
For related APIs, please refer to setGeoFence
Supports dynamic switch Flow Control function, and supports setting Flow Control attributes, etc.
For related APIs, please refer to enableTrafficControl, setMinVideoBitrateForTrafficControl, setMinVideoFpsForTrafficControl, setMinVideoResolutionForTrafficControl
Enhancements
Delete some unnecessary memory applications inside the SDK, and optimize the memory usage of the SDK. Compared with the previous version, the memory usage is reduced by about 10%.
Optimize the rotation logic of Screen Sharing to avoid the crash caused by the memory usage exceeding the 50MB limit caused by the rotation during the screen recording process.
Bug Fixes
Deleted
For details, please refer to App Store submission requirement starts April 25 and Xcode 14 Release Notes.
For details, please refer to Xcode 14 Release Notes.
Release date: 2023-03-24
Bug Fixes
Release date: 2023-03-20
New Features
In the external playback scene, the Microphone of the device is too close to the speaker, which may easily cause the human voice to be blurred or dull. In this scenario, vocal enhancement can effectively improve the clarity of vocals and improve the dullness, so it is recommended to enable this function in the loudspeaker scenario.
In order to achieve the human voice enhancement effect in the external playback scene, you can turn on the human voice enhancement AudioEffect and set the enhancement level. The recommended enhancement level is 4, which can be used in the KTV external playback scene to finely Controller the vocal effect.
For related APIs, please refer to enableSpeechEnhance
Note: If you need to use this function, please contact ZEGO technical support.
In the custom Audio collection and SDK internal rendering mode, it supports Audio Mixing adaptive alignment and AEC functions, which can achieve better results when realizing chorus in KTV scenes.
In-game Voice Chat supports custom setting of the sound mode and listening mode, which can be used to realize the scene where players of the same team that are not within the range need to be blocked after joining the team.
For related APIs, please refer to setRangeAudioCustomMode
Note: If you need to use this function, please contact ZEGO technical support.
Note: Relaying Streams to CDNs must be used when pulling transcoded stream through CDN. If you need to use this function, please contact ZEGO technical support.
Single-stream transcoding refers to converting each original stream into transcoded streams with different encoding formats and resolutions on the cloud. When play streams, you need to pass in the transcoding template ID to pull the transcoding stream. In scenarios such as live broadcasting, viewers can choose streams with different resolutions to watch based on the quality of the access network and terminal equipment to ensure smooth playback.
Notice:
The same Stream Mixing task supports the output of Video streams with multiple resolutions, which can be used to meet the transcoding requirements in Stream Mixing scenarios.
Added [StandardVoiceCall] standard Voice Calling scene in scene-based audio and Video configuration, which is applicable to 1v1 pure Voice Calling scene.
For related APIs, please refer to setRoomScenario
Enhancements
Note: enableVideoSuperResolution has modified the timing of the API call, it needs to be called after initVideoSuperResolution.
For related APIs, please refer to enableVideoSuperResolution, initVideoSuperResolution
Note: enableVideoSuperResolution has modified the timing of the API call, it needs to be called after initVideoSuperResolution.
For related APIs, please refer to initVideoSuperResolution, uninitVideoSuperResolution
The AEC optimization for KTV scene realizes:
In the application project, developers can start the AppGroup configuration through the newly added ZegoExpressEngine > setAppGroupID and ZegoReplayKitExt > setupWithDelegate:appGroup interface of the native layer to obtain better performance and stability.
For related APIs, please refer to setAppGroupID
Bug Fixes
Release date: 2023-02-24
New Features
For related APIs, please refer to createScreenCaptureSource, setAudioSource, setVideoSource
For related APIs, please refer to enableEffectsBeauty, setEffectsBeautyParam
For related APIs, please refer to setRoomMode
Bug Fixes
SEIType on iOS platform has no effectRelease date: 2023-01-31
New Features
Compared with ScalableVideoCoding (H.264 SVC), Video small and large stream coding (H.264 DualStream) supports hardware coding when Video stream coding (H.264 DualStream) is used to layer the Video stream. ZegoVideoCodecID adds ZegoVideoCodecID.H264DualStream field.
For related APIs, please refer to ZegoVideoCodecID
Enhancements
Note: The default size of the custom signaling configuration is 1KB, if it needs to be extended to 4KB, please contact ZEGO technical support for processing.
Bug Fixes
Release date: 2022-12-27
New Features
For interactive scenarios with rich and diverse audio and Video sources such as online KTV, watching movies together, watching games, Video conferencing, online education, etc., multi-source acquisition provides flexible and easy-to-use audio and Video acquisition sources and channel management capabilities, greatly reducing the developer's effort. Development and maintenance costs.
Multi-source acquisition capability shortens, optimizes and normalizes the implementation paths of common capabilities such as Screen Sharing and Audio Mixing. From version 3.1.0 onwards, you no longer need to implement the above complex capabilities through custom acquisition. The main capabilities and characteristics are as follows:
Note: If you need to use this function, please contact ZEGO technical support.
By setting the cloud proxy interface of the SDK, all traffic corresponding to the SDK will be relayed through the proxy server in the cloud to realize communication with the RTC.
For related APIs, please refer to setCloudProxyConfig
Enhancements
ZEGO's self-developed scheduling system has been deeply optimized for areas with extremely poor network quality.
Bug Fixes
Logout signaling may failDate of release: 2022-12-06
This update contains incompatible changes, please refer to 3.0.0 and above version upgrade guide for details.
New Features
Note: If you need to use this function, please contact ZEGO technical support. This feature currently only supports Android and iOS platforms.
The enableVideoSuperResolution interface is added to support super-resolution processing on a Video stream to obtain better image quality. Super-resolution, referred to as super-resolution, is a technology that the client performs real-time multiplication processing on the width and height of the pulled Video stream. For example, from 640x360 to 1280x720.
For related APIs, please refer to enableVideoSuperResolution, onPlayerVideoSuperResolutionUpdate
Note: If you need to use this function, please contact ZEGO technical support. This feature currently only supports Android、iOS、macOS and Windows platforms.
The scene-based AI noise reduction function, based on the previous noise reduction for all non-human voices, has added support for noise reduction in music scenes. By identifying music, it can intelligently adjust the noise reduction effect to restore the sound quality of music. The SDK will detect the music input from the Microphone in real time, and automatically adjust the noise reduction level to ensure the high-fidelity sound quality of the music in the sound card, singing or near-field music scene.
In order to facilitate developers' quick access and lower the developer's access threshold, the SDK provides a variety of Preset scenarios. Developers can select the corresponding room mode ZegoScenario according to the required scenario, and the SDK will automatically apply the audio and Encoding & Decoding, audio and Video parameters, flow control strategy and other configurations suitable for the scenario, so as to quickly realize the The best effect in the scene.
Currently supported scenarios include Live Video Streaming, KTV, standard 1v1 audio and Video Calling, high-definition 1v1 audio and Video Calling, standard voice Voice Chatroom, and high-quality voice Voice Chatroom(the web side does not support high-quality voice Voice Chatroom scenarios and KTV scenarios for now) .
For related APIs, please refer to setRoomScenario
Note: The interface adds an optional parameter codecBackend. The return value is changed to an int type; 0 means not supported, and this encoding format cannot be used for publish streams; 1 means supported, and this encoding format can be used for publish streams; 2 means not confirmed, and it is recommended to call this interface later. This feature currently only supports Android、iOS、macOS and Windows platforms.
The SDK supports obtaining the support status of the codec mode of the specified Encoding & Decoding of the current device, so as to better help developers choose the codec and encoding mode to use and obtain better results.
For example, ZegoExpressEngine.instance.isVideoEncoderSupported(ZegoVideoCodecID.H265, codecBackend: ZegoVideoCodecBackend.Hardware) means checking whether the current device supports H265 hard encoding, and returns 1 if it does.
For related APIs, please refer to isVideoEncoderSupported, isVideoDecoderSupported
Note: This function is enabled by default. If you need to disable this function, please contact ZEGO technical support. This feature currently only supports Android、iOS、macOS and Windows platforms.
In the case that the App has the permission to obtain the geographic location, the developer can choose whether to allow the ZEGO SDK to obtain the GPS information cached by the system, and obtain it by default. When developers want to disable this function, they need to contact ZEGO technical support for setting.
It supports calling back after the SDK play streams and renders the first frame of Video data from the remote Camera each time the remote Camera is turned on. Developers can use this callback to count the time spent on the first frame or update the UI components for playing the stream.
For related APIs, please refer to onPlayerRenderCameraVideoFirstFrame
Note: If you want to Controller the play streams method from the cloud through more dimensions such as regions and users, please contact ZEGO technical support for relevant configurations.
The play streams interface of the web platform has added CDN and CDN Plus play streams resource mode (ZegoStreamResourceMode), and developers can enable and use CDN and CDN Plus play streams according to the stream dimension.
CDN Plus stream is a cost-effective play streams method with higher quality than CDN play streams streaming, but the price is close to CDN.
For related APIs, please refer to startPlayingStream
Enhancements
Note: If you need to use this function, please contact ZEGO technical support.
Optimized for 1v1 call scenarios, suitable for use in pure RTC scenarios.
The spatial Audio capability has been optimized so that users can distinguish front and rear sound sources to achieve a better sense of immersion.
Optimize the AGC AGC Controller algorithm, when the collection volume is Volume, it will not cause broken sound.
The SDK optimizes the internal strategy. In audio and Video scenarios, it supports a minimum Downlink of 50 kbps to play streams without lagging, ensuring a better experience under extremely weak networks.
Bug Fixes
Deleted
General, Communication, and Live in the ZegoScenario scenario enumeration.setDebugVerbose, setPlayStreamVideoLayer, enableAudioDataCallback and other interfaces, please refer to 3.0.0 and above version upgrade guide for details.This version contains breaking changes, please refer to v2.23.0 Upgrade Guide for details
Release date: 2022-10-25
New Features
The Flutter framework adds support for macOS. macOS currently only supports TextureRenderer, it is recommended to obtain the view of ZegoCanvas through createCanvasView.
For related APIs, please refer to setPlayerCanvas
Windows supports Media Player to set the display screen through the setPlayerCanvas interface, and take screenshots through the takePublishStreamSnapshot, takePlayStreamSnapshot, Snapshot interfaces] .
For related APIs, please refer to setPlayerCanvas, takePublishStreamSnapshot, takePlayStreamSnapshot, takeSnapshot.
Due to the angle, resolution, rotation and other characteristics of mobile Camera, developers need to do many complex adaptations.
The current SDK encapsulates various configurations and provides simple mode selection. On the basis of the original custom mode, a new fixed scale mode, adaptive mode and alignment mode can be added, which can effectively reduce the access cost of developers. For details, please refer to Video capture rotation.
The TextureRenderer rendering mode of iOS is currently not supported.
For related APIs, please refer to setAppOrientationMode
NOTE: To use this feature, please contact ZEGO Technical Support.
When Huawei mobile phones use the system HeadphoneMonitor, the Reverb effect is increased. Due to the limitation of the system, only the following three Reverb effects are supported: KTV, Theater, Concert, and the default is KTV. If you choose a Reverb effect other than the three effects, the KTV effect is still the default.
The Flutter framework adds some interfaces for developing web programs.
For related APIs, please refer to enableCamera, mutePlayStreamAudio, mutePlayStreamVideo, sendBroadcastMessage, sendBarrageMessage, etc.].
Enhancements
Note: To use this feature, please contact ZEGO technical support.
Optimize the performance of the super-resolution function, increase the maximum supported resolution, improve the model coverage, optimize resource usage and inference speed.
Deleted
To make it easier for developers to implement video rendering features, the [createTextureRenderer], [destroyTextureRenderer], [updateTextureRendererSize], [createPlatformView] and [destroyPlatformView] API modules have been removed from version 2.23.0.
Therefore, when upgrading from an older version to v2.23.0, developers need to migrate to the new createCanvasView and destroyCanvasView interfaces for Video rendering. The new ZegoExpressCanvasViewUtils API module can support both external texture and PlatformView rendering methods. For details, please refer to v2.23.0 Upgrade Guide
For related APIs, please refer to createCanvasView, destroyCanvasView
Bug Fixes
Release date: 2022-08-24
New Features
In an intranet or firewall scenario, you can interact with the public network through a proxy server, and set the proxy server address through setEngineConfig to ensure that the ZEGO audio and Video cloud service is normal. Currently, only the SOCKS5 protocol is supported.
For related APIs, please refer to setEngineConfig
The low-light enhancement function uses OpenGL by default. If you need to specify the use of Metal, please contact ZEGO technical support.
Notice:
For related APIs, please refer to enableCustomVideoCapture
Note: To enable this function, you need to contact ZEGO technical support.
Support Windows AMD/NVIDIA discrete graphics and Intel HD graphics, you can modify the default graphics priority through setEngineConfig.
For related APIs, please refer to setEngineConfig, enableHardwareEncoder, enableHardwareDecoder
Added setAudioDeviceMode interface to dynamically modify the Audio mode of the device. This configuration determines the Volume mode, pre-processing mode and Mic occupation logic of the device. You can choose according to specific scenarios.
For related APIs, please refer to setAudioDeviceMode
Note:
For related APIs, please refer to enableAlignedAudioAuxData, onAlignedAudioAuxData, enableAux
Note: Windows currently does not support the Media Player setting display screen setPlayerCanvas, and the Snapshot function is still being improved. The involved interfaces include takePublishStreamSnapshot, takePlayStreamSnapshot, takeSnapshot.
The Flutter framework adds support for Windows. Windows currently only supports TextureRenderer, it is recommended to use createCanvasView to get the view of ZegoCanvas.
For related APIs, please refer to setPlayerCanvas
The - SDK integrates the createTextureRenderer and createPlatformView interfaces, and will use the ZegoEngineProfile.enablePlatformView interface to determine which method is preferred for creation. At the same time, when the platform only supports one of the creation methods, it will automatically use the supported method to create. Currently, Windows only supports TextureRenderer, and Web only supports PlatformView.
For related APIs, please refer to createCanvasView, destroyCanvasView
Enhancements
When the remote user is abnormal, onNetworkQuality will call back the quality unknown status (ZegoStreamQualityLevel.Unknown status) every 2s. When the user remains in this state for 8s, it is considered that the remote user has been abnormally disconnected, and the callback will be called at this time. Quality exception status (ZegoStreamQualityLevel.Die status).
For related APIs, please refer to onNetworkQuality
The push-pull stream quality callback will call back the result with the worst quality every 3s. When serious jitter or packet loss occurs during the period, the poor stream quality can be immediately reported.
For related APIs, please refer to onPlayerQualityUpdate, onPublisherQualityUpdate, onNetworkQuality
Optimize the log reporting strategy to improve log upload efficiency.
AGC's newly improved harmonic detection algorithm has a crash problem, and is now back to the old version of the harmonic detection algorithm.
Bug Fixes
Release date:2022.07.15
Bug Fixes
Release date: 2022.07.12
New Features
It supports web now.
Now it supports the web, which will be different from other platforms in use. Some interface functions are not supported by the web. At present, the web supports basic functions.
Range voice supports custom distance update frequency.
The default distance update frequency of the SDK is changed from 1s to 100ms, which can basically meet the smooth attenuation effect for most developers when using range voice, optimize the experience of sound attenuation when using range voice, and achieve a smoother and more natural attenuation effect.
If you want to better match the actual business demand, you can call the setPositionUpdateFrequency interface to modify the frequency by yourself.
For related API, please refer to setPositionUpdateFrequency
Support setting the low-light enhancement.
Note: The setLowlightEnhancement interface should be called after calling the createEngineWithProfile interface to create an engine.
When the surrounding environment of the stream-publishing user is dark, or the frame rate set by the camera is high, resulting in a dark live broadcast screen, and the subject cannot be displayed or recognized normally, you can call the setLowlightEnhancement interface to set the low-light enhancement to increase the brightness of the video screen. The low-light enhancement function includes three modes: 1: Disable the low-light enhancement (default), 2: Enable the low-light enhancement, 3: Automatically switch on/off the low-light enhancement.
You can choose different low-light enhancement modes according to business scenarios: when you want to judge whether the low-light enhancement is needed, you can switch between modes 1 and 2; when you want the SDK to automatically enhance the brightness, you can enable the mode 3, and the SDK will automatically determine the lighting environment where the user is in, and turn on or off the low-light enhancement.
For related API, please refer to setLowlightEnhancement
Support setting video borders to rounded corners when mixing streams.
When calling the startMixerTask interface to mix streams, you can set the "cornerRadius" through the "ZegoMixerInput" class to turn the video border to rounded corners. The unit of "cornerRadius" is px, and the value cannot exceed the half of the width or the height of video screen, which is shorter.
For related API, please refer to startMixerTask
Add the CDN Plus playing configuration to the startPlayingStream interface.
Note: If you want to control the stream-playing mode from the cloud by more criteria such as region and user, please contact ZEGO technical support for related configuration.
The startPlayingStream interface adds CDNPlus as a new ZegoStreamResourceMode. interface. You can enable CDNPlus to play stream by yourself based on to the stream critirion. The CDN Plus stream-playing is a cost-effective method, because its quality is higher than CDN stream-playing with similar price.
For related API, please refer to startPlayingStream
Enhancements
Optimize the related error codes of Token exceptions when mandatory login authentication is enabled.
Added 1002074, 1002075, 1002076, 1002077, 1002078, 1002079, 1002080 and other error codes. After enabling mandatory login authentication, if the Token is incorrect, these error codes will be returned. For details, please refer to Error codes.
Optimized the alignment between vocal and accompaniment for real-time chorus scenario.
The alignment between vocal and accompaniment for real-time chorus scenario is optimized. Therefore,you can avoid the unaligned streams of vocal and accompaniment caused by the delay of device playback when the client publishes the two streams at the same time.
Bug Fixes
Fixed an issue where play stream with L3 failed.
Fixed the issue that when the 2.20.0 ~ 2.20.2 SDK uses L3 to play streams, if the played-stream is the stream which is published by the SDK of 2.15.0 and earlier versions, it may fail.
Fixed some bug about Custom Audio IO
Release date: 2022.07.04
New Features
Release date: 2022.06.20
Bug fixes
Release date: 2022.06.16
New Features
After calling the createEngine interface to initialize the engine and the createMediaPlayer interface to create a media player, you can call the setActiveAudioChannel interface to set the left channel, right channel or all channels. When initialized, the media player defaults to all channels.
For related API, please refer to setActiveAudioChannel
Note: You must wait for the media player to finish playing before the API call takes effect.
Call the createEngine interface to initialize the engine, call the createMediaPlayer interface to create a media player, and call clearView to clear the last remaining frame.
For related API, please refer to clearView
Note: When the frame rate set by setVideoConfig is less than the minimum expected frame rate of enableCameraAdaptiveFPS, the frame rate value set by setVideoConfig will be used. Due to the different hardware and algorithm strategies of different mobile phone manufacturers, the effect of this interface is different on different models or on the front and back cameras of the same model.
When the frame rate set by the user on the streaming end is high, and the ambient light is low and the subject cannot be displayed or recognized normally, you can call the enableCameraAdaptiveFPS interface to automatically reduce the frame rate within a certain range to increase exposure time, so as to improve the brightness of the video picture. This function is often used in live broadcast scenes with high exposure requirements. The enableCameraAdaptiveFPS interface needs to be called after calling the createEngine interface to initialize the engine and before starting the camera.
For related API, please refer to enableCameraAdaptiveFPS
Note: The length of the image address must not exceed 1024 bytes, otherwise the error code 1005034 will appear; the image format should be JPG and PNG format, otherwise the error code 1005035 will appear; the image must not exceed 1M, otherwise the error code 1005036 will appear.
You can set the image address through the "ZegoMixerImageInfo" type parameter of the startMixerTask interface to set the content of a single input stream as an image, which is used to replace the video, that is, when the image is used, the video is not displayed. This function is mainly used in a video call when a video caller may need to temporarily turn off the camera to display the image, or in a call between a video caller and a voice caller when the image of the voice caller may need to be displayed.
For related API, please refer to startMixerTask
NOTE: To use this feature, please contact ZEGO Technical Support.
When you finds that the stream publisher violates the regulations, you can call the mutePlayStreamVideo interface to discontinue the stream puller from pulling the video stream of the violating user, and request the violating user to make corrections. Using this function at the same time can avoid the risk of violation caused by the video interface of the stream puller still retaining the last frame.
NOTE: To use this feature, please contact ZEGO Technical Support.
A new volume gain method is provided, and you can choose an appropriate volume gain method according to actual needs.
Note: To use this function, please contact ZEGO technical support to activate the background service.
When calling the startPublishingStream API to start streaming, you can set the "ZegoStreamCensorshipMode" parameter to conduct automatic audio and video censorship at the stream level, and automatically identify sensitive content, thus reducing the integration difficulty and business maintenance costs.
For related API, please refer to startPublishingStream
Enhancements
It indicates that the message input length exceeds the limit. When this error code appears, please check the input content length or contact ZEGO technical support to extend the message content length.
When the copyrighted music is initialized, the authentication fails because the AppSign or Token is not set, and this error code will appear. At this time, if you use AppSign for authentication, please fill in AppSign when initializing the SDK; if you use Token authentication, before calling the initCopyrightedMusic interface, please call the loginRoom interface and pass in Token for authentication.
For related API, please refer to initCopyrightedMusic, loginRoom
Bug Fixes
Release date: 2022.05.23
New Features
When Direct publishing to CDN , the SDK play streams from the customer's CDN source site, distributes the audio and Video content to the audience through L3, and Controller the source site resources through [ZegoResourceType] without changing the publish streams method. This function is often used in live broadcast scenarios.
For related APIs, please refer to startPlayingStream
Note: Currently, only the RTC scenario is supported, and it is invalid in the Direct publishing to CDN and Relaying Streams to CDNs scenarios.
Starting from version 2.19.0, SEI (Media Supplemental Enhancement Information) is supported to be sent synchronously with Audio frames in audio and Video scenarios. This function is often used in Video scenarios where SEI is strongly related to Audio , such as real-time KTV.
In versions prior to 2.19.0, the SEI data was sent along with the Video frame data. Generally, the FPS is much lower than the Audio frame rate, resulting in insufficient SEI accuracy/frequency in Stream Mixing stream alignment and accompaniment alignment scenarios.
For related APIs, please refer to onPlayerRecvAudioSideInfo, sendAudioSideInfo
Enhancements
Bug Fixes
Release date: 2022-04-28
New Features
AI noise reduction will currently cause great damage to the music collected by the Microphone, including the sound of people singing through the Microphone. To use this feature, please contact ZEGO Technical Support.
AI noise reduction means that the SDK will perform noise reduction processing on the sound collected by the Microphone. In the case of normal processing of the original steady-state noise, it will also deal with non-steady-state noise, mainly including mouse, keyboard sound, percussion, air conditioner, Non-human noises such as kitchen dishes, noisy restaurants, ambient wind, coughing, air blowing, etc. The AI noise reduction mode is set through the "ZegoANSMode" parameter in the [setANSMode] interface, and the noise reduction mode can be adjusted in real time.
This function is often used in calls, conferences and other scenarios without background music, such as ordinary voice Voice Chatroom, voice conferences, voice blackouts, and one-to-one Video Calling.
For related APIs, please refer to setANSMode
After playing the AudioEffect, you can call the [SetPlaySpeed] interface to set four playback speeds for the AudioEffect(the local playback speed and the publish streams speed will be set at the same time), which are 0.5 times, original speed, 1.5 times and 2 times respectively, and the default is the original speed.
For related APIs, please refer to SetPlaySpeed
The QUIC protocol push-pull streaming is mainly used to improve the unstable quality of CDN live streaming in a weak network environment, but the improvement is limited. It is recommended to use low-latency live streaming to enjoy high-quality and low-latency live streaming services. Currently, QUIC protocol publish streams and play streams using Tencent and Wangsu's two CDN live streaming products are supported.
The publish streams protocol and QUIC version are configured through the "ZegoCDNConfig" parameter in the [enablePublishDirectToCDN] interface. If you want to perform a custom CDN play streams of the QUIC protocol, you need to configure the play streams protocol and QUIC version through the "ZegoPlayerConfig" parameter in [startPlayingStream].
For related APIs, please refer to enablePublishDirectToCDN
After the publish streams is initiated, you can monitor the publish streams status in real time through the [onPublisherStreamEvent] callback, which will return the current publish streams address, resource type, and protocol-related information.
After initiating the play streams, you can monitor the play streams status in real time through the [onPlayerStreamEvent] callback, which will return the current play streams address, resource type, and protocol-related information.
For related APIs, please refer to onPublisherStreamEvent, onPlayerStreamEvent
Call startMixerTask to start or update the Stream Mixing task. It supports setting the Stream Mixing Watermark and Stream Mixing input Volume through "backgroundUrl" and "inputVolume" respectively.
For related APIs, please refer to startMixerTask
When the connection state of the room changes, the [onRoomStateChanged] callback will be triggered, and the "ZegoRoomStateChangedReason" parameter will provide more detailed connection state and the reason for the state change.
For related APIs, please refer to onRoomStateChanged
Enhancements
Call the startMixerTask interface, use the "border" property in "ZegoFontStyle" to set whether the font has a border, and use the "borderColor" property to set the font border color.
For related APIs, please refer to startMixerTask
Added an Error Codes of 1005000, indicating that the Stream Mixing streaming service has not been activated. When this Error Codes occurs, please activate the mixed- Stream Mixing service in the ZEGO Admin Console (please refer to " Stream Mixing-flow" in Project Management- Service Configuration for the activation steps), or contact ZEGO technical support is open.
For related APIs, please refer to startMixerTask
Bug Fixes
Release date: 2022-04-15
Bug Fixes
Release date: 2022-03-18
New Features
Added [setMinVideoFpsForTrafficControl] and [setMinVideoResolutionForTrafficControl] interfaces, which can be used to set the minimum FPS and resolution by calling the interface when the user's network is poor and the Flow Control is turned on, helping the user to comprehensively Controller the Video display effect.
For related APIs, please refer to setMinVideoFpsForTrafficControl, setMinVideoResolutionForTrafficControl
The default detection period for steady-state voice is 3 seconds. If users need to modify the default detection period, they can customize the detection period parameters through the [startAudioVADStableStateMonitor] interface.
For related APIs, please refer to startAudioVADStableStateMonitor
Added enumeration [ZegoRangeAudioModeSecretTeam] secret team mode. In this mode, users and listeners in the same room can not only communicate with people in the same team, but also hear the voices of all voices within the Audio reception range that are voices in the world mode, such as the space werewolf killing game scene.
For related APIs, please refer to setRangeAudioMode
Note: This function is only used in the development stage, please do not enable this function in the online version.
Added the [enableDebugAssistant] interface. The developer calls this interface to enable the debugging assistant function. The SDK will print the log to the ZEGO Admin Console. When an exception occurs in the calls of other SDK interfaces, the UI will pop up an error message.
For related APIs, please refer to enableDebugAssistant
Enhancements
For versions 2.17.1 and above, pass the AppSign blank or not when creating the engine, and you must pass in the Token when logging in to the room. After the authentication is passed, you can use the voice and video call functions.
For versions below 2.17.1, pass in AppSign when creating the engine, and the voice and video call function can be used after the authentication is passed.
For related APIs, please refer to createEngineWithProfile, loginRoom
Bug Fixes
Release date: 2022-02-17
New Features
The [muteUser] interface has been added to the In-game Voice Chat module. Local users can set whether to receive Audio data from the specified remote user through the [muteUser] interface after initializing the In-game Voice Chat [createRangeAudio] according to their needs.
This feature is often used in game scenarios, such as the speaker is blocked by a wall, the listener does not need to receive the sound.
For related APIs, please refer to muteUser
[onPlayerQualityUpdate] Added a "mos" parameter to the callback, which indicates the rating of the play streams quality. When developers are more concerned about Audio quality, they can use this parameter to know the current Audio quality.
For related APIs, please refer to onPlayerQualityUpdate
NOTE: To use this feature, please contact ZEGO Technical Support.
In order to allow the publish streams end to publish streams higher-quality Video streams in a weak network environment, the SDK supports streaming based on the rtmp over quic protocol.
This function is often used in single-host live Direct publishing to CDN and live PK scenarios.
To use this feature, please contact ZEGO Technical Support.
Version 2.15.0 and earlier: When the SDK uses [startPlayingStream] to pull H.265 encoded streams, if the decoding frame rate is insufficient due to poor hardware performance on the play streams end, the SDK cannot actively downgrade, and the user needs to stop playing H.265 first. .265 encoded stream, and then pull the H.264 encoded stream.
Version 2.16.0 and above: Added H.265 play streams automatic downgrade policy. When using [startPlayingStream] to pull H.265 encoded streams, the SDK can decode the play streams end due to poor hardware performance according to the play streams quality. When the frame rate is insufficient, it will automatically downgrade and pull the H.264 encoded stream.
For related APIs, please refer to startPlayingStream
Enhancements
Starting from this version, the API level required by the Android SDK is not lower than 19, and the minimum supported operating system version is changed from Android 4.1 to Android 4.4. If you want to support Android 4.1, please contact ZEGO technical support.
ZEGO provides a new basic Beautify function, showing users a good skin condition and creating a natural Beautify effect. Developers need to call the [startEffectsEnv] interface to initialize the Beautify environment before publish streams , and then call the [enableEffectsBeauty] interface to enable the Beautify function. Through the [setEffectsBeautyParam] interface, you can adjust the degree of Whiten, Polish, Sharpen and ruddy as needed to achieve basic Beautify capabilities.
This function is often used in scenarios such as Video Calling and live broadcasts.
For related APIs, please refer to startEffectsEnv, stopEffectsEnv, enableEffectsBeauty, setEffectsBeautyParam
When calling the [getNetworkTimeInfo] interface to obtain synchronized network time information, the SDK will regularly update the NTP time to reduce the error of the obtained NTP time.
For related APIs, please refer to getNetworkTimeInfo
Deleted
The old Beautify function is relatively simple and does not meet the developer's expectations. Therefore, the [enableBeautify] interface is deprecated in version 2.16.0 and above, please use the [enableEffectsBeauty] interface instead; the [setBeautifyOption] interface is deprecated, please use [setEffectsBeautyParam] ] replace.
For related APIs, please refer to enableBeautify, enableEffectsBeauty, setBeautifyOption, setEffectsBeautyParam
Bug Fixes
Release date: 2021-12-15
New Features
The Media Player added a sound wave spectrum callback and switch interface, which can Controller whether to enable the callback and the frequency of the callback, so as to obtain the current sound wave and spectrum of the Media Player. When playing resources through the Media Player, such as watching movies together, games and Voice Chatroom scenes, this function can be used to perform spectrum animation functions to increase the fun.
After creating a Media Player, call the [enableSoundLevelMonitor] interface to Start SoundLevel Monitor. After enabling, you can use the [onMediaPlayerSoundLevelUpdate] callback to monitor sound changes.
After creating a Media Player, call the [enableFrequencySpectrumMonitor] interface to enable spectrum monitoring. After enabling, you can use [onMediaPlayerSoundLevelUpdate] callback to monitor spectrum changes.
For related APIs, please refer to enableSoundLevelMonitor, onMediaPlayerSoundLevelUpdate, enableFrequencySpectrumMonitor, onMediaPlayerFrequencySpectrumUpdate
Added support for omnidirectional Virtual Stereo, which simulates stereoscopic sound through algorithm processing of monophonic sound. This function is often used in KTV scenes to make the singing sound more three-dimensional.
When the [enableVirtualStereo] interface is called and the angle parameter is set to -1, it means that the stereo effect is omnidirectional stereo.
For related APIs, please refer to enableVirtualStereo
Through the [onLocalDeviceExceptionOccurred] callback, you can set the device type to be detected, such as Camera, speaker, Microphone, etc., and the developer can handle the error callback according to different device types.
For related APIs, please refer to onLocalDeviceExceptionOccurred
Enhancements
Stream Mixing output Video configuration [ZegoMixerOutputVideoConfig] Added encodeProfile and encodeLatency parameters, which are used to set the Stream Mixing output Video encoding specification and Stream Mixing output Video encoding delay respectively.
For related APIs, please refer to ZegoMixerOutputVideoConfig
Logging into the room causes the network test to stop. Since the network test will consume bandwidth, please do it before logging in to the room.
If the user is in the server blacklist when logging in to the room, this Error Codes will be returned, indicating that the room is prohibited from logging in.
When using the SDK to pull Low-Latency Live streaming, this Error Codes will be returned if you have not activated the Low-Latency Live service.
Bug Fixes
Deleted
In order to let developers intuitively understand the type of abnormal device and the specific abnormal situation, the [onDeviceError] callback is deprecated in version 2.15.0 and above, please use the [onLocalDeviceExceptionOccurred] callback instead.
For related APIs, please refer to onDeviceError, onLocalDeviceExceptionOccurred
Release date: 2021-11-30
New Features
When developers need to distribute commands such as remote Controller and cloud games, they can obtain publisher messages with low latency through real-time signaling.
For related APIs, please refer to createRealTimeSequentialDataManager
Added an alarm callback for insufficient H.265 decoding performance. In the scenario of play streams through CDN, it is used to prompt the user whether to downgrade. If the developer receives the low frame rate callback [onPlayerLowFpsWarning] during the process of pulling the H.265 stream, it is recommended that the developer stop pulling the H.265 stream and switch to the H.264 stream.
Added H.265 codec error prompts in the publish streams state callback [onPublisherStateUpdate] and the play streams state callback [onPlayerStateUpdate].
For related APIs, please refer to onPlayerLowFpsWarning, onPublisherStateUpdate, onPlayerStateUpdate
The [loadResourceWithPosition] interface is added to the Media Player, which supports specifying the start playback progress when loading media resources, in milliseconds.
For related APIs, please refer to loadResourceWithPosition
The SDK supports setting the Camera focus and exposure mode, which is often used in Jianbao live broadcast scenes to zoom in and focus on the details of some objects.
After starting the local Preview, you can call the [isCameraFocusSupported] interface to enable the Camera focus function. Through the [setCameraFocusPointInPreview] and [setCameraExposurePointInPreview] interfaces, you can set the focus point and exposure point in the Preview view respectively (each time the Camera restarts the acquisition, the settings of both will fail and need to be reset). Call the [setCameraFocusMode] and [setCameraExposureMode] interfaces to set the Camera focus mode and exposure mode respectively.
For related APIs, please refer to isCameraFocusSupported, setCameraFocusPointInPreview, setCameraFocusMode, setCameraExposureMode, setCameraExposurePointInPreview
This function is often used in KTV and other scenarios that require Stream Mixing stream alignment. When the play streams end is playing, use the [setPlayStreamsAlignmentProperty] interface to Controller whether the played real-time audio and Video streams need to be accurately aligned. If necessary, all the pulled streams that contain precise alignment parameters will be aligned; if not, all streams will be unaligned.
For related APIs, please refer to setPlayStreamsAlignmentProperty
This function can be used to determine whether someone is speaking into the Microphone within a certain period of time, which is used to detect whether the Audio data collected or pre-processed is human Audio or noise.
For related APIs, please refer to startAudioVADStableStateMonitor, stopAudioVADStableStateMonitor, onAudioVADStateUpdate
Enhancements
For related APIs, please refer to ZegoEngineConfig, ZegoEngineProfile, ZegoPublisherConfig, ZegoCanvas, ZegoVideoConfig, ZegoPlayerConfig, ZegoMixerInput
The videoConfig of [ZegoMixerOutput] has been changed to an optional parameter, which can be omitted when videoConfig is not required to be configured separately.
For related APIs, please refer to ZegoMixerOutput
Release Date: 2021-11-17
New Features
Support basic push-pull streaming, Multiple Rooms, Room Message, audio and Video live broadcast, 3A processing, CDN direct push retweet, Stream Mixing streaming, Media Player, Audio Effect Player, In-game Voice Chat, Flow Control, user Controller permissions and other functions. For details, please Refer to Overview.
It does not currently support defined Video capture, Custom Video Rendering, Custom Video Pre-processing, and Audio Mixing functions.
For related API, please refer to Client API
Enhancements
In order to reduce the cost of developers' understanding of the environment, ZEGO has unified the concept of the environment. Starting from this version, the test environment has been abandoned and the formal environment has been used uniformly. Developers who have connected to the SDK before version 2.13.0 can refer to the Testing environment deprecation for SDK upgrades and code adjustments.
For related API, please refer to createEngineWithProfile
Abandon Deleted
In order to reduce the developer's understanding of the environment, the test environment was abandoned and the environment was used uniformly. The original [createEngine] interface has been abandoned in 2.13.0 and above, please use [createEngineWithProfile] interface instead.
For related API, please refer to createEngine
