All Products
Search
Document Center

ApsaraVideo Live:Download and integrate the SDK

Last Updated:Nov 15, 2025

This topic provides download links for the ApsaraVideo Real-time Communication (ARTC) SDK, describes how to integrate the SDK, and provides related information.

SDK download

Developer: Alibaba Cloud Computing Co., Ltd.

Platform

Download

Update date

Package size increment

(Based on v6.8.5. Increments vary between versions.)

Android

2025-11-12

6.0 MB (arm64)

iOS

2025-11-12

6.5 MB (arm64)

Windows

2025-09-02

-

To integrate the Web SDK, see Get started with the Alibaba Cloud ARTC Web SDK.

SDK integration

Android

Preparations

Before you integrate the ARTC SDK, make sure that your development environment meets the following requirements:

  • Android Studio 2020.3.1 or later.

  • A test device that runs Android 5.0 (API Level 21) or later and is connected to the internet.

Step 1: Import the SDK

Automatic integration through Maven (recommended)

  1. Open the settings.gradle file in the root directory of your project. Add the Maven repository for the ARTC SDK to the dependencyResolutionManagement/repositories field.

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        // Add the Maven repository for the ARTC SDK.
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/public' }
    }
}

Note: If you use a version of the Android Gradle Plugin earlier than 7.1.0, you may not find the corresponding field in the settings.gradle file. For more information, see Android Gradle Plugin 7.1. In this case, you can use the following alternative solution.

Alternative solution for Android Gradle Plugin versions earlier than 7.1.0

Open the build.gradle file in the root directory of your project. Add the Maven repository address to allprojects/repositories.

allprojects {
    repositories {
        ...
        // Add the Maven repository for the ARTC SDK.
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/public' }
    }
}
  1. Open the app/build.gradle file. Add the dependency on the ARTC SDK to dependencies. You can obtain the version information in Download the SDK. Replace ${latest_version} with the actual version number. The latest version is 7.8.1.

dependencies {
    // Import the dependency on the ApsaraVideo Real-time Communication SDK.
    // Replace ${latest_version} with the specific version number.
    implementation 'com.aliyun.aio:AliVCSDK_ARTC:${latest_version}'
    // For v7.4.0 and earlier, you must add keep.
    // implementation 'com.aliyun.aio.keep:keep:1.0.1'
}

If you use the Android Gradle Plugin 8.1 or later, Android Studio recommends that you migrate dependency library information to the version catalog. For more information, see Migrate dependencies to version catalogs.

Manual integration by downloading the SDK

  1. In Download the SDK, download the AAR file of the ARTC SDK for the required version. The latest version is 7.8.1. For example, AliVCSDK_ARTC-x.y.z.aar.

  2. Copy the downloaded AAR file to your project directory, such as app/libs. If the folder does not exist, create it.

  3. Open the settings.gradle file in the root directory of your project. Add the folder that contains the AAR file to dependencyResolutionManagement/repositories.

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        // Add the relative directory where the ARTC SDK is located.
        flatDir {
            dir 'app/libs'
        }
    }
}

Note: If you use a version of the Android Gradle Plugin earlier than 7.1.0, you may not find the corresponding field in the settings.gradle file. For more information, see Android Gradle Plugin 7.1. In this case, you can use the following alternative solution.

Open the build.gradle file in the root directory of your project. Add the following field to allprojects/repositories.

allprojects {
    repositories {
        ...
        // Add the relative directory where the ARTC SDK is located.
        flatDir {
            dir 'app/libs'
        }
    }
}
  1. Open the app/build.gradle file. Add the dependency on the AAR file to dependencies.

// Replace x.y.z with the corresponding version number.
implementation(name:'AliVCSDK_ARTC', version: 'x.y.z', ext:'aar')
  1. After the build is complete, the corresponding dependency is generated under External Libraries.

    image

Step 2: Configure supported CPU architectures

In the app/build.gradle file, specify the CPU architectures that your project supports in defaultConfig. The available architectures are armeabi-v7a, arm64-v8a, x86, and x86_64. You can configure them as needed.

android {
    defaultConfig {
        // ...other default configurations
        // Support armeabi-v7a and arm64-v8a architectures.
        ndk {
             abiFilters "armeabi-v7a", "arm64-v8a"
        }
    }
}	

Step 3: Set permissions

Set the permissions that your application requires.

Go to the app/src/main directory, open the AndroidManifest.xml file, and add the required permissions.

<uses-feature android:name="android.hardware.camera" android:required="false" /> 
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- Request legacy Bluetooth permissions on older devices. -->
<uses-permission
  android:name="android.permission.BLUETOOTH"
  android:maxSdkVersion="30" />
<uses-permission
  android:name="android.permission.BLUETOOTH_ADMIN"
  android:maxSdkVersion="30" />

<!-- Needed only if your app communicates with already-paired Bluetooth devices. -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS"
  tools:ignore="ProtectedPermissions" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

Note: For Android 6.0 (API 23) and later, you must dynamically request dangerous permissions. In addition to statically requesting them in the AndroidManifest.xml file, you must also request permissions at runtime.

