美颜特效SDK是由阿里视频云团队提供的美颜特效功能,支持画面美化、人像美颜、抠像制作、贴纸美妆、动作识别、美体、美发、AR隔空写字等各种个性化定制服务,适用于视频直播、视频会议、短视频制作等场景。本文为您介绍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方式集成(推荐)
在项目级build.gradle项目文件中添加阿里云Maven仓库。
allprojects { repositories { google() jcenter() maven { url "https://maven.aliyun.com/repository/releases" } } }
在相应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冲突时,则增加该行处理,否则不需要增加)
}
...
}
手动方式集成
下载并解压美颜特效SDK。
将解压SDK获得的.aar文件复制到工程的libs目录中。
通过gradle添加AAR包依赖。
dependencies { implementation fileTree(include: ['*.aar'], dir: 'libs') }
在dependencies代码块中,添加如下依赖
dependencies { implementation files('libs/alivc-livepusher-lib-release.aar') }
最后单击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(证书文件)配置到工程中。
当您同时集成视频直播美颜特效SDK和视频点播短视频SDK时,两者的LicenseKey和LicenseFile(证书文件)是相同的,只需配置一次即可(注意证书文件需使用最新的一份)。
如果您购买的SDK版本发生变更或需要续期(SDK到期),需要更新证书文件。更新步骤如下:
重新获取License,操作请参见获取美颜特效SDK License发送邮件获取最新证书文件。
获取最新证书文件后,执行本文中配置License步骤更新证书文件。
将证书文件导入到工程的assets中,然后在AndroidManifest.xml
的application
节点下添加两个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示例工程 | 示例工程文件中,包含完整接入流程代码,assets目录下包含Demo所有图片资源。 |
快速接入指引 | 快速接入包用于提升美颜特效SDK的接入效率。示例工程内包含详细步骤文字说明,同时提供常见接入问题的调试能力和方法。 |
常见SDK厂家接入示范,供开发者参考。 |