全部产品
视频点播

SDK 集成步骤

更新时间:2017-09-20 14:41:56   分享:   

一、获取AccessKeyId,AccessKeySecret和Play Key

如果没有AccessKeyId,AccessKeySecret,Play Key,请参照文档 创建Access Key,创建用户,并记录下对应的 AccessKeyId 和 AccessKeySecret 以及 Play Key(从点播控制台的安全管理中查看播放秘钥,从v3.0.0开始移除AK的播放方式,AK可用于服务端开发)。

二、引入SDK开发包

SDK开发包分为两种:

  • AliyunVodPlayerSDK.framework: 纯播放器开发包,不含有界面。

  • AliyunVodPlayerViewSDK.framework:含有默认皮肤的播放器开发包。

  • AliyunVodPlayerViewResource.bundle:皮肤播放器的图片库,与AliyunVodPlayerViewSDK.framework一起集成。

引入开发包分两步:

1. 开发者打开工程,选中目标target,依次选择”General”->”Embededed Binaries”,点击”+”号,点击“Add Other…”,导入下载好的AliyunVodPlayerSDK.framework到项目中,并勾选copy选项。需要皮肤时同时导入AliyunVodPlayerViewSDK.framework。

playsdk-ios-04

2. 设置Build Phases → Link Binary With Libraries,设置General → Embedded Binaries和 Linked Frameworks and Libraries 如果要使用含皮肤的播放器开发则需要添加AliyunVodPlayerViewResource.bundle

playsdk-ios-05

playsdk-ios-04

3. 设置Build Settings → Build Options → Enable Bitcode。

playsdk-ios-06

三、无皮肤SDK的使用

1. 包含头文件

  1. #import <AliyunVodPlayerSDK/AliyunVodPlayerSDK.h>

2. 新建播放器对象

  1. AliyunVodPlayer *vodPlayer = [[AliyunVodPlayer alloc] init];

3. 添加播放view

  1. // 创建视图背景view
  2. UIView *backgroundView = [[UIView alloc] initWithFrame:CGRectMake(x, y, width, height)];
  3. // 获取视图view
  4. UIView *playerView = [vodPlayer playerView];
  5. // 把视图view加入到背景view
  6. [backgroundView addSubview:playerView];
  7. // 设置视图view的frame
  8. [playerView setFrame:[backgroundView bounds]];
  9. // 把背景view加入到UIViewController
  10. [self.view addSubview:backgroundView];

4. 播放鉴权

使用playAuth播放,详见获取播放凭证文档(满足安全性要求高的场景,推荐使用)。

  1. [vodPlayer prepareWithVid:VID playAuth:PLAY_AUTH];

客户端开发也可以通过python脚本获取播放凭证进行调试,具体流程如下:

  • 安装python2.7+pip环境(Mac环境下自带,Windows环境自行安装)
  • 使用终端安装SDK,运行以下命令:
    1. pip install aliyun-python-sdk-core
    2. pip install aliyun-python-sdk-vod
  • 下载Python脚本,从阿里云控制台获取accessKeyId和accessKeySecret并替换脚本里面的字段内容,从点播控制台获取已经上传视频的videoID并替换脚本里面的字段内容。
  • 在python脚本所在目录下通过终端执行以下命令:
    1. python playAuth.py
  • 在终端中查看获取的PlayAuth和VideoId。
  • 在播放器SDK中使用获取的PlayAuth和VideoId进行播放,注意PlayAuth的时效为100秒,如果过期请重新获取。

5. 设置播放回调

  1. [vodPlayer setAliyunVodPlayerDelegate:id<AliyunVodPlayerDelegate>]; // 设置播放器状态回调代理

6. 播放视频

  1. //如果设置vodplayer.autoPlay = YES,播放器会自动播放。
  2. //如果设置vodplayer.autoPlay = NO,播放器。
  3. [vodplayer start];

以上为简单的示例,均可在demo中找到。更多的播放器操作,参见 接口详细说明

四、有皮肤SDK的使用

有皮肤的SDK:AliyunVodPlayerViewSDK.framework,依赖AliyunVodPlayerSDK.framework和AliyunVodPlayerViewResource.bundle,所以如果使用该SDK必须同时使用AliyunVodPlayerSDK.framework和AliyunVodPlayerViewResource.bundle。

