阿里云首页 视频点播

集成SDK

本文为您介绍Android短视频SDK的接口文档以及集成操作。

前提条件

开发前的环境要求如下表所示。

前提条件

类别

说明

系统版本

支持Android4.3及以上版本。

Java版本

支持Java1.7及以上版本。

API LEVEL

支持ANDROID SDK API LEVEL 18及以上版本。

Android Studio版本

支持Android Studio 2.3以上版本,下载Android Studio

背景信息

短视频SDK分为专业版、标准版和基础版,各版本之间存在差异。更多信息,请参见短视频SDK产品介绍

Maven方式集成(推荐)

  1. 添加阿里云Maven仓库。

    项目级的build.gradle文件中添加Maven仓库地址。

    allprojects {
        repositories {
            maven {
                url 'http://maven.aliyun.com/nexus/content/repositories/releases/'
           }
        }
    }

  2. 在app工程目录下的build.gradle文件中加入对应依赖项,如下表所示。

    注意

    如果使用短视频SDK 3.24.0及以上版本,请务必使用FFmpeg 4.3.0及以上版本。

    版式

    Maven项目中依赖项

    专业版

    dependencies{
        implementation 'com.aliyun.video.android:svideopro:3.27.+'//短视频专业版SDK必须依赖
        implementation 'com.aliyun.video.android:core:1.2.2' //核心库必须依赖
        implementation  'com.alivc.conan:AlivcConan:1.0.3'//核心库必须依赖
        //AlivcFFmpeg必须依赖,且版本需要在4.3.0及以上,在以下两个版本中选择一个版本进行依赖。
        implementation 'com.aliyun.video.android:AlivcFFmpeg:4.3.1-part' // 短视频专用,包size较小。
        implementation 'com.aliyun.video.android:AlivcFFmpeg:4.3.1' //短视频与播放器共用。两个SDK同时接入时,请用该版本。
        implementation  'com.aliyun.video.android:upload:1.6.0'// 上传库,如不需要上传可不依赖
        implementation 'com.google.code.gson:gson:2.8.0'//第三方依赖库
        implementation 'com.squareup.okhttp3:okhttp:3.2.0'//第三方依赖库
    }

    标准版

    dependencies {
        implementation 'com.aliyun.video.android:svideostandard:3.27.+'//短视频标准版SDK必须依赖
        implementation 'com.aliyun.video.android:core:1.2.2' //核心库必须依赖
        implementation  'com.alivc.conan:AlivcConan:1.0.3'//核心库必须依赖
        //AlivcFFmpeg必须依赖,且版本需要在4.3.0及以上,在以下两个版本中选择一个版本进行依赖。
        implementation 'com.aliyun.video.android:AlivcFFmpeg:4.3.1-part' // 短视频专用,包size较小。
        implementation 'com.aliyun.video.android:AlivcFFmpeg:4.3.1' //短视频与播放器共用。两个SDK同时接入时,请用该版本。
        implementation  'com.aliyun.video.android:upload:1.6.0'// 上传库,如不需要上传可不依赖
        implementation 'com.google.code.gson:gson:2.8.0'//第三方依赖库
        implementation 'com.squareup.okhttp3:okhttp:3.2.0'//第三方依赖库
    }

    基础版

    dependencies {
        implementation 'com.aliyun.video.android:svideosnap:3.27.+'//短视频基础版SDK必须依赖
        implementation 'com.aliyun.video.android:core:1.2.2' //核心库必须依赖
        implementation  'com.alivc.conan:AlivcConan:1.0.3'//核心库必须依赖
        //AlivcFFmpeg必须依赖,且版本需要在4.3.0及以上,在以下两个版本中选择一个版本进行依赖。
        implementation 'com.aliyun.video.android:AlivcFFmpeg:4.3.1-part' // 短视频专用,包size较小。
        implementation 'com.aliyun.video.android:AlivcFFmpeg:4.3.1' //短视频与播放器共用。两个SDK同时接入时,请用该版本。
        implementation  'com.aliyun.video.android:upload:1.6.0'// 上传库,如不需要上传可不依赖
        implementation 'com.google.code.gson:gson:2.8.0'//第三方依赖库
        implementation 'com.squareup.okhttp3:okhttp:3.2.0'//第三方依赖库
    }

说明

目前短视频SDK仅包含armeabi-v7a和arm64-v8a指令集的SDK,如需要armeabi的指令集的so建议直接通过armeabi-v7a的so拷贝至armeabi以此兼容。需要说明的是考虑到Android的发展和短视频SDK仅支持4.3以上,所以ARMv5、ARMv6设备兼容意义不大。

手动方式集成

导入aar

  1. 创建Module。

    Android Studio中选择File > New > Newmodule,新建Library形式的Module。示例名:AliyunSvideoLibrary。

    SDK_1
  2. 将下载的SDK目录中的AliyunSdk-RCE.aar、AlivcConan-x.x.x.aar、AlivcCore.jar拷贝至新建的Module以module的方式添加到工程中。

    SDK_2
  3. 通过gradle添加AAR和jar包依赖。

    dependencies {
     implementation fileTree(include: ['*.jar','*.aar'], dir: 'libs')
    }
  4. 在app module中添加AliyunSvideoLibrary Module的依赖。

     dependencies {
        implementation project(":AliyunSvideoLibrary")
    }

导入.so文件

  1. 将SDK解压包中的jniLibs目录拷贝到app module的main目录中,并且在app module的build.gradle文件中声明jniLibs的路径。

    示例代码如下所示。

    android {
     sourceSets.main {
         jni.srcDirs = []
         jniLibs.srcDir "src/main/jniLibs" 
     }
    }
  2. SDK加载的动态链接库。

    在最新的版本中已经在SDK内部加载,不需要用户手动加载。

    库文件说明如下所示。

    libalivcffmpeg.so-------------SDK依赖的第三方库(必须load)
    libaliresample.so-------------------音频重采样相关的库(不需要可以去掉)
  3. 添加上传依赖项。

    短视频上传需要依赖上传SDK及OSS,如果不需要可不添加。

    implementation 'com.aliyun.video.android:upload:1.6.0'
    implementation 'com.google.code.gson:gson:2.8.0'
    implementation 'com.squareup.okhttp3:okhttp:3.2.0'
    implementation 'com.aliyun.dpa:oss-android-sdk:+'
  4. 初始化相关配置。

    在App的Application类onCreate方法中调用,示例代码如下所示。

    com.aliyun.vod.common.httpfinal.QupaiHttpFinal.getInstance().initOkHttpFinal();

配置权限

<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" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
说明

Android 6.0以上系统需要做动态权限请求。

混淆配置

可以在proguard-rules.pro文件中进行混淆配置。示例代码如下所示。

######################短视频混淆配置#########################
-keep class com.aliyun.**{*;}
-keep class com.duanqu.**{*;}
-keep class com.qu.**{*;}
-keep class com.alibaba.**{*;}
-keep class component.alivc.**{*;}
-keep class com.alivc.**{*;}

接口文档

  • V3.17.0及以上(V3.17.0+)

    中文版接口文档,请参见接口文档

    英文版接口文档,请参见API Reference

    旧接口转换新接口辅助工具,请下载辅助工具

  • V3.17.0以下(V3.17.0-)

    中文版接口文档,请参见接口文档

    英文版接口文档,请参见API Reference