全部產品
Search
文件中心

ApsaraVideo Live:整合Android端美顏特效SDK

更新時間:Sep 05, 2024

美顏特效SDK是由阿里視頻雲團隊提供的美顏特效功能,支援畫面美化、人像美顏、摳像製作、貼紙美妝、動作識別、美體、美髮、AR隔空寫字等各種個人化定製服務,適用於ApsaraVideo for Live、視頻會議、短視頻製作等情境。本文為您介紹Android端美顏特效SDK的整合操作,用於實現美顏特效功能。

前提條件

開發前的環境要求如下表所示。

類別

說明

系統版本

支援Android 4.3及以上版本。

Java版本

支援Java 1.7及以上版本。

API LEVEL

支援Android SDK / API level 18及以上版本。

Android Studio版本

支援Android Studio 2.3以上版本,下載Android Studio

整合指引

Maven方式整合(推薦)

  1. 在專案級build.gradle專案檔中添加阿里雲Maven倉庫。

    allprojects {
        repositories {
            google()
            jcenter()
            maven { url "https://maven.aliyun.com/repository/releases" }
        }
    }
  2. 在相應Android端SDK包的應用級build.gradle專案檔下,加入美顏特效SDK依賴項。

    // Queen-sdk版本
    implementation "com.aliyun.maliang.android:queen:6.8.1-official-pro"
    
    // Queen-menu組件版本(非必需)
    implementation "com.aliyun.maliang.android:queen_menu:6.8.1-official-pro-tiny"   // 菜單資源線上下載
    implementation "com.aliyun.maliang.android:queen_menu:6.8.1-official-pro"        // 菜單資源打包在本地,包體會較大
說明

因美顏特效庫可能與RTC等阿里雲SDK存在內部底層庫重複的問題,導致打包可能出現衝突。當出現衝突時,請在您的主工程打包build.gradle檔案中增加如下packagingOptions配置項,以便排除重複庫。若沒有衝突,則不需要增加此處理。

android {    
  ...
  compileSdkVersion ... 
  ...
  packagingOptions {
        pickFirst '**/libMNN.so'       (若存在libMNN.so衝突時,則增加該行處理,否則不需要增加)
        pickFirst '**/libMNN_CL.so'    (若存在libMNN_CL.so衝突時,則增加該行處理,否則不需要增加)
        pickFirst '**/libc++_shared.so'(若存在libc++_shared.so衝突時,則增加該行處理,否則不需要增加)
    }
  ...
}

手動方式整合

  1. 下載並解壓美顏特效SDK

  2. 將解壓SDK獲得的.aar檔案複製到工程的libs目錄中。

  3. 通過gradle添加AAR包依賴。

    dependencies {
     implementation fileTree(include: ['*.aar'], dir: 'libs')
    }
  4. 在dependencies代碼塊中,添加如下依賴

     dependencies {
      implementation files('libs/alivc-livepusher-lib-release.aar')
    }
  5. 最後單擊Sync Now按鈕,編譯工程。

配置應用許可權

請提前在 AndroidManifest.xml 中配置App的許可權,美顏特效SDK一般需要以下許可權:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA" />

Android 6.0以上系統需要做動態許可權請求。程式碼範例如下:

if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
                == PackageManager.PERMISSION_GRANTED) {
    //已經擁有該許可權
    //...
} else {
    //尚未擁有該許可權,去進行申請
    //PERMISSION_REQUEST_CODE 是代表申請該許可權的申請碼,填寫任一數字就可以了
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, PERMISSION_REQUEST_CODE);
}

配置License

請提前擷取License,擷取方式請參見擷取美顏特效SDK License。擷取後參考以下步驟將LicenseKey和LicenseFile(認證檔案)配置到工程中。

說明
  • 當您同時整合ApsaraVideo for Live美顏特效SDK和ApsaraVideo for VOD短視頻SDK時,兩者的LicenseKey和LicenseFile(認證檔案)是相同的,只需配置一次即可(注意認證檔案需使用最新的一份)。

  • 如果您購買的SDK版本發生變更或需要續期(SDK到期),需要更新認證檔案。更新步驟如下:

    1. 重新擷取License,操作請參見擷取美顏特效SDK License發送郵件擷取最新認證檔案。

    2. 擷取最新認證檔案後,執行本文中配置License步驟更新認證檔案。

將認證檔案匯入到工程的assets中,然後在AndroidManifest.xmlapplication節點下添加兩個meta-data。樣本如下:

com.aliyun.alivc_license.licensekey為中繼資料項名字,固定取值。

<application
 android:icon="@drawable/icon"
 android:label="@string/app_name" >
 <meta-data
 android:name="com.aliyun.alivc_license.licensekey" 
 android:value="Your LicenseKey"/> //中繼資料項指定值,請填入您郵件擷取到的LicenseKey
 <meta-data
 android:name="com.aliyun.alivc_license.licensefile"
 android:value="Your LicenseFile Path"/> //中繼資料項指定值,請填入認證檔案在工程中相對assets的路徑,例如alivc_license/AliVideoCert.crt
 ……
</application>

參考資料

專案

連結

Sample樣本工程

Sample樣本工程

樣本工程檔案中,包含完整接入流程代碼,assets目錄下包含Demo所有圖片資源。

快速接入指引

快速接入包

快速接入包用於提升美顏特效SDK的接入效率。樣本工程內包含詳細步驟文字說明,同時提供常見接入問題的調試能力和方法。

常見SDK廠家接入示範,供開發人員參考。