1. 包含头文件

  1. #import<AliyunVodPlayerViewSDK/AliyunVodPlayerViewSDK.h>

2. 构造AliyunVodPlayerView

  1. AliyunVodPlayerView *playerView = [[AliyunVodPlayerView alloc] initWithFrame:CGRectMake(x, y, width, height)]

3. 设置播放回调

  1. [playerView setDelegate:id<AliyunVodPlayerViewDelegate>]; // 设置播放器状态回调代理

4. 初始化playerView

使用playAuth播放,详见获取播放凭证文档(满足安全性要求高的场景,推荐使用)。

  1. [playerView playViewPrepareWithVid:VID playAuth:PLAY_AUTH];

5. 播放视频

  1. 如果设置vodplayer.autoPlay = YES,播放器会自动播放。
  2. 如果设置vodplayer.autoPlay = NO,播放器,点击播放按钮。

五、离线下载功能的使用

离线下载的功能是由AliyunVodPlayerSDK.framework中的AliyunVodDownLoadManager类来实现

1. 包含头文件

  1. #import<AliyunVodPlayerSDK/AliyunVodPlayerSDK.h>

2. 设置下载代理

  1. [[AliyunVodDownLoadManager shareManager] setDownloadDelegate:self];

3. 设置下载路径

  1. NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
  2. [[AliyunVodDownLoadManager shareManager] setDownLoadPath:path];

4. 设置视频下载的加密密钥,此接口已经废弃,

  1. [[AliyunVodDownLoadManager shareManager] setDownloadPassword:@""];

最新使用如下接口:安全下载设置加密图,安全下载是指将视频文件通过私钥进行二次加密,下载后在SDK内部完成视频解密,保障离线视频仅能通过唯一应用进行安全播放。具体加密图的生成方式请参考播放器SDK的使用说明

  1. [[AliyunVodDownLoadManager shareManager] setEncrptyFile:@""];

5. 准备下载,获取视频信息

  1. AliyunDataSource* source = [[AliyunDataSource alloc] init];
  2. source.vid = @"";
  3. source.playAuth = @"";
  4. //清晰度
  5. source.quality = AliyunVodPlayerVideoFD;
  6. //视频格式(m3u8/mp4/flv)
  7. source.format = @"";
  8. //监听代理onPrepare,可以获取视频清晰度、长度、大小、格式等信息
  9. [[AliyunVodDownLoadManager shareManager] prepareDownloadMedia:source];

6. 启动下载

  1. AliyunDataSource* source = [[AliyunDataSource alloc] init];
  2. source.vid = @"";
  3. source.playAuth = @"";
  4. //清晰度
  5. source.quality = AliyunVodPlayerVideoFD;
  6. //视频格式(m3u8/mp4/flv)
  7. source.format = @"m3u8";
  8. [[AliyunVodDownLoadManager shareManager] startDownloadMedia:source];

7. 采用playAuth方式,监听onGetPlayAuth回调,传入最新的playAuth

  1. -(NSString*) onGetPlayAuth:(NSString*)vid format:(NSString*)format quality:(AliyunVodPlayerVideoQuality)quality
  2. {
  3. NSString* playAuth = @""
  4. return playAuth;
  5. }

8. 监听下载进度

  1. -(void) onProgress:(AliyunDownloadMediaInfo*)mediaInfo{
  2. }

9. 停止下载

  1. [[AliyunVodDownLoadManager shareManager] stopDownloadMedia:info];

六、边播边下缓存功能的使用

1. 包含头文件

  1. #import<AliyunVodPlayerSDK/AliyunVodPlayerSDK.h>

2. 设置下载路径、最大下载数据(单位:MB)、单一视频最大下载总时长(单位:秒)

  1. NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  2. NSString *docDir = [pathArray objectAtIndex:0];
  3. //在创建播放器类,调用playViewPrepareWithVid方法之前设置.
  4. [vodPlayer setPlayingCache:NO saveDir:docDir maxSize:30 maxDuration:10000];

以上为简单的示例,均可在demo中找到。更多的播放器操作,参见 接口详细说明

本文导读目录
本文导读目录
以上内容是否对您有帮助?