Todos os produtos
Search
Central de documentação

ApsaraVideo Live:SDK download and integration

Última atualização: Sep 12, 2026

Baixe e integre o ARTC SDK no Android, iOS, Windows, Mac, Linux e HarmonyOS.

Baixe do SDK

Desenvolvedor: Alibaba Cloud Computing Co., Ltd.

Plataforma

Versão do SDK

Data de lançamento

Tamanho do pacote

Android

v7.11.0

8 de abril de 2026

6,0 MB (arm64)

iOS

v7.11.0

8 de abril de 2026

6,5 MB (arm64)

Linux

v7.10.0

10 de janeiro de 2026

-

Windows

v7.6.0

2 de setembro de 2025

-

HarmonyOS

v7.9.1

12 de janeiro de 2026

7,96 MB

Mac

v7.8.0

1º de dezembro de 2025

-

Para integração Web, consulte o guia Getting started with the ARTC Web SDK.

Integração do SDK

Integre o ARTC SDK em cada plataforma compatível. Mantenha a consistência das versões do SDK entre as plataformas.

Android

Pré-requisitos

Requisitos:

  • Android Studio 2020.3.1 ou superior.

  • Dispositivo de teste com Android 5.0 (nível 21 da API do SDK) ou superior e conexão de rede.

Etapa 1: Importar o SDK

Integração automática via Maven (recomendado)

  1. Abra o arquivo settings.gradle na raiz do projeto. Adicione o repositório Maven do ARTC SDK em dependencyResolutionManagement/repositories:

    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' }
        }
    }
    Nota

    Se a versão do seu Android Gradle Plugin (AGP) for inferior a 7.1.0, o arquivo settings.gradle pode não conter o bloco dependencyResolutionManagement, conforme documentado nas Notas de lançamento do Android Gradle Plugin 7.1. Nesse caso, adote a seguinte abordagem:

    Versão do AGP inferior a 7.1.0

    Abra o arquivo build.gradle no diretório raiz do projeto. Adicione o repositório Maven em 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' }
        }
    }
  2. Abra o arquivo app/build.gradle. Adicione a dependência do ARTC SDK em dependencies. Substitua \${latest_version} pelo número real da versão. A versão mais recente é a 7.11.0.

    dependencies {
        // Add the ARTC SDK dependency.
        // Replace ${latest_version} with the actual version number.
        implementation 'com.aliyun.aio:AliVCSDK_ARTC:${latest_version}'
        // For version 7.4.0 and earlier, also add the keep dependency.
        // implementation 'com.aliyun.aio.keep:keep:1.0.1'
    }

    Para AGP 8.1 ou superior, considere migrar para catálogos de versões. Consulte Migrar dependências para catálogos de versões.

Integração manual por baixe do SDK

  1. Baixe o arquivo AAR do ARTC SDK na seção de baixe do SDK. A versão mais recente é a 7.11.0. Formato do nome do arquivo: AliVCSDK_ARTC-x.y.z.aar.

  2. Copie o arquivo AAR para o diretório do projeto (por exemplo, app/libs). Crie o diretório se necessário.

  3. Abra o arquivo settings.gradle na raiz do projeto. Adicione o diretório do arquivo AAR em dependencyResolutionManagement/repositories:

    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
            // Add the relative path to the ARTC SDK AAR file.
            flatDir {
                dir 'app/libs'
            }
        }
    }

    Para versões do AGP abaixo de 7.1.0, adicione o seguinte trecho em allprojects/repositories no arquivo build.gradle:

    allprojects {
        repositories {
            ...
            // Add the relative path to the ARTC SDK AAR file.
            flatDir {
                dir 'app/libs'
            }
        }
    }
  4. Abra o arquivo app/build.gradle. Adicione a dependência do AAR em dependencies:

    // Replace x.y.z with the actual version number.
    implementation(name:'AliVCSDK_ARTC', version: 'x.y.z', ext:'aar')
  5. Após a compilação, a dependência aparecerá em External Libraries.

    External Libraries
      > < Android API 35, extension level 13 Platform > /Users/wy/Libra...
      > < jbr-21 > /Applications/Android Studio.app/Contents/jbr/Conte...
      > Gradle: :AliVCSDK_ARTC:7.2.0@aar
      > Gradle: androidx.activity:activity:1.8.0@aar

