視頻截圖基于截圖模板發起,通過配置截圖模板,您可以自定義視頻截圖的尺寸、數量、時間等參數。本文提供了Python SDK截圖模板的API調用示例,包含創建及管理截圖模板等。
接口調用說明
本文提供的接口調用示例均通過AccessKey初始化客戶端實例。
接口的參數解釋和返回字段的詳細說明請訪問阿里云OpenAPI門戶,在各接口右側的文檔頁簽查看。
本文僅提供部分復雜接口的代碼示例,其余接口的SDK代碼示例,可以通過阿里云OpenAPI門戶獲取。訪問阿里云OpenAPI門戶,在接口的左側參數配置頁簽,填寫需要的參數信息并發起調用后,在右側的SDK示例頁簽,選擇SDK版本,選擇目標語言,查看并下載示例代碼。
本文均以V1.0版本的SDK為例進行接口調用,如需獲取V2.0版本的SDK示例,請在通過阿里云OpenAPI門戶獲取SDK示例時,指定到對應的SDK版本。
初始化客戶端
使用前請先初始化客戶端,請參見初始化。
添加截圖模板
調用AddVodTemplate接口,生成添加截圖模板的SDK示例。
阿里云OpenAPI門戶地址:AddVodTemplate。
調用示例如下:
from aliyunsdkvod.request.v20170321 import AddVodTemplateRequest
def add_vod_template(clt):
request = AddVodTemplateRequest.AddVodTemplateRequest()
# 模板名稱
request.set_Name('Sample Snapshot Template')
# 模板類型,固定值為Snapshot
request.set_TemplateType('Snapshot')
# 截圖模板配置數據
snapshotConfig = {'Count': 50, 'Interval': 1, 'SpecifiedOffsetTime': 0, 'Width': 200, 'Height': 200,
'FrameType': 'normal'}
templateConfig = {'SnapshotConfig': snapshotConfig, 'SnapshotType': 'NormalSnapshot'}
"""
# 可選項:雪碧圖配置(雪碧圖配置必須建立在普通截圖配置之上)
spriteSnapshotConfig = {'CellWidth': 120, 'CellHeight': 68, 'Columns': 3, 'Lines': 10, 'Padding': 20,
'Margin': 50, 'KeepCellPic': 'keep', 'Color': 'tomato'}
snapshotConfig['SpriteSnapshotConfig'] = spriteSnapshotConfig
templateConfig['SnapshotType'] = 'SpriteSnapshot'
"""
request.set_TemplateConfig(json.dumps(templateConfig))
request.set_accept_format('JSON')
response = json.loads(clt.do_action_with_exception(request))
return response
try:
clt = init_vod_client()
template = add_vod_template(clt)
print(template['VodTemplateId'])
print(json.dumps(template, ensure_ascii=False, indent=4))
except Exception as e:
print(e)
print(traceback.format_exc())
修改截圖模板
調用UpdateVodTemplate接口,生成修改截圖模板的SDK示例。
阿里云OpenAPI門戶地址:UpdateVodTemplate。
調用示例如下:
from aliyunsdkvod.request.v20170321 import UpdateVodTemplateRequest
def update_vod_template(clt):
request = UpdateVodTemplateRequest.UpdateVodTemplateRequest()
request.set_VodTemplateId('<templateId>')
# 修改模板名稱
request.set_Name('New Snapshot Template Name')
# 修改截圖模板配置數據
snapshotConfig = {'Count': 50, 'Interval': 1, 'SpecifiedOffsetTime': 0, 'Width': 200, 'Height': 200,
'FrameType': 'normal'}
templateConfig = {'SnapshotConfig': snapshotConfig, 'SnapshotType': 'NormalSnapshot'}
request.set_TemplateConfig(json.dumps(templateConfig))
request.set_accept_format('JSON')
response = json.loads(clt.do_action_with_exception(request))
return response
try:
clt = init_vod_client()
template = update_vod_template(clt)
print(json.dumps(template, ensure_ascii=False, indent=4))
except Exception as e:
print(e)
print(traceback.format_exc())
查詢截圖模板
調用GetVodTemplate接口,生成查詢單個截圖模板信息的SDK示例。
阿里云OpenAPI門戶地址:GetVodTemplate。
調用ListVodTemplate接口,生成查詢截圖模板列表信息的SDK示例。
阿里云OpenAPI門戶地址:ListVodTemplate。
刪除截圖模板
調用DeleteVodTemplate接口,生成刪除截圖模板的SDK示例。
阿里云OpenAPI門戶地址:DeleteVodTemplate。