The content of this page has been automatically translated by AI. If you encounter any problems while reading, you can view the corresponding content in Chinese.
Difference Between TRTC V1 (iLiveSDK) and V2 (LiteAVSDK) Versions?
Difference Item
Old Version V1
New Version V2
Kernel Architecture
iLiveSDK
LiteAVSDK
IM SDK
Embedded
Not embedded
API Interface
V1
V2
Streaming on CDN
Use the REST API to enable
Support turning on the client
Cloud-based Circuit
V1 Circuit
V2 Circuit
How to Upgrade TRTC V1 (iLiveSDK) to V2 (LiteAVSDK)?
If your project has never integrated TRTC SDK, it is highly recommended to directly use V2 (LiteAVSDK), which has advantages in call quality, circuit specifications, access difficulty, and feature expansion.
If your project is stable and has no issues, since the cloud routes of V1 and V2 are currently not interconnected, if your project has entered the stable operation stage, you can temporarily not upgrade.
If your project is integrating with Old Version V1, it is recommended that you can directly integrate with Version V2. The API of Version V2 is newly designed, and the integration time is much shorter compared to the old version.
If you are already using Old Version V1 and want to improve call quality, since the cloud routes of V1 and V2 are currently not interconnected, upgrading to the new version SDK requires going through a process of "SDK integration", "rolling out in phases", and "cloud switching". The general steps are as follows:
1. Integrate the new version of the SDK into the existing project and pass the test.
2. Add the SDK version number field to the room list. The App decides whether to use V1 or V2 based on the server field.
3. Publish a new version of the App and wait for the version to gradually cover your user group.
4. Switch the SDK version number field in the room list from V1 to V2 to complete the circuit switching.
How to Achieve Seamless Integration of LiteAVSDK and iLiveSDK On the Android Side?
Both iLiveSDK and LiteAVSDK use TRAE for audio processing such as echo cancellation and noise reduction. The version of TRAE used in LiteAVSDK is newer and includes all the functional interfaces used in iLiveSDK. Therefore, you only need to configure your project to use the TRAE library in LiteAVSDK.
Integrate the project using the aar method. Modify the build.gradle file in your sub-project (app directory) and make the following configuration in the android{} node:
Note:
When adding a reference, LiteAVSDK must be placed before iLiveSDK.
android{
//1. Configure packagingoptions in gradle
packagingOptions {
pickFirst 'lib/armeabi-v7a/libTRAECodec.so'
pickFirst 'lib/armeabi-v7a/libstlport_shared.so'
pickFirst 'lib/armeabi/libTRAECodec.so'
pickFirst 'lib/armeabi/libstlport_shared.so'
}
//2. Import dependencies
implementation(name: 'LiteAVSDK_TRTC_6.4.7108', ext:'aar')// Note that TRTC must be placed before iLiveSDK
How to Achieve Seamless Integration of LiteAVSDK + iLiveSDK + BeautySDK On the iOS Side?
In TRTC V1, BeautySDK was used to implement features such as beauty effect and motion effect. In TRTC V2, the features of BeautySDK have been embedded into LiteAVSDK, making it more convenient for users. If you have already integrated iLiveSDK and introduced BeautySDK into your project, you will encounter a file conflict. The solutions are as follows:
Version
Solution
Basic version of BeautySDK (without photo editing)
You only need to configure the header search paths of BeautySDK in the Xcode project and unlink BeautySDK.
You need to use the full - feature version of LiteAVSDK and configure the header search paths of BeautySDK in the Xcode project and unlink BeautySDK (The full - feature version of LiteAVSDK has a photo editing component. You can directly use the photo editing license you purchased before and do not need to pay again).
How to Achieve Seamless Integration of LiteAVSDK and iLiveSDK On the Windows Client Simultaneously?
LiteAVSDK and iLiveSDK on the Windows client both use TRAE for audio processing such as echo cancellation and noise reduction. However, the TRAE version used by LiteAVSDK is newer and there are differences in feature usage. Therefore, they cannot be directly replaced. You can handle it in the following ways.
Engineering Structure
It is advisable for your project to adopt the following structure:
|
Main program.exe
Other files that Main program.exe depends on
|- iLiveSDK.dll
Other files that iLiveSDK.dll depends on
|- LiteAV
||- liteav.dll
Other files that liteav.dll depends on
Initialization Method
When in use, iLiveSDK can be directly linked with.lib or dynamically loaded with the following code:
HMODULE hiLive =LoadLibrary("iLiveSDK.dll");
When you need to use LiteAVSDK, load and initialize it with the following code:
typedef ITRTCCloud*(*getTRTCShareInstanceMtd)();
typedefvoid(*destroyTRTCShareInstanceMtd)();
TCHAR dllPath[MAX_PATH];
GetModuleFileName(nullptr, dllPath, MAX_PATH);
PathRemoveFileSpec(dllPath);
wcscat(dllPath, L"\\LiteAV\\");
SetDllDirectory(dllPath);
HMODULE hLiteAV =LoadLibrary(L"liteav.dll");
if(!hLiteAV){
printf("Failed to load liteav.dll: %d",GetLastError());