Etapa 2: Configure arquiteturas de CPU

No arquivo app/build.gradle, especifique as arquiteturas de CPU compatíveis no bloco defaultConfig. Arquiteturas disponíveis: armeabi-v7a, arm64-v8a, x86 e x86_64.

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

Etapa 3: Configure permissões

No arquivo AndroidManifest.xml (em app/src/main), adicione as permissões necessárias:

<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" />

Solicitar permissões de Bluetooth dinamicamente

O ARTC SDK agrupa essas permissões em seu próprio arquivo AndroidManifest.xml. A partir do Android 12, a permissão BLUETOOTH_CONNECT exige solicitação em tempo de execução:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

Caso seu aplicativo não necessite de Bluetooth, remova a declaração do arquivo AndroidManifest.xml:

<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove"/>
Cenário 1: Funcionalidade Bluetooth necessária

targetSdk do aplicativo inferior a 31

Quando o targetSdk é menor que 31, a permissão legada BLUETOOTH controla o Bluetooth. Declare o seguinte:

<!-- Declare Bluetooth permission. -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<!-- Override removal of high-version API 31+ permission. -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove" />
Nota

O SDK declara a permissão BLUETOOTH_CONNECT (Android 12, API 31), que requer solicitação em tempo de execução via requestPermissions. Em alguns dispositivos, declarar BLUETOOTH_CONNECT sem a solicitação dinâmica causa uma SecurityException. Soluções possíveis:

  • Remova a declaração da permissão usando tools:node="remove".

  • Solicite a permissão dinamicamente em tempo de execução.

targetSdk do aplicativo 31 ou superior

Para targetSdk 31 ou superior, declare as permissões de Bluetooth legadas e modernas no arquivo AndroidManifest.xml:

<!-- Declare Bluetooth permission with android:maxSdkVersion set to 30 for backward compatibility. -->
<uses-permission android:name="android.permission.BLUETOOTH"/>
<!-- Declare high-version API 31+ Bluetooth permission. -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
<!-- Other Bluetooth permissions. -->

Como BLUETOOTH_CONNECT é uma permissão dinâmica, solicite-a em tempo de execução:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
    String[] permissions = {
        android.Manifest.permission.BLUETOOTH_CONNECT
    };
    ActivityCompat.requestPermissions(activity, permissions, REQUEST_BLUETOOTH);
}
Cenário 2: Funcionalidade Bluetooth não necessária

Remova declarações desnecessárias de Bluetooth para evitar falhas ou prompts de permissão indesejados.

No arquivo AndroidManifest.xml, use tools:node="remove" para remover as permissões:

<!-- Override and remove built-in Bluetooth permission declarations from the ARTC SDK. -->
<uses-permission android:name="android.permission.BLUETOOTH" tools:node="remove" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove" />

Outras permissões dinâmicas

A partir do Android 6.0 (API 23), estas permissões também exigem solicitações em tempo de execução, além das declarações no arquivo AndroidManifest.xml:

  • Manifest.permission.CAMERA

  • Manifest.permission.WRITE_EXTERNAL_STORAGE

  • Manifest.permission.RECORD_AUDIO

  • Manifest.permission.READ_EXTERNAL_STORAGE

  • Manifest.permission.READ_PHONE_STATE

Para Android 12 (API 31) e versões posteriores, solicite também esta permissão em tempo de execução:

  • Manifest.permission.BLUETOOTH_CONNECT

Permissão

Descrição

Motivo

Obrigatória

Dinâmica

CAMERA

Permissão de acesso à câmera

Capturar fluxo de vídeo da câmera do dispositivo

Sim

Android 6.0+

RECORD_AUDIO

Permissão de acesso ao microfone

Capturar fluxo de áudio do microfone do dispositivo

Sim

Android 6.0+

INTERNET

Permissão de acesso à rede

Transmitir dados de áudio/vídeo pela rede (por exemplo, protocolos WebRTC)

Sim

Não

ACCESS_NETWORK_STATE

