全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件

PCDN SDK OTT版手册

更新时间:2017-11-30 11:38:42

概述

PCDN SDK支持点播和直播的P2P加速服务,采用独立进程的方式运行,不影响APP主进程的使用,请根据自身需求配置使用点播和直播服务。

系统版本要求

Android2.3及以上(API>=9)


SDK集成步骤

Step 1 引用开发包

在工程中,创建libs文件夹,将所需的aar开发包拷贝到文件中。0d7c9157b82d90ee.png

在工程的bulid.gradle中,添加对aar开发的引用。

  1. repositories {
  2. flatDir {
  3. dirs 'libs'
  4. }
  5. }
  6. dependencies {
  7. compile(name: 'pcdn-ott-1.0.5', ext: 'aar')
  8. }

Step 2 配置AndroidManifest.xml

  1. <uses-permission android:name="android.permission.INTERNET" />
  2. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  3. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Step 3 SDK使用示例

推荐在首页MainActivity中启动PCDN服务,一般不需要Stop在播放之前使用PCDNAddress()接口去转换播放地址开始播放。PCDNManager负责启动服务,停止服务,地址转换,获取版本。

启动PCDN服务

  1. public class MainActivity extends Activity {
  2. @Override
  3. protected void onCreate(Bundle savedInstanceState) {
  4. super.onCreate(savedInstanceState);
  5. setContentView(R.layout.activity_main);
  6. //启动PCDN服务
  7. PCDNManager.start(this, PCDNType.VOD, "申请的token", null, null, null);
  8. }
  9. }

PCDN服务地址转换

  1. //使用加速功能,必须通过SDK把地址转换成加速地址
  2. private void onPlay(){
  3. String url ="视频文件URL";
  4. //把视频文件地址转换成加速器地址 http://127.0.0.1:8090/xxxxx
  5. url = PCDNManager.pcdnAddress(PcdnType.VOD,url);
  6. mediaPlayer.play(url);
  7. }


接口使用说明

启动PCDN服务

启动PCDN服务是一个异步过程(耗时大概在50-200ms),所以建议在APP启动之后立即启动,以保证在需要使用的时候PCDN服务已经做好加速准备。

方法

  1. PCDNManager.start(Context context,String type,String token,String cacheDir,String pid,String ext)

参数说明

参数 类型 是否必须 说明
context Context 建议使用Application级别的
type String 需要启动的PCDN服务类,点播:PCDNType.VOD,下载:PCDNType.DOWN,直播:PCDNType.LIVE
token String 阿里云分配的token
cacheDir String 可为null,指定缓存目录的绝对路径,一般无需指定,默认采用Android/data/包名 /cache/目录,支持系统卸载自动清除。
pid String APP渠道编号,使用渠道编号,可通过云端对不同渠道的APP进行统计和控制,若不区分渠道可使用null
ext String 可为null,预留扩展参数

返回值

使用示例

  1. PCDNManager.start(this,PCDNType.VOD,"your token", null,null,null);

阿里云账号各端token查看方式

停止PCDN服务

不建议调用此函数,PCDN服务没有任务的时候不会工作,在后台保持等待。

方法

  1. PCDNManager.stop(String type)

参数说明

参数 类型 是否必须 说明
type String 需要停止的PCDN服务类,点播:PCDNType.VOD,下载:PCDNType.DOWN,直播:PCDNType.LIVE

返回值

使用示例

  1. PCDNManager.stop(PCDNType.VOD)


地址转换

将普通视频文件URL转换为加速之后的URL,播放器采用加速之后的URL进行播放,若调用该接口时还没准备好,则会返回传入的视频文件URL,以保证不影响原播放体验

方法A

  1. PCDNManager.pcdnAddress(String type,String url)

参数说明

参数 类型 是否必须 说明
type String 点播:PCDNType.VOD,下载:PCDNType.DOWN,直播:PCDNType.LIVE
url String 需要加速的视频文件URL http://www.aliyun.com/a.mp4 —> http://127.0.0.1:8090/a.mp4

返回值
String 若PCDN服务正常工作则返回加速之后的视频文件URL,若还在启动中或不可用等其他情况则返回原视频文件URL

使用示例

  1. String url = PCDNManager.pcdnAddress(PCDNType.VOD,"your url")

方法B

  1. String PCDNManager.pcdnAddress(String type ,String url,int rank,String ext)

参数说明

参数 类型 是否必须 说明
type String 点播:PCDNType.VOD,下载:PCDNType.DOWN,直播:PCDNType.LIVE
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

使用示例

  1. String url = PCDNManager.pcdnAddress(PCDNType.VOD,"your url","your rank","")

注:方法A默认不限速

获取信息

方法

  1. PcdnManager.get(String type,String key,String defaultValue)

参数说明

参数 类型 是否必须 说明
type String 点播:PCDNType.VOD,下载:PCDNType.DOWN,直播:PCDNType.LIVE
key String version 获取PCDN 内核版本号
max-upload-bandwidth 上行最大速率(单位KB/s)
total-download-from-cdn 从CDN网络下载流量,单位MB
total-download-from-p2p 从P2P网络下载流量,单位MB
total-upload-size 本次生命周内上传总流量,单位MB
defaultValue String 没有获取到,返回的默认值

返回值
String 获取到的信息

使用示例

  1. String pcdnVersion = PCDNManager.get(PCDNType.VOD,"total-download-from-p2p","default");

设置信息

方法

  1. PCDNManager.set(String type,String keyValue)

参数说明

参数 类型 是否必须 说明
type String 点播:PCDNType.VOD,下载:PCDNType.DOWN,直播:PCDNType.LIVE
keyValue String 设置格式:”k1=v1&k2=v1”,暂时只支持is,ss服务的域名的设置,其key值为pcdn-domain

返回值
int 设置成功与否返回值,成功返回 0

使用示例

  1. String pcdnVersion = PCDNManager.set(PCDNType.VOD,String "pcdn-domain");
本文导读目录