The following permissions must be requested dynamically:

  • Manifest.permission.CAMERA

  • Manifest.permission.WRITE_EXTERNAL_STORAGE

  • Manifest.permission.RECORD_AUDIO

  • Manifest.permission.READ_EXTERNAL_STORAGE

  • Manifest.permission.READ_PHONE_STATE

If your application targets Android 12 (API level 31) or later, you must also dynamically request the following permission:

  • Manifest.permission.BLUETOOTH_CONNECT

The following table describes some of the required permissions.

Permission name

Permission description

Reason for request

Required

Is it a dynamic permission?

CAMERA

Camera permission.

Access the device camera to capture a video stream.

Yes

Android 6.0 or later

RECORD_AUDIO

Microphone permission.

Access the device microphone to capture an audio stream.

Yes

Android 6.0 or later

INTERNET

Network permission.

Transmit audio and video data over the network (using protocols such as WebRTC).

Yes

No

ACCESS_NETWORK_STATE

Allows the application to get the network state.

Monitor the network connectivity to optimize audio and video transmission quality, for example, for reconnection after a disconnection.

As needed

No

ACCESS_WIFI_STATE

Allows the application to get the Wi-Fi state.

Get the current Wi-Fi connection information to optimize network performance.

As needed

No

MODIFY_AUDIO_SETTINGS

Allows the application to modify audio configurations.

Adjust the system volume, switch audio output devices, and perform other related operations.

As needed

No

BLUETOOTH

Bluetooth permission (basic feature)

Connect to Bluetooth devices, such as Bluetooth headsets.

As needed

No

BLUETOOTH_CONNECT

Bluetooth connection permission

Communicate with paired Bluetooth devices, such as transmitting an audio stream.

As needed

Android 12 or later

READ_PHONE_STATE

Allows the application to access information related to the device's phone state.

Start or stop audio based on the phone state.

As needed

Android 6.0 or later

READ_EXTERNAL_STORAGE

Allows the application to read files from external storage.

Play local music and perform other related operations.

As needed

Android 6.0 or later

WRITE_EXTERNAL_STORAGE

Allows the application to write to external storage.

Save audio and video files, logs, and other related files.

As needed

Android 6.0 or later

Step 4: Prevent code obfuscation (optional)

In the app/proguard-rules.pro file, add rules for the SDK to prevent its interfaces from being obfuscated. This ensures that the interfaces can be called properly.

-keep class com.aliyun.allinone.** {
*;
}

-keep class com.aliyun.rts.network.AliHttpTool {
*;
}

-keep class com.aliyun.common.AlivcBase {
*;
}

-keep class com.huawei.multimedia.alivc.** {
*;
}

-keep class com.alivc.rtc.** {
*;
}

-keep class com.alivc.component.** {
*;
}

-keep class org.webrtc.** {
*;
}

iOS

Preparations

Before you integrate the ARTC SDK, make sure that your development environment meets the following requirements:

  • Xcode 14.0 or later. Use the latest official version.

  • CocoaPods 1.9.3 or later.

  • A physical device that runs iOS 9.0 or later.

Step 1: Import the SDK

Automatic integration through CocoaPods (recommended)

  1. Open Terminal and install CocoaPods on your development device. If you have already installed it, skip this step.

sudo gem install cocoapods
  1. Open Terminal, go to the root directory of your project, and run the following command to create a Podfile.

pod init
  1. Open and edit the generated Podfile to add the dependency on the ARTC SDK. The latest version is 7.8.1.

target 'MyApp' do
  use_frameworks!
  # Replace ${latest version} with the specific version number.
  pod 'AliVCSDK_ARTC', '~> ${latest version}'
end
  1. In the terminal window, run the following command to update the CocoaPods dependency library in your project.

pod install
  1. After the command runs successfully, a project file with the .xcworkspace extension is generated in the project folder. Double-click this file to open the project in Xcode. The workspace automatically loads the CocoaPods dependency.

    image

Manual integration by downloading the SDK

  1. In Download the SDK, obtain the latest ARTC SDK file and decompress it.

  2. Copy the framework file from the decompressed SDK package to your project directory.

  3. Open the project in Xcode, choose File -> Add Files to "xxx" from the menu, and add the SDK library file to the project.

    image

  4. Select the target and set the imported framework to "Embed & Sign".

image

Step 2: Set permissions

  • You must add permissions for the camera and microphone.

In the Info.plist file, add the Privacy - Camera Usage Description and Privacy - Microphone Usage Description permissions.

image.png

  • Enable the audio background capture mode (optional).

As shown in the following figure, select Audio, AirPlay, and Picture in Picture.

image.png

Windows

Preparations

Before you integrate the ARTC SDK, make sure that your development environment meets the following requirements:

  • Visual Studio 2015 or later.

  • Windows 7 or later.

