全部产品

PCDN SDK OTT版手册

本文为您介绍OTT SDK使用说明和操作步骤。

概述

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

系统版本要求

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

SDK集成步骤

步骤1 引用开发包

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

aar开发包

在工程的bulid.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服务,一般不需要Stop在播放之前使用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服务类。取值:

  • PCDNType.VOD:点播。

  • PCDNType.DOWN:下载。

  • PCDNType.LIVE:直播。

token

String

阿里云分配的token

cacheDir

String

可为null,指定缓存目录的绝对路径,一般无需指定,默认采用Android/data/包名 /cache/目录,支持系统卸载自动清除。

pid

String

APP渠道编号,使用渠道编号,可通过云端对不同渠道的APP进行统计和控制,若不区分渠道可使用null。

ext

String

可为null,预留扩展参数。

返回值

使用示例

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

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

停止PCDN服务

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

方法

PCDNManager.stop(String type)

参数说明

参数

类型

是否必须

说明

type

String

需要停止的PCDN服务类。取值:

  • PCDNType.VOD:点播。

  • PCDNType.DOWN:下载。

  • PCDNType.LIVE:直播。

返回值

无。

使用示例

PCDNManager.stop(PCDNType.VOD);

地址转换

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

方法A

PCDNManager.pcdnAddress(String type,String url)

参数说明

参数

类型

是否必须

说明

type

String

PCDN服务类。取值:

  • 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。

使用示例

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

方法B

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

参数说明

参数

类型

是否必须

说明

type

String

PCDN服务类。取值:

  • 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。

使用示例

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

说明

方法A默认不限速

获取信息

方法

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

参数说明

参数

类型

是否必须

说明

type

String

PCDN服务类。取值:

  • PCDNType.VOD:点播。

  • PCDNType.DOWN:下载。

  • PCDNType.LIVE:直播。

type

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 获取到的信息。

使用示例

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

设置信息

方法

PCDNManager.set(String type,String keyValue)

参数说明

参数

类型

是否必须

说明

type

String

PCDN服务类。取值:

  • PCDNType.VOD:点播。

  • PCDNType.DOWN:下载。

  • PCDNType.LIVE:直播。

keyValue

String

设置格式:"k1=v1&k2=v1",暂时只支持is,ss服务的域名的设置,其key值为pcdn-domain。

返回值

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

使用示例

String pcdnVersion = PCDNManager.set(PCDNType.VOD,String "pcdn-domain");