すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo VOD:ビデオ透かし

最終更新日:Oct 28, 2024

このトピックでは、ビデオ透かしモジュールのAPI操作の使用例を示します。 API操作はApsaraVideo VOD SDK for Pythonにカプセル化されています。 API操作を呼び出して、透かしを追加、変更、削除、およびクエリできます。 透かしをデフォルトの透かしとして指定することもできます。

使用上の注意

  • この例では、AccessKeyペアを使用してクライアントインスタンスを初期化します。

  • この操作のリクエストおよびレスポンスパラメーターの詳細については、 OpenAPI Explorerに移動します。 上部のナビゲーションバーで [APIドキュメント] をクリックすると、API操作に関連する情報が表示されます。

  • このトピックでは、一部の複雑なAPI操作のサンプルコードのみを示します。 他のAPI操作のサンプルコードを取得するには、次の操作を実行します。 Alibaba Cloud OpenAPI Explorerに移動します。左側のナビゲーションウィンドウで、サンプルコードを取得するAPI操作を見つけ、[パラメーター] タブで必要なパラメーターを指定します。 次に、[呼び出しの開始] をクリックします。 [SDKサンプルコード] タブで、サンプルコードを表示およびダウンロードする言語を選択します。

  • このトピックでは、ApsaraVideo VOD SDK for Java V1.0を使用してAPI操作を呼び出す方法について説明します。 ApsaraVideo VOD SDK for Java V2.0を使用してAPI操作を呼び出す場合、Alibaba Cloud OpenAPI Explorerでサンプルコードを取得するときにV2.0を指定します。image.png

クライアントを初期化

SDKを使用する前に、クライアントを初期化してください。 詳細については、「初期化」をご参照ください。

透かしを追加する

AddWatermark操作を呼び出して、ウォーターマークを追加できます。

このAPI操作の詳細については、AddWatermarkを参照してください。

サンプルコード:

説明
  • ファイルのアップロードURLと資格情報の詳細については、「CreateUploadAttachedMedia」をご参照ください。

  • OSS (Object Storage Service) バケットに透かしファイルをアップロードする方法の詳細については、「OSSオブジェクトのアップロード」をご参照ください。

from aliyunsdkvod.request.v20170321 import AddWatermarkRequest
def add_watermark(clt):
    request = AddWatermarkRequest.AddWatermarkRequest()

    request.set_Name('watermark-sample')
    # If you want to use an image watermark, the image must be stored in an OSS bucket and the image file and source video file must be stored in the same region, such as China (Shanghai).
    # Example of FileUrl: http://example-bucket-****.oss-cn-shanghai.aliyuncs.com/watermark/test-****.png.  
    request.set_FileUrl('<your File URL>')

    # Example on how to configure a text watermark:
    request.set_Type('Text')
    # Specify the text content, font, size, color, transparency, and other configurations.
    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))

    """
    # Example on how to configure an image watermark:
    request.set_Type('Image')
    # The start time and duration of the watermark.
    timeline = {'Start': 2, 'Duration': 'ToEND'}
    # The position configurations of the watermark.
    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操作を呼び出して、透かしを変更できます。

このAPI操作の詳細については、UpdateWatermarkを参照してください。

サンプルコード:

重要

この操作を呼び出して、画像透かしのURLを変更することはできません。 画像透かしのURLを変更する場合は、透かしを作成します。

from aliyunsdkvod.request.v20170321 import UpdateWatermarkRequest
def update_watermark(clt):
    request = UpdateWatermarkRequest.UpdateWatermarkRequest()
    request.set_WatermarkId('<watermarkId>')
    request.set_Name('new-watermark-name')

    # Example on how to modify a text watermark:
    # Specify the text content, font, size, color, transparency, and other configurations.
    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))

    """
    # Example on how to modify an image watermark:
    # The start time and duration of the watermark.
    timeline = {'Start': 2, 'Duration': 'ToEND'}
    # The position configurations of the watermark.
    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操作を呼び出して、透かしを削除できます。

このAPI操作の詳細については、DeleteWatermarkを参照してください。

透かしの照会

  • GetWatermark操作を呼び出して、単一の透かしに関する詳細を照会できます。

    このAPI操作の詳細については、GetWatermarkを参照してください。

  • ListWatermark操作を呼び出して、複数の透かしを照会できます。

    このAPI操作の詳細については、ListWatermarkを参照してください。

透かしをデフォルトの透かしとして指定する

SetDefaultWatermark操作を呼び出して、透かしをデフォルトの透かしとして指定できます。

このAPI操作の詳細については、SetDefaultWatermarkを参照してください。