Integrate the SDK

  1. In Download the SDK, obtain the latest ARTC SDK file.

  2. Decompress the ARTC SDK file and copy the files from the directory to your project.

  3. Configure project properties:

    1. In the Solution Explorer window, right-click the project and select Properties.

    2. Add an include directory: Go to Configuration Properties > C/C++ > General. In Additional Include Directories, add the path to the header file.

    3. Add a library directory: In the Properties window, go to Configuration Properties > Linker > General. In Additional Library Directories, add the path to the library file (.lib), for example, .../x64/Release.

    4. Specify the link library file: In the Properties window, go to Configuration Properties > Linker > Input. In Additional Dependencies, add the name of the library file to be linked, which is "AliRTCSdk.lib".

Release history

Version

Platform

Update date

Revisions

v7.8.1

iOS

2025-11-12

  • Optimization:

    • Optimized the user experience.

  • Fix:

    • RTC: Fixed stability issues.

Android

Linux

v7.8.0

iOS

2025-11-05

  • Optimization:

    • RTC: Optimized thread performance.

  • Fix:

    • RTC: Fixed stability issues.

Android

Linux

v7.7.0

iOS

2025-09-30

  • New:

    • RTC: Supports local recording of audio and video to MP4, AAC, and WAV files.

    • RTC: Supports the new API for audio focus on Android API 26 and later. This feature is enabled by default.

  • Optimization:

    • RTC: The audio data listener callback supports a 24 kHz sample rate.

  • Fix:

    • RTC: Fixed stability issues.

Android

v7.6.0

iOS

2025-09-02

  • New:

    • RTC: Added blacklists and whitelists for subscribing to audio/video streams.

    • RTC: Supports screen sharing on Android 14.

  • Optimization:

    • RTC: Supports using the right channel when converting from stereo to mono during resampling.

    • RTC: Prioritizes a 16 kHz sample rate for capture/ingest in AI scenarios.

  • Fix:

    • RTC: Fixed stability issues.

Android

Windows

V7.5.0

iOS

2025-07-31

  • New:

    • Added the feature to display a black frame when the camera is off.

    • Added screen sharing capabilities.

  • Optimization:

    • Optimized engine creation time.

    • Optimized network engine time consumption.

  • Fix:

    • Fixed an issue where pulling a stream on iOS, which was ingested from the web, caused an error.

Android

v7.4.0

iOS

2025-07-01

  • Optimized 3A effects.

  • Fixed stability issues.

Android

v7.3.0

iOS

2025-05-30

  • Optimized RTC for low-bandwidth, rate-limited scenarios.

  • Fixed stability issues.

Android

v7.2.1

Windows

2025-05-12

  • Supports resampling before audio playback.

  • Fixed stability issues.

v7.2.0

iOS

2025-04-28

  • Supports resampling before audio playback.

  • Fixed an issue in the audio microphone mute mode where both Default and All settings muted all audio.

    Note

    If you upgrade from v6.18.0-v7.1.0 to v7.2.0, note the audio mute interface settings.

Android

v7.1.0

iOS

2025-04-01

  • External PCM input supports 3A.

  • Supports H.265 software encoding.

  • Supports H.264 software encoding for high-quality video.

Android

2025-04-01

v7.0.0

iOS

2025-02-28

  • Audio 3A processing supports API configuration.

  • Optimized video decoding performance.

Android

Windows

2025-03-31

  • Major version update.

v6.21.0

iOS

2025-01-22

  • Improved data statistics for AI real-time call scenarios.

Android

v6.20.0

iOS

2024-12-30

  • Improved the accuracy of the audio latency profile, optimized the channel joining speed, and resolved some stability issues.

Android

v6.19.0

iOS

2024-12-20

  • Improved the accuracy of the end-to-end voice latency profile and resolved some device adaptation issues.

Android

v6.18.0

iOS

2024-12-09

  • For AI+RTC scenarios, optimized link latency, accelerated connection speed, and supported an end-to-end voice latency profile.

Android

v6.17.0

iOS

2024-11-04

  • For AI+RTC scenarios, optimized scheduling to reduce latency.

  • Added an interface to set the camera capture frame rate separately.

Android

v6.15.0

iOS

2024-09-24

  • Improved the link's resilience to poor network conditions.

  • Improved video hardware decoding adaptability.

Android

Windows

  • Added window screen sharing.

  • Added H.265 encoding.

v6.11.3

iOS

2024-09-14

For AI+RTC scenarios, provides an AudioProfile for chat rooms to ensure complete playback of welcome messages.

Android

2024-09-14

v6.11.2

iOS

2024-08-16

  • Reduced audio and video latency.

  • Reduced the package size.

Android

v6.8.7

iOS

2024-06-03

  • Optimized the stream ingest retry policy to improve the stream ingest success rate.

Android

v6.8.5

iOS

2024-04-01

  • Supports cross-channel subscription at the channel level.

Android

v6.8.2

iOS

2024-03-04

  • Supports external texture/CVPixelBuffer input on mobile clients.

  • Enhanced network disaster recovery capabilities.

Android

v6.8.1

Windows

2024-03-19

  • Windows SDK released.

v6.4.3

iOS

2023-12-04

  • iOS & Android SDKs released.

Android