logo
On this page

Release Notes

2024-01-30

Version 3.6.0

Release Date: 2023.06.12

Improvements and Optimizations

  1. Optimized code structure to improve usability

Version 3.0.3

Release Date: 2022.12.02

New Features

  1. Support for separating and transmitting the subject in video images

    Note: To use this feature, please contact ZEGOCLOUD Technical Support.

    Added subject segmentation and transmission feature. Through AI algorithms, the subject (in most cases, the subject is a person) in the video image is separated from the background, and data with a transparent channel is returned to the SDK for encoding processing. This achieves the effect of transmitting only the subject in the video rather than the original rectangular video.

    Currently, this capability is only supported through internal capture.

  2. Scenario-based AI noise reduction added noise reduction capability in music scenarios

    Note: To use this feature, please contact ZEGOCLOUD Technical Support.

    The scenario-based AI noise reduction feature, based on the previous noise reduction for all non-human voices, adds support for noise reduction in music scenarios. By recognizing music, it intelligently adjusts the noise reduction effect to restore music sound quality. The SDK performs real-time music detection on microphone input, and in sound card, singing accompaniment, or near-field music scenarios, automatically adjusts the noise reduction level to ensure high-fidelity music sound quality.

  3. Added support for SOCKS5 local proxy

    If 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 normal ZEGO audio and video cloud services. Currently, only the SOCKS5 protocol is supported.

  4. Custom video capture feature supports H.265 streams

    Note:

    • Recommend one GOP every 2s, each I frame must carry SPS and PPS, and be placed at the front. When calling [EnableCustomVideoCapture], the passed parameter type must be [ZegoVideoBufferTypeEncodedData].
    • Does not support input of B frames.
  5. H.264 and H.265 hardware encoding and decoding support using AMD/NVIDIA/Intel series graphics cards

    Note: To enable this feature, you need to contact ZEGOCLOUD Technical Support.

    Supports AMD/NVIDIA discrete graphics cards and Intel core graphics cards. You can modify the default graphics card priority through [SetEngineConfig].

  6. Stream mixing supports setting video borders as rounded corners

    When calling the [StartMixerTask] interface for stream mixing, developers can set [CornerRadius] (video image rounded corner radius) through the [ZegoMixerInput] type parameter to set video borders as rounded corners. The unit of [CornerRadius] is px, and the value must not exceed half of the shorter of the video image's width and height.

  7. Stream playing interface added CDN Plus playing configuration option

    Note: If you want to control the stream playing method from the cloud through more dimensions such as region and users, please contact ZEGOCLOUD Technical Support for related configuration.

    The stream playing interface added the CDN_PLUS stream resource mode (ZegoStreamResourceMode). Developers can enable CDN_PLUS stream playing on a per-stream basis. CDN Plus stream playing is a cost-effective stream playing method that offers higher live streaming quality than CDN stream playing but is priced similarly to CDN.

  8. Support for setting image information for a single input stream in stream mixing

    Note: The image address length must not exceed 1024 bytes, otherwise error code 1005034 will appear; the image format should be JPG and PNG formats, otherwise error code 1005035 will appear; the image must not exceed 1M, otherwise error code 1005036 will appear.

    Supports setting the image address through the [ZegoMixerImageInfo] type parameter of the [StartMixerTask] interface to set the content of a single input stream as an image, used to replace video, that is, when using an image, the video is not displayed. The usage scenario of this feature is that when connecting mic, video users may need to temporarily turn off the camera and display their image, or when video users and audio users connect mic, it is necessary to display the audio user's image.

  9. Support for setting whether to clear the last frame after calling MutePlayStreamVideo

    Note: To use this feature, please contact ZEGOCLOUD Technical Support.

    When developers discover that stream publishing users violate rules, they call the [MutePlayStreamVideo] interface to pause stream playing users from playing the video streams of violating users, requiring violating users to rectify. At the same time, using this feature can avoid the risk of violation caused by the stream playing user's video interface still retaining the last frame.

  10. Support for linear volume growth gain

    Note: To use this feature, please contact ZEGOCLOUD Technical Support.

    Provides a new volume gain method, and developers can choose the appropriate volume gain method according to actual needs.

  11. Support for setting stream-level audio and video automatic review

    Note: To use this feature, please contact ZEGOCLOUD Technical Support to enable backend services.

    When calling the [StartPublishingStream] interface to start stream publishing, developers can set the [ZegoStreamCensorshipMode] parameter to perform stream-level audio and video automatic review, including review types such as pornography and politics, thereby reducing developers' access difficulty and business maintenance costs.

  12. Streams directly published to CDN support playing through L3

    When directly publishing to CDN, without changing the stream publishing method, the SDK pulls streams from the customer's CDN origin server and distributes audio and video content to the audience through L3, controlling origin server resources through [ZegoResourceType]. This feature is commonly used in live streaming scenarios.

  13. Added AI noise reduction feature

    Note: AI noise reduction currently causes significant damage to music collected by the microphone, including the sound of people singing through the microphone. To use this feature, please contact ZEGOCLOUD Technical Support.

    AI noise reduction refers to the SDK performing noise reduction processing on sounds collected by the microphone. In addition to normal processing of steady-state noise, it also processes unsteady-state noise, mainly including non-human noise such as mouse, keyboard, tapping, air conditioning, kitchen dishes, noisy restaurants, environmental wind, coughing, blowing, etc. Set the AI noise reduction mode through the [ZegoANSMode] parameter in the [SetANSMode] interface, and the noise reduction mode can be adjusted in real time.

    This feature is commonly used in scenarios without background music, such as calls and conferences, for example, ordinary sound quality chat rooms, voice conferences, voice gaming, one-on-one video calls.

  14. CDN live streaming supports using QUIC protocol for stream publishing and playing

    QUIC protocol stream publishing and playing is mainly used to improve the unstable quality of CDN live streaming in weak network environments, 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 supports using Tencent and Wangsu CDN live streaming products' QUIC protocol stream publishing and playing.

    Configure the publishing protocol and QUIC version through the [ZegoCDNConfig] parameter in the [EnablePublishDirectToCDN] interface. If you want to perform QUIC protocol custom CDN stream playing, you need to configure the playing protocol and QUIC version through the [ZegoPlayerConfig] parameter in [StartPlayingStream].

  15. Support for listening to address and protocol related information for stream publishing and playing

    After initiating stream publishing, you can listen to the publishing status in real time through the [OnPublisherStreamEvent] callback. This callback returns information about the currently used publishing address, resource type, and protocol.

    After initiating stream playing, you can listen to the playing status in real time through the [OnPlayerStreamEvent] callback. This callback returns information about the currently used playing address, resource type, and protocol.

  16. Added MOS audio quality score in stream playing quality callback [OnPlayerQualityUpdate]

    The [OnPlayerQualityUpdate] callback added the [mos] parameter, indicating a score of the playing stream audio quality. When developers are concerned about audio quality, they can understand the current audio quality situation through this parameter.

  17. Support for publishing streams based on rtmp over quic protocol

    Note: To use this feature, please contact ZEGOCLOUD Technical Support.

    To allow the publishing end to publish higher quality video streams in weak network environments, the SDK supports publishing streams based on the rtmp over quic protocol. This feature is commonly used in single-host direct CDN publishing and live PK scenarios.

  18. H.265 stream playing supports automatic downgrade

    Note: To use this feature, please contact ZEGOCLOUD Technical Support.

    Version 2.15.0 and earlier: When the SDK uses [StartPlayingStream] to play H.265 encoded streams, if the playing end experiences insufficient decoding frame rate due to poor hardware performance, the SDK cannot actively downgrade. The user needs to stop playing H.265 encoded streams first, and then switch to playing H.264 encoded streams.

    Version 2.16.0 and above: Added H.265 stream playing automatic downgrade strategy. When using [StartPlayingStream] to play H.265 encoded streams, the SDK can automatically downgrade to playing H.264 encoded streams based on stream playing quality when the playing end's hardware performance is poor and the decoding frame rate is insufficient.

  19. Local media recording supports utf8 format file paths

    After successful preview or stream publishing, when calling the [StartRecordingCapturedData] interface to record audio and video data locally, it supports saving recorded files to utf8 format file paths (developers are recommended to use this format).