Acesso ao estado da rede

Monitorar a conectividade para otimizar a qualidade de áudio/vídeo, como reconexão após perda de rede

Opcional

Não

ACCESS_WIFI_STATE

Acesso ao estado do Wi-Fi

Obter informações da conexão Wi-Fi atual para otimizar o desempenho da rede

Opcional

Não

BLUETOOTH

Permissão básica de Bluetooth

Conectar-se a dispositivos Bluetooth (por exemplo, fones de ouvido)

Opcional

Não

BLUETOOTH_CONNECT

Permissão de conexão Bluetooth

Comunicar-se com dispositivos Bluetooth pareados (por exemplo, streaming de áudio)

Opcional

Android 12+

READ_PHONE_STATE

Acesso ao estado do telefone

Iniciar ou parar o áudio com base no estado do telefone (por exemplo, chamada recebida)

Opcional

Android 6.0+

READ_EXTERNAL_STORAGE

Acesso de leitura ao armazenamento externo

Reproduzir músicas locais e outros arquivos

Opcional

Android 6.0+

WRITE_EXTERNAL_STORAGE

Acesso de gravação ao armazenamento externo

Salve arquivos de áudio/vídeo, logs e outros dados

Opcional

Android 6.0+

Etapa 4: Evitar ofuscação de código (opcional)

Adicione as regras abaixo ao arquivo app/proguard-rules.pro para impedir a ofuscação do código do SDK:

-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

Pré-requisitos

Requisitos:

  • Xcode 14.0 ou superior (recomenda-se a versão estável mais recente).

  • CocoaPods 1.9.3 ou superior.

  • Dispositivo físico executando iOS 9.0 ou superior.

Etapa 1: Importar o SDK

Integração automática via CocoaPods (recomendado)

  1. Instale o CocoaPods caso ainda não esteja instalado:

    sudo gem install cocoapods
  2. Acesse a raiz do projeto e crie um Podfile:

    pod init
  3. Abra o arquivo Podfile e adicione a dependência do ARTC SDK. A versão mais recente é a 7.11.0.

    target 'MyApp' do
      use_frameworks!
      # Replace ${latest version} with the actual version number.
      pod 'AliVCSDK_ARTC', '~> ${latest version}'
    end
  4. Instale as dependências:

    pod install
  5. Um arquivo .xcworkspace será gerado. Abra-o para iniciar o projeto no Xcode.

Após abrir o projeto, expanda a pasta Pods no navegador de projetos do Xcode à esquerda. Confirme se ela contém a subpasta AliVCSDK_ARTC, o que indica que a dependência do SDK foi integrada com sucesso.

Integração manual por baixe do SDK

  1. Baixe e extraia a versão mais recente do ARTC SDK na seção de baixe do SDK.

  2. Copie o arquivo de framework do SDK extraído para o diretório do projeto.

  3. Abra o projeto no Xcode. Selecione File > Add Files to "xxx" para adicionar o arquivo de biblioteca do SDK ao projeto.

  4. Selecione o alvo e defina o atributo do framework importado. Na seção Frameworks, Libraries, and Embedded Content, confirme se a coluna Embed para alivcffmpeg.framework e AliVCSDK_ARTC.framework está definida como Do Not Embed.

Etapa 2: Configure permissões

  • Adicione permissões de câmera e microfone ao arquivo Info.plist: Privacy - Camera Usage Description e Privacy - Microphone Usage Description.

  • (Opcional) Ative o áudio em segundo plano. Nas capacidades do projeto, selecione Audio, AirPlay, and Picture in Picture.

Windows

Pré-requisitos

Requisitos:

  • Visual Studio 2015 ou superior.

  • Windows 7 ou superior.

Etapa 1: Integrar o SDK

  1. Baixe a versão mais recente do ARTC SDK na seção de baixe do SDK.

  2. Extraia o SDK e copie todos os arquivos para o diretório do projeto.

  3. Configure as propriedades do projeto:

    1. No Solution Explorer, clique em com o botão direito no projeto e selecione Properties.

    2. Adicione diretórios de inclusão: selecione Configuration Properties > C/C++ > General e adicione o caminho dos arquivos de cabeçalho em Additional Include Directories.

    3. Adicione diretórios de biblioteca: selecione Linker > General e adicione o caminho do arquivo de biblioteca (.lib), por exemplo, .../x64/Release, em Additional Library Directories.

