業務場景
在線教育場景下,提供視頻課程給用戶試看一段時間(如前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回源 和 拖拽播放。具體可在域名管理-配置(對應域名處)-視頻相關處開啟。