Improvements and Optimizations

  1. Optimization for 1v1 pure RTC call scenarios

    Note: To use this feature, please contact ZEGOCLOUD Technical Support.

    Optimized for 1v1 call scenarios, suitable for use in pure RTC scenarios.

  2. Optimized spatial audio feature

    Optimized spatial audio capabilities, allowing users to distinguish between front and rear sound sources, thereby achieving better immersion.

  3. Optimized audio and video experience in extreme weak network environments

    The SDK optimized internal strategies. In audio and video scenarios, it supports smooth stream playing with a minimum downlink of 50 kbps, ensuring better experience in extreme weak network environments.

  4. Optimized network quality callback to perceive remote user abnormal status

    When the remote user is abnormal, [OnNetworkQuality] callbacks once every 2s with a quality unknown status (ZegoStreamQualityLevelUnknown status). When the user's status lasts for 8s, it is considered that the remote user has abnormally disconnected, and the quality abnormal status (ZegoStreamQualityLevelDie status) is called back.

  5. Optimized network quality callback for more sensitive network quality feedback

    The publishing and playing quality callback will callback the worst quality result once every 3s. When severe jitter or packet loss occurs within the period, it can immediately reflect poor stream quality.

  6. Optimized log reporting strategy

    Optimized log reporting strategy to improve log upload efficiency.

  7. Optimized AGC harmonic detection algorithm

    AGC's newly improved harmonic detection algorithm had crash problems, now reverted to the old version's harmonic detection algorithm.

  8. Optimized error codes related to Token exceptions when forced login authentication is enabled

    Added error codes such as 1002074, 1002075, 1002076, 1002077, 1002078, 1002079, 1002080. After enabling forced login authentication, if the Token is wrong, these error codes will be returned. For details, please refer to the detailed explanations and handling suggestions in common error codes.

  9. Windows supports N-card H.265 hardware encoding and decoding

    Note: To enable this feature, you need to contact ZEGOCLOUD Technical Support.

  10. Real-time chorus vocal accompaniment alignment optimization

    Optimized the alignment ability of vocals and accompaniment in KTV real-time chorus scenarios. Avoids the experience degradation caused by the misalignment of vocals and accompaniment due to device playback latency when the client simultaneously publishes two streams of vocals and accompaniment.

  11. Unified Express Video Call and Voice Call SDK interfaces

    From version v2.20.0 onwards, there are no longer API differences between Video Call and Voice Call, that is, you can switch from Video Call SDK to Voice Call SDK at any time, and vice versa. The only difference between the two SDKs is that for the Voice Call SDK, some video-related APIs (such as video encoding parameter settings, preview and playing ZegoCanvas parameters, etc.) have no effect after setting, but will not report errors. Note that this change may produce very few compatibility issues.

  12. Optimized error code when developer passes in non-existent AppID from 1002099 to 1001004

  13. Optimized echo cancellation to solve audio swallowing in scenarios such as KTV

  14. Added error code 1009013

    Indicates that the message input length exceeds the limit. When this error code appears, please check the input content length or contact ZEGOCLOUD Technical Support to extend the message content length.

  15. Added error code 1017009

    When initializing copyrighted music, authentication failure caused by not setting AppSign or Token will result in this error code. At this time, if using AppSign authentication, please pass in AppSign when initializing the SDK; if using Token authentication, please call the [LoginRoom] interface and pass in Token before calling the [InitCopyrightedMusic] interface for authentication.

  16. To improve security, this version upgraded curl to 7.82.0

  17. Stream mixing text watermark supports setting font borders and colors

    When calling the StartMixerTask interface, you can set whether the font has a border through the [Border] property in [ZegoFontStyle], and set the font border color through the [BorderColor] property.

  18. Improved error codes returned by the start stream mixing interface [StartMixerTask]

    Added error code 1005000, indicating that stream mixing service is not enabled. When this error code appears, please enable stream mixing service in ZEGOCLOUD Console or contact ZEGOCLOUD Technical Support to enable it.

  19. Optimized authentication method

    Version 2.17.0 and above: When creating the engine, pass AppSign as empty or do not pass it, and must pass in Token when logging into the room. After authentication passes, you can use Video Call functions. For details, please refer to Using Token Authentication.

    Versions below 2.17.0: When creating the engine, pass in AppSign. After authentication passes, you can use Video Call functions.