Solução de problemas

Problemas comuns e respectivas soluções:

Problema

Causa

Solução

DLL load failed ou cannot open AliRTCSdk.lib

O caminho do arquivo .lib ou .dll não está configurado corretamente nas propriedades do projeto.

Verifique se o caminho do diretório de biblioteca em Linker > General > Additional Library Directories aponta para a pasta correta contendo o arquivo .lib. Copie o arquivo .dll correspondente para o diretório de saída do aplicativo ou para o PATH do sistema.

Erro de incompatibilidade de arquitetura

A plataforma de compilação do projeto não corresponde à arquitetura binária do SDK.

Garanta que a plataforma de compilação do projeto esteja definida como x64. O ARTC SDK para Windows fornece apenas binários x64. Usar configurações x86 (32 bits) ou ARM causará erros de vinculação.

O aplicativo falha ou não inicia em tempo de execução

As bibliotecas de runtime Visual C++ Redistributable necessárias não estão instaladas na máquina de destino.

Instale o Visual C++ Redistributable mais recente na máquina de implantação.

Mac

Pré-requisitos

Requisitos:

  • Xcode 14.0 ou superior (recomenda-se a versão estável mais recente).

  • macOS 10.13 ou superior.

  • Conexão de rede estável.

Etapa 1: Integrar o SDK

O ARTC SDK para Mac é distribuído como pacotes de bibliotecas dinâmicas .framework (por exemplo, AliRTCSdk.framework). Isso difere das bibliotecas compartilhadas .so usadas no Linux. Baixe o pacote do SDK para Mac e não utilize arquivos .so do pacote Linux.

  1. Baixe e extraia a versão mais recente do ARTC SDK na seção SDK baixe.

  2. Copie os pacotes .framework do pacote do SDK para o diretório do projeto. Ignore o PluginAAC.framework caso não utilize codificação de áudio AAC.

  3. No Xcode, adicione as bibliotecas dinâmicas e defina Embed como Embed & Sign.

Solução de problemas

Problemas comuns e respectivas soluções:

Problema

Causa

Solução

Framework não encontrado ou erro image not found em tempo de execução

O framework foi adicionado ao projeto, mas sua propriedade Embed não está configurada corretamente.

Na aba General do alvo, defina a propriedade Embed do framework ARTC SDK como Embed & Sign. Isso garante que o framework seja empacotado com o aplicativo e devidamente assinado.

Erro de assinatura de código durante a compilação

A identidade de assinatura de código do framework do SDK entra em conflito com a configuração de assinatura do aplicativo.

Nas Build Settings do alvo do framework, defina Code Signing Identity como Sign to Run Locally ou corresponda à identidade de assinatura do aplicativo. Garanta que o ID da equipe seja consistente em todos os alvos.

Incompatibilidade de arquitetura em Apple Silicon

A arquitetura binária do SDK não corresponde ao tipo de processador do Mac.

Para Macs com Intel, garanta que a arquitetura de compilação do projeto esteja definida como x86_64. Para Macs com Apple Silicon (M1/M2), use arm64. Utilize o comando lipo -info para verifique quais arquiteturas o framework do SDK suporta.

Perguntas frequentes

O ARTC SDK introduz permissões adicionais no Android?

O ARTC SDK declara automaticamente estas permissões do Android (a lista exata pode variar conforme a versão; verifique o arquivo AndroidManifest.xml dentro do arquivo .aar):

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

Essas permissões dão suporte ao monitoramento de rede, detecção de Wi-Fi, conectividade Bluetooth e roteamento de áudio.

Como lidar com compatibilidade de permissões ou conflitos com código existente?

O ARTC SDK gerencia a compatibilidade de permissões (por exemplo, BLUETOOTH_CONNECT em tempo de execução no Android 12+), mas problemas podem ocorrer:

  • Anomalias de comportamento em tempo de execução, como falhas na mesclagem de manifestos.

  • Risco de reprovação no Google Play: declarar permissões não utilizadas (por exemplo, Bluetooth) pode violar o princípio do menor privilégio e causar rejeição.

