Skip to main content

Migration from SDK 3.x

The On-Premise Recording SDK 4.x is the latest version that enables audio and video recording during real-time interactions. For a complete list of features and applicable use cases, refer to the Product Overview.

This guide highlights the major changes introduced in version 4.x compared to version 3.x.

Key improvements in 4.x

The On-Premise Recording SDK 4.x is built on top of the latest Agora RTC SDK 4.x. It provides significant improvements in compatibility, performance, and codec support.

New capabilities

  • Supports the latest Agora cloud agent
  • Improved resilience in weak network conditions and adaptive feedback
  • Compatibility with Video SDK 4.x and later
  • Support for H.265 and other peer codecs
  • Easier upgrades due to shared RTC engine between the RTC SDK and the recording SDK

Functionality changes

Version 4.x focuses on recording audio and video streams in the RTC channel and generating MP4 files.

Deprecated features

The following features are not available in SDK 4.x. If needed, use the Agora RTC Server SDK:

  • Access to raw audio and video (For example, YUV or PCM data)
  • Local screenshot capture
  • Built-in cloud container deployment
info

Version 4.x is designed for self-hosted deployment. It is not a cloud or aPaaS service.

Changes in service behavior

The following runtime behaviors from version 3.x have been removed in version 4.x:

  • Multi-process service management
  • Automatic crash recovery

You must implement service management and failover handling in your own infrastructure.

API comparison

The following table compares key APIs between version 4.x and 3.x:

Callback comparison

The following table compares key callbacks between version 4.x and 3.x:

Event4.x APIOlder versions
Local user joins the channelonConnectedonJoinChannelSuccess
Local user leaves the channelonDisconnectedonLeaveChannel
Local user rejoins after reconnectingonReconnectedonRejoinChannelSuccess
Remote user leaves the channelonUserLeftonUserOffline
First frame of remote audio is receivedonFirstRemoteAudioDecodedonFirstRemoteAudioFrame
Remote user's audio state changesonUserAudioStateChangedonRemoteAudioStreamStateChanged
Remote user's video state changesonUserVideoStateChangedonRemoteVideoStreamStateChanged

For more information, refer to the API reference.