业务场景
在线教育场景下,提供视频课程给用户试看一段时间(如前5分钟),用户试看完后如果要继续观看,需要付费购买。
业务流程
- 客户端到应用后台请求试看地址
- 应用后台请求阿里云点播服务,获取视频试看地址
- 阿里云点播服务返回试看地址
- 应用后台返回试看地址给客户端播放
- 客户端通过试看地址播放
使用步骤
- 点播域名开启试看功能
登陆点播控制台,配置管理-分发加速配置-域名管理-配置(对应域名处)-访问控制-URL鉴权中,开启A方式鉴权,同时,勾选”支持试看”选项。
- 试看地址获取
调用 获取播放地址接口 ,通过参数 PlayConfig 结构中的 PreviewTime 来获取指定时长的播放试看地址。示例代码:
from aliyunsdkvod.request.v20170321 import GetPlayInfoRequest
from aliyunsdkcore import client
access_key_id = "your access_key_id"
access_key_secret = "your access_key_secret"
region = "cn-shanghai"
videoId = "your videoId"
def GetPreviewURL(clt):
request = GetPlayInfoRequest.GetPlayInfoRequest()
request.set_VideoId(videoId)
#设置set_PlayConfig参数指定试看时长为15秒
request.set_PlayConfig('{"PreviewTime":"15"}')
request.set_accept_format('JSON')
response = clt.do_action(request)
return response
clt = client.AcsClient(access_key_id, access_key_secret, region)
print GetPreviewURL(clt)
- 使用获取到的试看地址播放
获取到的播放地址格式(最后end=15参数说明是15s试看):https://vod.aliyunvod.cn/8f026a6b21004454bc1524f3bfa71015/6c2bed8cd51e4e02b261d00a19ce76e4-3c166f6cad28fc09ff0ddada54f4ab08-fd.mp4?auth_key=1575626158-f644bdd753434db08813410fa04e4492-0-d7976721890fc12348ea4cabfb70b815&end=15 - 播放效果
实际播放可以看到视频只有15秒
注意事项
试看的基本原理是,播放的CDN加速地址带有试看的指定时长信息,云端会对该信息进行鉴权,鉴权通过会返回指定的文件内容,否则拒绝访问、返回403。
- 点播试看功能基于阿里云CDN加速实现,且必须在视频点播(VOD)控制台配置CDN加速域名。
- 此方案必须开启A鉴权,同时,为了防止试看参数被篡改,试看参数也作为auth_key计算的一部分。
- 域名必须开启 range回源 和 拖拽播放。具体可在域名管理-配置(对应域名处)-视频相关处开启。