Para resolver esses problemas:

  1. Avalie a necessidade. Remova permissões não utilizadas. Por exemplo, se o targetSdk for 30 ou inferior, remova a declaração BLUETOOTH_CONNECT.

  2. Resolva conflitos de mesclagem de manifesto. Se módulos declararem atributos conflitantes (por exemplo, valores inconsistentes de maxSdkVersion), use o namespace tools no arquivo AndroidManifest.xml para sobrescrever:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools">
    
        <!-- Example: Remove a permission declared by the SDK that the app does not need. -->
        <uses-permission
            android:name="android.permission.BLUETOOTH_CONNECT"
            tools:node="remove" />
    
        <!-- Example: Override a permission attribute. -->
        <uses-permission
            android:name="android.permission.BLUETOOTH"
            android:maxSdkVersion="30"
            tools:replace="android:maxSdkVersion" />
    </manifest>

Quais codecs de áudio o ARTC SDK suporta?

O ARTC SDK utiliza Opus como codec de áudio padrão, herdado do pipeline de processamento de áudio do WebRTC.

Nota

Os fatos a seguir nesta seção foram verificados na documentação source do ARTC SDK:

  • Versão mais recente do SDK: 7.11.0 (lançada em 8 de abril de 2026) para as plataformas Android e iOS.

  • Coordenada Maven: com.aliyun.aio:AliVCSDK_ARTC. Nome do pod no CocoaPods: AliVCSDK_ARTC.

  • Codec de áudio Opus: padronizado sob a RFC 6716 (IETF), utilizado como codec padrão e recomendado para o pipeline de áudio do ARTC SDK.

O Opus é um codec aberto e livre de royalties (RFC 6716) que oferece alta qualidade de áudio a 6–510 kbps com baixa latência. O ARTC SDK usa o Opus para:

  • Codificação e decodificação de áudio em tempo real para chamadas individuais e multiparty.

  • Taxa de bits adaptativa baseada nas condições da rede.

  • Supressão de ruído integrada e controle automático de ganho (AGC).

Histórico de lançamentos

Versão

Plataforma

Data de lançamento

Alterações

v7.11.0

iOS, Android

8 de abril de 2026

Correção: Problemas de estabilidade do RTC resolvidos.

v7.10.0

iOS, Android, Linux

10 de janeiro de 2026

Correção: Problemas de estabilidade do RTC resolvidos.

v7.9.1

iOS, Android, Linux

4 de dezembro de 2025

Otimização: Contagem de threads reduzida para melhorar o desempenho do RTC SDK. Capacidade de pré-carregamento adicionada ao RTC SDK. Correção: Problemas de estabilidade do RTC resolvidos.

v7.8.1

iOS, Android, Linux

12 de novembro de 2025

Otimização: Experiência do usuário aprimorada. Correção: Problemas de estabilidade do RTC resolvidos.

v7.8.0

iOS, Android, Linux, Mac

5 de novembro de 2025 (iOS/Android/Linux), 1º de dezembro de 2025 (Mac)

Otimização: Desempenho das threads do RTC melhorado. Correção: Problemas de estabilidade do RTC resolvidos.

v7.7.0

iOS, Android, Linux

31 de julho de 2025

Novidade: Suporte adicionado para gravação local de áudio/vídeo nos formatos MP4, AAC e WAV. Suporte à API de foco do Android para novas APIs da API 26, ativado por padrão. Otimização: Suporte a taxa de amostragem de 24 K adicionado para callback de monitoramento de dados de áudio. Correção: Problemas de estabilidade do RTC resolvidos.

v7.6.0

iOS, Android, Linux, Windows, HarmonyOS

2 de setembro de 2025

Novidade: Lista de permissões e lista de bloqueios para assinatura de áudio/vídeo adicionadas. Suporte a compartilhamento de tela no Android 14. Otimização: Suporte à configuração do uso do canal direito para conversão de reamostragem mono para estéreo. Amostragem preferencial de 16 K para cenários de IA. Correção: Problemas de estabilidade resolvidos.