本篇文檔提供了Python SDK視頻浮水印模組相關功能的API調用樣本。包含添加浮水印、修改浮水印、刪除浮水印、查詢浮水印、設定預設浮水印等。
介面調用說明
本文提供的介面調用樣本均通過AccessKey初始化用戶端執行個體。
介面的參數解釋和返回欄位的詳細說明請訪問阿里雲OpenAPI門戶,在各介面右側的文檔頁簽查看。
本文僅提供部分複雜介面的程式碼範例,其餘介面的SDK程式碼範例,可以通過阿里雲OpenAPI門戶擷取。訪問阿里雲OpenAPI門戶,在介面的左側參數配置頁簽,填寫需要的參數資訊並發起調用後,在右側的SDK樣本頁簽,選擇SDK版本,選擇目標語言,查看並下載範例程式碼。
本文均以V1.0版本的SDK為例進行介面調用,如需擷取V2.0版本的SDK樣本,請在通過阿里雲OpenAPI門戶擷取SDK樣本時,指定到對應的SDK版本。

初始化用戶端
使用前請先初始化用戶端,請參見初始化。
添加浮水印
調用AddWatermark介面,產生添加浮水印的SDK樣本。
阿里雲OpenAPI門戶地址:AddWatermark。
調用樣本如下:
擷取檔案上傳地址和憑證詳細參數請參見CreateUploadAttachedMedia。
浮水印檔案OSS上傳詳細參數請參見OSS檔案上傳。
from aliyunsdkvod.request.v20170321 import AddWatermarkRequest
def add_watermark(clt):
request = AddWatermarkRequest.AddWatermarkRequest()
request.set_Name('watermark-sample')
# 圖片浮水印必須傳圖片檔案的OSS地址,且浮水印檔案需要和視頻在同一地區,如:華東2的視頻添加浮水印,浮水印檔案必須存放在華東2
# FileUrl樣本:http://example-bucket-****.oss-cn-shanghai.aliyuncs.com/watermark/test-****.png
request.set_FileUrl('<your File URL>')
# 文字浮水印設定樣本
request.set_Type('Text')
# 浮水印的常值內容、字型、大小、顏色、透明度等配置
watermarkConfig = {'Content': 'watermark Text', 'FontName': 'SimSun', 'FontSize': 25, 'FontColor': 'Black',
'FontAlpha': 0.2, 'BorderColor': 'White', 'BorderWidth': 1, 'Top': 20, 'Left': 15}
request.set_WatermarkConfig(json.dumps(watermarkConfig))
"""
# 圖片浮水印設定樣本
request.set_Type('Image')
# 浮水印顯示的開始時間和結束時間
timeline = {'Start': 2, 'Duration': 'ToEND'}
# 浮水印的位置等配置
watermarkConfig = {'Dx': 8, 'Dy': 8, 'Width': 55, 'Height': 55, 'ReferPos': 'BottomRight', 'Timeline': timeline}
request.set_WatermarkConfig(json.dumps(watermarkConfig))
"""
request.set_accept_format('JSON')
response = json.loads(clt.do_action_with_exception(request))
return response
try:
clt = init_vod_client()
watermark = add_watermark(clt)
print(json.dumps(watermark, ensure_ascii=False, indent=4))
except Exception as e:
print(e)
print(traceback.format_exc())修改浮水印
調用UpdateWatermark介面,產生修改浮水印的SDK樣本。
阿里雲OpenAPI門戶地址:UpdateWatermark。
調用樣本如下:
本介面不支援圖片浮水印圖片檔案地址的修改,如要更換請建立新的浮水印。
from aliyunsdkvod.request.v20170321 import UpdateWatermarkRequest
def update_watermark(clt):
request = UpdateWatermarkRequest.UpdateWatermarkRequest()
request.set_WatermarkId('<watermarkId>')
request.set_Name('new-watermark-name')
# 更改文字浮水印設定樣本
# 浮水印的常值內容、字型、大小、顏色、透明度等配置
watermarkConfig = {'Content': 'watermark Text', 'FontName': 'SimSun', 'FontSize': 25, 'FontColor': 'Black',
'FontAlpha': 0.2, 'BorderColor': 'White', 'BorderWidth': 1, 'Top': 20, 'Left': 15}
request.set_WatermarkConfig(json.dumps(watermarkConfig))
"""
# 更改圖片浮水印設定樣本
# 浮水印顯示的開始時間和結束時間
timeline = {'Start': 2, 'Duration': 'ToEND'}
# 浮水印的位置等配置
watermarkConfig = {'Dx': 8, 'Dy': 8, 'Width': 55, 'Height': 55, 'ReferPos': 'BottomRight', 'Timeline': timeline}
request.set_WatermarkConfig(json.dumps(watermarkConfig))
"""
request.set_accept_format('JSON')
response = json.loads(clt.do_action_with_exception(request))
return response
try:
clt = init_vod_client()
watermark = update_watermark(clt)
print(json.dumps(watermark, ensure_ascii=False, indent=4))
except Exception as e:
print(e)
print(traceback.format_exc())刪除浮水印
調用DeleteWatermark介面,產生刪除浮水印的SDK樣本。
阿里雲OpenAPI門戶地址:DeleteWatermark。
查詢浮水印
調用GetWatermark介面,產生查詢單個浮水印資訊的SDK樣本。
阿里雲OpenAPI門戶地址:GetWatermark。
調用ListWatermark介面,產生查詢浮水印列表資訊的SDK樣本。
阿里雲OpenAPI門戶地址:ListWatermark。
設定預設浮水印
調用SetDefaultWatermark介面,產生設定預設浮水印的SDK樣本。
阿里雲OpenAPI門戶地址:SetDefaultWatermark。