Bug Fixes

  1. Fixed a crash issue that could occur when string type parameter naming length was too long
  2. Fixed other known issues

Deprecated and Removed

  1. Deprecated three old version scenarios of [ZegoScenario]

    Deprecated [General], [Communication], and [Live] scenarios in the [ZegoScenario] scenario enumeration.

  2. Removed old interfaces and replaced them with new interfaces

    Removed [OnDeviceError], [EnableAudioDataCallback], [SetDebugVerbose] interfaces, replaced with [OnLocalDeviceExceptionOccurred], [StartAudioDataObserver] and [StopAudioDataObserver], [EnableDebugAssistant].

Version 2.15.0

Release Date: 2021.12.15

New Features

  1. Added sound effect player feature

    Sound effects refer to short effect sounds played to enhance realism or set the scene atmosphere, for example: playing applause, gift sound effects, prompt sounds during live streaming; in games, playing bullet sounds, collision impact sounds.

    Added [ZegoAudioEffectPlayer] type to support sound effect player feature. The sound effect player supports sound effect playing (can overlap multiple sound effects), playback control (such as pause playback, volume adjustment, set playback progress), preloading sound effects, etc.

  2. Added copyrighted music feature

    Note: To use this feature, please contact ZEGOCLOUD Technical Support.

    Supports obtaining copyrighted songs or accompaniment resources through the copyrighted music feature, and combining with the media player for local playback control. Can be used for online KTV, chat room chorus or using background music scenarios.

  3. Added multi-room feature

    The same user can join multiple rooms at the same time, and simultaneously publish streams, play streams, send real-time messages, and receive message callbacks in multiple rooms (currently supports joining up to 5 rooms at the same time by default). This feature can isolate messages and callbacks from multiple rooms, achieving more flexible mic connection business. ZEGO recommends using it for cross-room mic connection and online education super small class scenarios.

    You need to call the [SetRoomMode] interface to set multi-room mode before initializing the SDK, and then call the [LoginRoom] interface to login to multiple rooms.

  4. Added demo source code

    Added Example demo source code, including simple interface call examples.

Improvements and Optimizations

  1. Removed test environment

    To reduce developers' understanding cost of environments, ZEGO has unified the environment concept. Starting from this version, the formal environment is used uniformly, and the [CreateEngine] interface has been updated to support configuring the "ZegoEngineProfile" parameter. Developers who have already accessed the SDK before version 2.15.0 can refer to Test Environment Deprecation Notice for SDK upgrade and code adjustment.

  2. Multimedia player feature expansion

    Multimedia player [ZegoMediaPlayer] added the following interfaces:

    • LoadCopyrightedMusicResourceWithPosition: Used to load copyrighted music
    • SetAudioTrackIndex: Used to set audio track interface
    • GetAudioTrackCount: Used to get audio track count interface

Bug Fixes

  1. Fixed the issue of garbled characters when interface parameters are Chinese strings

Previous

Download SDK

Next

Common Error Codes

On this page

Back to top