天天看點

線上教育場景下的點播試看功能實作

業務場景

線上教育場景下,提供視訊課程給使用者試看一段時間(如前5分鐘),使用者試看完後如果要繼續觀看,需要付費購買。

業務流程

線上教育場景下的點播試看功能實作
  1. 用戶端到應用背景請求試看位址
  2. 應用背景請求阿裡雲點播服務,擷取視訊試看位址
  3. 阿裡雲點播服務傳回試看位址
  4. 應用背景傳回試看位址給用戶端播放
  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)           

​​

線上教育場景下的點播試看功能實作

注意事項

試看的基本原理是,播放的CDN加速位址帶有試看的指定時長資訊,雲端會對該資訊進行鑒權,鑒權通過會傳回指定的檔案内容,否則拒絕通路、傳回403。

  1. 點播試看功能基于阿裡雲CDN加速實作,且必須在視訊點播(VOD)控制台配置CDN加速域名。
  2. 此方案必須開啟A鑒權,同時,為了防止試看參數被篡改,試看參數也作為auth_key計算的一部分。
  3. 域名必須開啟 range回源 和 拖拽播放。具體可在域名管理-配置(對應域名處)-視訊相關處開啟。