New Requirement in v1.3.0

  • Starting with VideoSDK-Web v1.3.0, the role_type in the JWT token is required. See SDK Authorization for details.

Added

  • Virtual background support, and APIs: isSupportVirtualBackgroundpreviewVirtualBackground, updateVirtualBackgroundImage, stopPreviewVirtualBackground, and virtualBackground option in startVideo method. See the API reference for details.

  • Audio and video statistic information.

    • Subscribe to audio and video data via subscribeAudioStatisticData and subscribeVideoStatisticData.

    • Data will be sent every second via the audio-statistic-data-change and video-statistic-data-change events.

  • Support for sharing audio only while screen sharing a Chrome tab.

  • Support for sharing “Content from 2nd Camera”, for example, a document camera, or the integrated camera on your laptop.

    • New ScreenShareOption option for the startShareScreen method.

    • New secondary camera-related method: switchSharingSecondaryCamera.

    • See Sharing your screen or desktop on Zoom for more details on functionality.

    • See the API reference for usage details.

Enhanced

  • Data center selection for reduced latency and improved in-meeting performance. Improvements include geo-fencing and greater prioritization of geographically-close servers.

  • QoS for in-meeting video streams, such as participant videos.

Fixed

  • Occasional conflicts when starting 720p videos with virtual background.

  • Issue where the start audio with the speakerOnly option on iOS mobile browser could lead to users not hearing audio.

  • Video rendering issue on Android mobile browsers.

Share Chrome Tab Audio

There are technical limitations when sharing both computer and microphone audio from a Chrome tab at the same time. When microphone audio sharing is enabled, the SDK temporarily does not share the computer audio. Listen to the share-audio-change event to be informed of this change. Here’s an the example of how to use this event:

client.on('share-audio-change',payload=>{
  const {state} = payload;
  if(state==='on'){
    console.log('Computer audio was muted due to the share audio')
  }else if(state==='off'){
    console.log('Computer audio was recovered')
  }
})