全部产品
Search
文档中心

视频点播:视频水印

更新时间:Jul 31, 2023

本篇文档提供了Python SDK视频水印模块相关功能的API调用示例。包含添加水印、修改水印、删除水印、查询水印、设置默认水印等。

接口调用说明

  • 本文提供的接口调用示例均通过AccessKey初始化客户端实例。

  • 接口的参数解释和返回字段的详细说明请访问阿里云OpenAPI门户,在各接口右侧的文档页签查看。

  • 本文仅提供部分复杂接口的代码示例,其余接口的SDK代码示例,可以通过阿里云OpenAPI门户获取。访问阿里云OpenAPI门户,在接口的左侧参数配置页签,填写需要的参数信息并发起调用后,在右侧的SDK示例页签,选择目标语言,查看并下载示例代码。

初始化客户端

使用前请先初始化客户端,请参见初始化

添加水印

调用AddWatermark接口,生成添加水印的SDK示例。

阿里云OpenAPI门户地址:AddWatermark

调用示例如下:

说明
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