# 播放

# SDK播放

播放器SDK封装了云资源的播放能力,目前已提供 Javascript、Android、iOS 版本的SDK。播放器SDK需要播放云资源,需要向SDK提供,云资源编号(resNo)、播放令牌(playToken),两个参数。

# PlayToken 生成算法

PlayToken 需要由后端生成。使用 JWT 加密方式,参见 https://jwt.io/ (opens new window)

加密参数

名称 类型 必需 描述
no String 资源编号
jti String 重放攻击的随机数,需16位长
exp String 接口请求的过期时间
preview Int 试看的长度,针对视频等时长类的资源,则填写可以视频的时长(单位秒),针对文档类型的资源,则填写可以试看的页数,默认返回全部内容
native Int 此参数针对视频资源,只返回 json 格式 m3u8 (0: 不, 1: 只返回原生链接),默认 0
playAudio Int 此参数针对视频资源,是否返回用于音视频切换的Token(0:不返回切换Token,1: 返回视频地址及音频的切换Token,2: 返回音频地址及视频的切换的 Token。),默认0
head String 片头资源编号,默认无
skip Int 跳过片头(0: 不跳过,1: 跳过),默认0
encrypt String 视频加密方式(0: 无加密模式, 1: 普通模式, 2:加密模式, 3:严格模式),默认2
  • encrypt: 此参数针对 Javascript SDK,用于平衡视频的移动端浏览器播放兼容性以及视频资源的安全性。
    • 普通模式:浏览器兼容性最好,但安全性较低;在不支持加密播放的移动端倪浏览器中,接口会提供 mp4 播放地址;
    • 加密模式:浏览器兼容性次好,安全性普通;
    • 严格模式:视频不能在移动端浏览器内观看,只能在PC浏览器或移动App内观看,安全性最高。

# 可以用我们的SDK 生成

PHP SDK地址 (opens new window) JAVA SDK地址 (opens new window)

PHP例子: 安装命令:composer require codeages/escloud-php-sdk

通过设置`host`配置项,即可使用测试环境的服务,不传host则默认是正式环境的地址:

$sdk = new \ESCloud\SDK\ESCloudSDK(array(
    'access_key' => 'your_access_key',
    'secret_key' => 'your_secret_key',
    'service' => array(
        'play' => array(
            'host' => 'resource-play.cloud-test.edusoho.cn',
        )
    )
));

$no = 'edb2a9b09cff479a8aaa080636db8142'; //资源no
$params = [];//上方的参数,看情况添加
token = $sdk->getPlayService()->makePlayToken($no,60,$params);

将此token传到各客户端的sdk里面,即可播放。