开发者社区> 问答> 正文

什么是PCDN SDK OTT版手册



概述


PCDN SDK支持点播和直播的P2P加速服务,采用独立进程的方式运行,不影响APP主进程的使用,请根据自身需求配置使用点播和直播服务。
[backcolor=transparent]系统版本要求
Android2.3及以上(API>=9)


SDK集成步骤



Step 1 引用开发包


在工程中,创建libs文件夹,将所需的aar开发包拷贝到文件中。
在工程的bulid.gradle中,添加对aar开发的引用。 repositories {
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    compile(name: 'pcdn-ott-1.0.5', ext: 'aar')
}



Step 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" />





Step 3 基于示例使用SDK


推荐在Application.OnCreate()中启动PCDN服务,一般不需要Stop。在播放之前使用pcdnAddress()接口去转换播放地址开始播放。PCDNManager负责启动服务,停止服务,加速地址转换,获取版本。
[backcolor=transparent]启动PCDN服务 public class MyApplication extends android.app.Application {
    @Override
    public void onCreate() {
        super.onCreate();
        PCDNManager.start(this,PcdnType.VOD,
        "申请的token",null,null,null);
    }
}


[backcolor=transparent]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服务已经做好加速准备。
[backcolor=transparent]方法 PCDNManager.start(Context context,String type,String token,String cacheDir,String pid,String ext)

[backcolor=transparent]参数说明

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

[backcolor=transparent]返回值 无
[backcolor=transparent]使用示例 PCDNManager.start(this,PCDNType.VOD,"your token", null,null,null);



停止PCDN服务


不建议调用此函数,PCDN服务没有任务的时候不会工作,在后台保持等待。
[backcolor=transparent]方法 PCDNManager.stop(String type)

[backcolor=transparent]参数说明
参数类型是否必须说明
typeString需要停止的PCDN服务类,点播:PCDNType.VOD,下载:PCDNType.DOWN,直播:PCDNType.LIVE

[backcolor=transparent]返回值 无
[backcolor=transparent]使用示例 PCDNManager.stop(PCDNType.VOD)



地址转换


将普通视频文件URL转换为加速之后的URL,播放器采用加速之后的URL进行播放,若调用该接口时还没准备好,则会返回传入的视频文件URL,以保证不影响原播放体验
[backcolor=transparent]方法A PCDNManager.pcdnAddress(String type,String url)

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

[backcolor=transparent]返回值 String 若PCDN服务正常工作则返回加速之后的视频文件URL,若还在启动中或不可用等其他情况则返回原视频文件URL
[backcolor=transparent]使用示例 String url = PCDNManager.pcdnAddress(PCDNType.VOD,"your url")

[backcolor=transparent]方法 String PCDNManager.pcdnAddress(String type ,String url,int rank,String ext)

[backcolor=transparent]参数说明
参数类型是否必须说明
typeString点播:PCDNType.VOD,下载:PCDNType.DOWN,直播:PCDNType.LIVE
urlString需要加速的视频文件URL http://www.aliyun.com/a.mp4 —> http://127.0.0.1:8090/a.mp4
rankint下载速度,默认不限速,默认值为0,限速单位KB/s
extString预留扩展,扩展格式为”k1=v1&k2=v2”,不需要扩展传””

[backcolor=transparent]返回值
String 若PCDN服务正常工作则返回加速之后的视频文件URL,若还在启动中或不可用等其他情况则返回原视频文件URL
[backcolor=transparent]使用示例 String url = PCDNManager.pcdnAddress(PCDNType.VOD,"your url","your rank","")

[backcolor=transparent]注:方法A默认不限速

获取信息


[backcolor=transparent]方法 PcdnManager.get(String type,String key,String defaultValue)

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

[backcolor=transparent]返回值 String 获取到的信息
[backcolor=transparent]使用示例 String pcdnVersion = PCDNManager.get(PCDNType.VOD,"total-download-from-p2p","default");


设置信息


[backcolor=transparent]方法 PCDNManager.set(String type,String keyValue)

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

[backcolor=transparent]返回值 int 设置成功与否返回值,成功返回 0
[backcolor=transparent]使用示例 String pcdnVersion = PCDNManager.set(PCDNType.VOD,String "pcdn-domain");

展开
收起
云栖大讲堂 2017-10-30 09:50:37 3712 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
从 SDK 到编解码:视频直播架构解析 立即下载
跨平台的云服务SDK需要什么 立即下载
一个跨平台的云服务SDK需要什么 立即下载