視頻水印,指在視頻上添加相關標志性信息(如企業Logo、電視臺臺標、用戶昵稱、用戶ID等),以突出品牌、維護版權、增加產品的識別度。本文提供了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。
相關文檔
視頻圖文水印:介紹視頻點播的視頻圖文水印功能更完整更詳細的信息,包括工作原理、應用場景、應用示例等。