PCDN SDK OTT版手册
本文为您介绍OTT SDK使用说明和操作步骤。
概述
PCDN SDK支持点播和直播的P2P加速服务,采用独立进程的方式运行,不影响App主进程的使用,请根据自身需求配置使用点播和直播服务。
系统版本要求
Android2.3及以上(API>=9)。
SDK集成步骤
步骤1:引用开发包
在工程中,创建libs文件夹,将所需的AAR开发包拷贝到文件中。

在工程的build.gradle中,添加对aar开发的引用。
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name: 'pcdn-ott-1.0.5', ext: 'aar')
}
步骤2:配置AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
步骤3 SDK使用示例
推荐在首页MainActivity中启动PCDN服务,一般不需要在播放之前使用PCDNAddress()接口去转换播放地址开始播放。PCDNManager负责启动服务,停止服务,地址转换,获取版本。
启动PCDN服务
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//启动PCDN服务
PCDNManager.start(this, PCDNType.VOD, "申请的token", null, null, null);
}
}
PCDN服务地址转换
//使用加速功能,必须通过SDK把地址转换成加速地址
private void onPlay(){
String url ="视频文件URL";
//把视频文件地址转换成加速器地址 http://127.0.0.1:8090/xxxxx
url = PCDNManager.pcdnAddress(PcdnType.VOD,url);
mediaPlayer.play(url);
}
接口使用说明
启动PCDN服务
启动PCDN服务是一个异步过程(耗时大概在50~200ms),所以建议在App启动之后立即启动,以保证在需要使用的时候PCDN服务已经做好加速准备。
方法
PCDNManager.start(Context context,String type,String token,String cacheDir,String pid,String ext)
参数说明
参数 | 类型 | 是否必须 | 说明 |
context | Context | 是 | 建议使用Application级别的。 |
type | String | 是 | 需要启动的PCDN服务类。取值:
|
token | String | 是 | |
cacheDir | String | 否 | 可为null,指定缓存目录的绝对路径,一般无需指定,默认采用Android/data/包名 /cache/目录,支持系统卸载自动清除。 |
pid | String | 否 | App渠道编号,使用渠道编号,可通过云端对不同渠道的App进行统计和控制,若不区分渠道可使用null。 |
ext | String | 否 | 可为null,预留扩展参数。 |
返回值
无
使用示例
PCDNManager.start(this,PCDNType.VOD,"your token", null,null,null);
停止PCDN服务
不建议调用此函数,PCDN服务没有任务的时候不会工作,在后台保持等待。
方法
PCDNManager.stop(String type)
参数说明
参数 | 类型 | 是否必须 | 说明 |
type | String | 是 | 需要停止的PCDN服务类。取值:
|
返回值
无。
使用示例
PCDNManager.stop(PCDNType.VOD);
地址转换
将普通视频文件URL转换为加速之后的URL,播放器采用加速之后的URL进行播放,若调用该接口时还没准备好,则会返回传入的视频文件URL,以保证不影响原播放体验。
方法A
PCDNManager.pcdnAddress(String type,String url)
参数说明
参数 | 类型 | 是否必须 | 说明 |
type | String | 是 | PCDN服务类。取值:
|
url | String | 是 | 需要加速的视频文件URL http://www.aliyun.com/a.mp4 --> http://127.0.0.1:8090/a.mp4。 |
返回值
String 若PCDN服务正常工作则返回加速之后的视频文件URL,若还在启动中或不可用等其他情况则返回原视频文件URL。
使用示例
String url = PCDNManager.pcdnAddress(PCDNType.VOD,"your url")
方法B
String PCDNManager.pcdnAddress(String type ,String url,int rank,String ext)
参数说明
参数 | 类型 | 是否必须 | 说明 |
type | String | 是 | PCDN服务类。取值:
|
url | String | 是 | 需要加速的视频文件URL http://www.aliyun.com/a.mp4 --> http://127.0.0.1:8090/a.mp4。 |
rank | int | 是 | 下载速度,默认不限速,默认值为0,限速单位KB/s。 |
ext | String | 是 | 预留扩展,扩展格式为"k1=v1&k2=v2",不需要扩展传""。 |
返回值
String 若PCDN服务正常工作则返回加速之后的视频文件URL,若还在启动中或不可用等其他情况则返回原视频文件URL。
使用示例
String url = PCDNManager.pcdnAddress(PCDNType.VOD,"your url","your rank","")
方法A默认不限速。
获取信息
方法
PCDNManager.get(String type,String key,String defaultValue)
参数说明
参数 | 类型 | 是否必须 | 说明 |
type | String | 是 | PCDN服务类。取值:
|
type | String | 是 | version获取PCDN 内核版本号。取值:
|
defaultValue | String | 是 | 没有获取到返回值,返回的默认值。 |
返回值
String 获取到的信息。
使用示例
String pcdnVersion = PCDNManager.get(PCDNType.VOD,"total-download-from-p2p","default");
设置信息
方法
PCDNManager.set(String type,String keyValue)
参数说明
参数 | 类型 | 是否必须 | 说明 |
type | String | 是 | PCDN服务类。取值:
|
keyValue | String | 是 | 设置格式:"k1=v1&k2=v1",暂时只支持is,ss服务的域名的设置,其key值为pcdn-domain。 |
返回值
int 设置成功与否返回值,成功返回0。
使用示例
String pcdnVersion = PCDNManager.set(PCDNType.VOD,String "pcdn-domain");