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

ApsaraVideo VOD:トランスコードテンプレート

最終更新日:Jun 16, 2026

ApsaraVideo VOD は、動画トランスコーディングにトランスコードテンプレートを使用します。組み込みのトランスコードテンプレートグループが要件を満たさない場合は、トランスコードテンプレートグループを作成し、エンコーディング形式、フレームレート、解像度などのパラメーターをカスタマイズできます。Python SDK を使用して API オペレーションを呼び出し、トランスコードテンプレートグループを作成および管理できます。

注意事項

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

  • リクエストとレスポンスのパラメーターの詳細については、Alibaba Cloud OpenAPI Explorer にある [API Documentations] タブをご参照ください。

  • 他の API オペレーションの SDK サンプルについては、Alibaba Cloud OpenAPI Explorer にアクセスしてください。[Parameters] タブでパラメーターを指定して呼び出しを開始し、[SDK Sample Code] タブで SDK のバージョンと言語を選択すると、コードの表示とダウンロードができます。

  • このトピックの例では SDK V1.0 を使用しています。V2.0 の例については、OpenAPI Explorer で正しい SDK バージョンを選択してください。image.png

クライアントの初期化

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

トランスコードテンプレートグループの作成

AddTranscodeTemplateGroup API を呼び出して、トランスコードテンプレートグループを作成します。

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

サンプルコード:

from aliyunsdkvod.request.v20170321 import AddTranscodeTemplateGroupRequest

""" 追加するトランスコードテンプレートの設定データを構成します。 """
def build_transcode_template_list():
    transcodeTemplateList = []
    transcodeTemplate = {}

    # テンプレート名を設定します。
    transcodeTemplate["TemplateName"] = "MP4-for-Low-Definition"

    # 画質。
    transcodeTemplate["Definition"] = "LD"

    # 動画ストリームのトランスコーディング設定。
    videoConfig = {"Width": 640, "Bitrate": 400, "Fps": 25, "Remove": False, "Codec": "H.264", "Gop": "250"}
    transcodeTemplate["Video"] = videoConfig

    # 音声ストリームのトランスコーディング設定。
    audioConfig = {"Codec": "AAC", "Bitrate": "64", "Channels": "2", "Samplerate": "32000"}
    transcodeTemplate["Audio"] = audioConfig

    # コンテナ。
    container = {"Format": "mp4"}
    transcodeTemplate["Container"] = container

    # 条件付きトランスコーディング設定。
    condition = {"IsCheckReso": False, "IsCheckResoFail": False, "IsCheckVideoBitrate": False,
                 "IsCheckVideoBitrateFail": False, "IsCheckAudioBitrate": False, "IsCheckAudioBitrateFail": False}
    transcodeTemplate["TransConfig"] = condition

    """
    # 暗号化設定 (HLS のみ)。
    encryptSetting = {"EncryptType": "Private"}
    transcodeTemplate["EncryptSetting"] = encryptSetting
    """

    # ウォーターマーク ID (複数のウォーターマークを関連付けるため)。
    watermarkIdList = []
    #watermarkIdList.append("<WatermarkId>")
    watermarkIdList.append("USER_DEFAULT_WATERMARK")
    transcodeTemplate["WatermarkIds"] = watermarkIdList

    transcodeTemplateList.append(transcodeTemplate)

    return transcodeTemplateList


""" トランスコードテンプレートの設定を追加します。 """
def add_transcode_template_group(clt):
    request = AddTranscodeTemplateGroupRequest.AddTranscodeTemplateGroupRequest()

    request.set_Name("SampleTranscodeTemplateGroup")

    transcodeTemplateList = build_transcode_template_list()
    request.set_TranscodeTemplateList(json.dumps(transcodeTemplateList))

    request.set_accept_format('JSON')
    response = json.loads(clt.do_action_with_exception(request))
    return response

try:
    clt = init_vod_client()
    res = add_transcode_template_group(clt)
    print(json.dumps(res, ensure_ascii=False, indent=4))

