Skip to main content

You are viewing Agora Docs forBetaproducts and features. Switch to Docs

How can I reduce the app size after integrating the Video SDK Native SDK?

This page applies to SDKs earlier than v3.6.2 only. As of v3.6.2, Agora offers additional methods for reducing app size. See Reduce App Size for the latest details.

This article describes how to reduce the app size after integrating the Video SDK Native SDK.

Solution 1: Use the Audio SDK

The Video SDK supports both audio and video functions, so the package size is larger. If you only need to use the audio functions, Agora recommends integrating the Audio SDK.

Solution 2: Remove unnecessary extension libraries

The SDK provides extension libraries that can be optionally integrated into the project. The name of extension libraries is suffixed with Extension.

If you do not need the extension functions, you can directly remove the corresponding extension libraries to reduce the app size.

Deep-learning noise reduction library

The SDK enables traditional noise reduction by default to reduce most of the stationary background noise. Deep-learning noise reduction adds non-stationary background noise reduction based on the traditional noise reduction. After integrating the deep-learning noise reduction library, you can call enableDeepLearningDenoise to enable the deep-learning noise reduction. See v3.3.0 Release Notes.

The following table shows the extension library name for each platform and the increase in the app size after integration.

PlatformArchitectureLibrary nameApp size increase after integration (KB)
Androidarm64-v8alibagora_ai_denoise_extension.so1120
Androidarmeabi-v7alibagora_ai_denoise_extension.so792
iOSarm64AgoraAIDenoiseExtension.xcframework502
iOSarmv7AgoraAIDenoiseExtension.xcframework448
macOSarm64AgoraAIDenoiseExtension.framework496
macOSx86_64AgoraAIDenoiseExtension.framework588
Windowsx86libagora_ai_denoise_extension.dll5312
Windowsx86_64libagora_ai_denoise_extension.dll5424

AV1 library (beta feature)

The AV1 function improves the clarity of texts when users share the screen. To use this function, contact support@agora.io.

The following table shows the extension library name for each platform and the increase in the app size after integration.

PlatformArchitectureLibrary nameApp size increase after integration (KB)
Androidarm64-v8alibagora_dav1d_extension.so696
Androidarmeabi-v7alibagora_dav1d_extension.so608
iOSarm64AgoraDav1dExtension.xcframework959
iOSarmv7AgoraDav1dExtension.xcframework746
macOSx86_64AgoraDav1dExtension.framework1316
Windowsx86libagora_dav1d_extension.dll1252
Windowsx86_64libagora_dav1d_extension.dll1756

JND library (beta feature)

The JND (Just-noticeable difference) function is used for video perceptual coding, which reduces bandwidth consumption while keeping the same image quality. For example, this function can improve video smoothness in bandwidth-constrained scenarios, and reduce network traffic consumption in mobile network scenarios. To use this function, contact support@agora.io.

The following table shows the extension library name for each platform and the increase in the app size after integration.

PlatformArchitectureLibrary nameApp size increase after integration (KB)
Androidarm64-v8alibagora_jnd_extension.so1172
Androidarmeabi-v7alibagora_jnd_extension.so816
iOSarm64AgoraJNDExtension.xcframework78
iOSarmv7AgoraJNDExtension.xcframework69
macOSarm64AgoraJNDExtension.framework720
macOSx86_64AgoraJNDExtension.framework616
Windowsx86libagora_jnd_extension.dll1528
Windowsx86_64libagora_jnd_extension.dll1948

Virtual background library (beta feature)

After integrating the virtual background library, you can call enableVirtualBackground to enable the virtual background. See v3.5.0 Release Notes.

The following table shows the extension library name for each platform and the increase in the app size after integration.

PlatformArchitectureLibrary nameApp size increase after integration (KB)
Androidarm64-v8alibagora_segmentation_extension.so3331
Androidarmeabi-v7alibagora_segmentation_extension.so2232
iOSarm64AgoraVideoSegmentationExtension.xcframework2210
iOSarmv7AgoraVideoSegmentationExtension.xcframework1514
macOSarm64AgoraVideoSegmentationExtension.framework2802
macOSx86_64AgoraVideoSegmentationExtension.framework2449
Windowsx86libagora_segmentation_extension.dll4401
Windowsx86_64libagora_segmentation_extension.dll5193

ROI library (beta feature)

The ROI (Region of Interest) function is applied to the face or virtual background segmentation algorithm for face or portrait recognition. In the encoding process, higher quality encoding is used for the ROI to achieve a clearer face or portrait. To use this function, contact support@agora.io.

The following table shows the extension library name for each platform and the increase in the app size after integration.

PlatformArchitectureLibrary nameApp size increase after integration (KB)
Androidarm64-v8alibagora_fd_extension.so1558
Androidarmeabi-v7alibagora_fd_extension.so977
iOSarmv7AgoraFDExtension.framework2602
iOSarm64AgoraFDExtension.framework3534
macOSx86_64AgoraFDExtension.framework1674
macOSarm64AgoraFDExtension.framework904
Windowsx86_64libagora_fd_extension.dll1993
Windowsx86libagora_fd_extension.dll1605

Super resolution library (beta feature)

After integrating the super resolution library, you can call enableRemoteSuperResolution to enable super resolution. See v3.5.1 Release Notes.

The following table shows the extension library name for each platform and the increase in the app size after integration.

PlatformArchitectureLibrary nameApp size increase after integration (KB)
Androidarm64-v8alibagora_super_resolution_extension.so837
Androidarmeabi-v7alibagora_super_resolution_extension.so550
iOSarm64AgoraSuperResolutionExtension.xcframework342
iOSarmv7AgoraSuperResolutionExtension.xcframework340

Image enhancement library

As of v3.6.0, ensure that you have integrated the image enhancement library before you call setBeautyEffectOptions to enable the image enhancement function. See v3.6.0 Release Notes.

The following table shows the extension library name for each platform and the increase in the app size after integration.

PlatformArchitectureLibrary nameApp size increase after integration (KB)
Androidarm64-v8alibagora_video_process_extension.so1290
Androidarmeabi-v7alibagora_video_process_extension.so962
iOSarm64AgoraVideoProcessExtension.xcframework819
iOSarmv7AgoraVideoProcessExtension.xcframework768
macOSarm64AgoraVideoProcessExtension.framework1785
macOSx86_64AgoraVideoProcessExtension.framework895
Windowsx86libagora_video_process_extension.dll2171
Windowsx86_64libagora_video_process_extension.dll2541
vundefined