開發與維運

在线教育场景下的点播试看功能实现

业务场景

在线教育场景下,提供视频课程给用户试看一段时间(如前5分钟),用户试看完后如果要继续观看,需要付费购买。

业务流程

|center|500x400

  1. 客户端到应用后台请求试看地址
  2. 应用后台请求阿里云点播服务,获取视频试看地址
  3. 阿里云点播服务返回试看地址
  4. 应用后台返回试看地址给客户端播放
  5. 客户端通过试看地址播放

使用步骤

  • 点播域名开启试看功能
    登陆点播控制台,配置管理-分发加速配置-域名管理-配置(对应域名处)-访问控制-URL鉴权中,开启A方式鉴权,同时,勾选”支持试看”选项。

|center|500x400

  • 试看地址获取
    调用 获取播放地址接口 ,通过参数 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)

​​|center|500x400

注意事项

试看的基本原理是,播放的CDN加速地址带有试看的指定时长信息,云端会对该信息进行鉴权,鉴权通过会返回指定的文件内容,否则拒绝访问、返回403。

  1. 点播试看功能基于阿里云CDN加速实现,且必须在视频点播(VOD)控制台配置CDN加速域名。
  2. 此方案必须开启A鉴权,同时,为了防止试看参数被篡改,试看参数也作为auth_key计算的一部分。
  3. 域名必须开启 range回源 和 拖拽播放。具体可在域名管理-配置(对应域名处)-视频相关处开启。

Leave a Reply

Your email address will not be published. Required fields are marked *