Skip to content

Agora.io SDK version 2.3: AV Fallback, background images, and more in this release!

By Author: Team Agora In Developer, Product Topics: , , , ,

A/V fallback for a live broadcast during unreliable network conditions

The audio and video quality of a live broadcast may deteriorate under unreliable network conditions. To improve the efficiency of a live broadcast, this release of the SDK we’ve added the following two interfaces: setLocalPublishFallbackOption and setRemoteSubscribeFallbackOption. These interfaces allow the SDK to automatically disable the video stream when the network condition cannot support both audio and video, and enable the video once the network conditions improve.

The callback methods, onLocalPublishFallbackToAudioOnly and onRemoteSubscribeFallbackToAudioOnly, are triggered when the stream falls back to audio-only mode as well as when the stream switches back to video-enabled mode.

Why this will improve your experience:

Instead of trying to transport both video and audio data packets when network conditions deteriorate, the Agora Platform will automatically disable the video stream to ensure the audio streams are optimized and sent through with a higher transport success rate. This will ensure the participants in the session will get the jist of the conversation even with severe packet loss rather than having both choppy audio and video.

Adds background images for live broadcast sessions

The backgroundImage parameter is added to the setLiveTranscoding method allowing you to set the background image in the video stream of a live broadcast. The parameter accepts the AgoraImage type for the background image and adds it to the CDN publishing stream.

Why this will improve your experience:

Now you can have a background image overlay the host’s video session to make the stream look professionally produced no matter where the host is!

Sets the video encoder configurations

To support scenarios with video rotation and enable better quality for custom video sources, this release adds the setVideoEncoderConfiguration method to set the video encoding configurations. The setVideoProfile is still useable but will be deprecated within the next few releases. Agora recommends using setVideoEncoderConfiguration to set the video profile for the following reasons:

  • During a live broadcast, users can set the video orientation mode as adaptive which allows the SDK to render rotated video frames without cropping them.
  • With an external video source, the SDK adjusts the width and height of the output video frames based on the inputting video frames to avoid extra cropping.

The VideoEncoderConfiguration class provides a set of configurable video parameters, including the dimension, frame rate, bitrate, and orientation. You can find more information on the different values for the video parameters here: Set the Video Encoder Configuration.

Why this will improve your experience:

This new configuration method allows for a better UX by avoiding unnecessary cropping and adding an extra zoom on image frame resulting in reduced blurriness and a larger portion of image frames to be rendered.

Improvements

  • Improved the quality for 1-to-1 voice and video scenarios with optimized latency and smoothness, especially for areas like Southeast Asia, South America, Africa, and the Middle East.
  • Improved the audio encoder efficiency in a live broadcast to reduce user traffic while ensuring the call quality.
  • Improved the audio quality during a call or a live broadcast using a ndeep-learning algorithm.

This is just a small taste of the additions and improvements in this version.

To see more great features for v2.3, check out the OS-specific release notes:

Have questions or suggestions? Join our Developer channel on Slack or ask a question on Stack Overflow.