雲計算

在線教育場景下的點播試看功能實現

業務場景

在線教育場景下,提供視頻課程給用戶試看一段時間(如前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 *