except Exception as e:
    print(e)
    print(traceback.format_exc())

トランスコードテンプレートグループの変更

UpdateTranscodeTemplateGroup API を呼び出して、トランスコードテンプレートグループを変更します。

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

サンプルコード:

from aliyunsdkvod.request.v20170321 import UpdateTranscodeTemplateGroupRequest

""" 変更するトランスコードテンプレートの設定データを構成します。 """
def build_transcode_template_list():
    transcodeTemplateList = []
    transcodeTemplate = {}

    # トランスコードテンプレート ID を設定します。これは必須です。
    transcodeTemplate["TranscodeTemplateId"] = "<TranscodeTemplateId>"

    # 以下はオプションです。

    # 新しいテンプレート名を設定します (変更する場合)。
    transcodeTemplate["TemplateName"] = "new-MP4-for-Low-Definition"

    # 動画ストリームのトランスコーディング設定。
    videoConfig = {"Width": 640, "Bitrate": 500, "Fps": 60, "Remove": False, "Codec": "H.264", "Gop": "250"}
    transcodeTemplate["Video"] = videoConfig

    # 音声ストリームのトランスコーディング設定。
    audioConfig = {"Codec": "AAC", "Bitrate": "128", "Channels": "2", "Samplerate": "32000"}
    transcodeTemplate["Audio"] = audioConfig

    # コンテナ。
    container = {"Format": "mp4"}
    transcodeTemplate["Container"] = container

    # 条件付きトランスコーディング設定。
    condition = {"IsCheckReso": False, "IsCheckResoFail": False, "IsCheckVideoBitrate": False,
                 "IsCheckVideoBitrateFail": False, "IsCheckAudioBitrate": False, "IsCheckAudioBitrateFail": False}
    transcodeTemplate["TransConfig"] = condition

    """
    # 暗号化設定 (HLS のみ)。
    encryptSetting = {"EncryptType": "Private"}
    transcodeTemplate["EncryptSetting"] = encryptSetting
    """

    # ウォーターマーク ID (複数のウォーターマークを関連付けるため)。
    watermarkIdList = []
    #watermarkIdList.append("<WatermarkId>")
    watermarkIdList.append("USER_DEFAULT_WATERMARK")
    transcodeTemplate["WatermarkIds"] = watermarkIdList

    transcodeTemplateList.append(transcodeTemplate)

    return transcodeTemplateList


""" トランスコードテンプレートの設定を変更します。 """
def update_transcode_template_group(clt):
    request = UpdateTranscodeTemplateGroupRequest.UpdateTranscodeTemplateGroupRequest()

    # トランスコードテンプレートグループ ID を設定します。
    request.set_TranscodeTemplateGroupId("<TranscodeTemplateGroupId>")

    # トランスコードテンプレートを設定します。
    transcodeTemplateList = build_transcode_template_list()
    request.set_TranscodeTemplateList(json.dumps(transcodeTemplateList))

    request.set_accept_format('JSON')
    response = json.loads(clt.do_action_with_exception(request))
    return response

try:
    clt = init_vod_client()
    res = update_transcode_template_group(clt)
    print(json.dumps(res, ensure_ascii=False, indent=4))

except Exception as e:
    print(e)
    print(traceback.format_exc())

トランスコードテンプレートグループの照会

  • GetTranscodeTemplateGroup操作を呼び出して、トランスコードテンプレートグループを照会できます。

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

  • ListTranscodeTemplateGroup操作を呼び出して、トランスコードテンプレートグループのリストを照会できます。

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

デフォルトのトランスコードテンプレートグループの指定

SetDefaultTranscodeTemplateGroup API を呼び出して、トランスコードテンプレートグループをデフォルトとして設定します。

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

トランスコードテンプレートグループの削除

DeleteTranscodeTemplateGroup API を呼び出して、トランスコードテンプレートグループを削除します。

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