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

:コード変換テンプレート

最終更新日:Jun 27, 2022

このトピックでは、トランスコードテンプレートモジュールのAPI操作の使用例を示します。 API操作はApsaraVideo VOD SDK for Pythonにカプセル化されています。 APIを呼び出して、トランスコードテンプレートグループを作成、変更、削除、および照会できます。 コード変換テンプレートグループをデフォルトとして指定することもできます。

クライアントを初期化

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

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

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

この操作のリクエストパラメーターとレスポンスパラメーターの詳細については、「AddTranscodeTemplateGroup」をご参照ください。 例:

からaliyunsdkvod.request.v20170321インポート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["ビデオ"] = videoConfig

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

    # カプセル化のためのコンテナ。
    container = {"Format": "mp4"}
    transcodeTemplate["コンテナー"] =コンテナー

    # 条件付きトランスコードの設定。
    条件= {"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["WatermarkId"] = watermarkIdList

    transcodeTemplateList.append(transcodeTemplate)

    return transcodeTemplateList


"""  Add the configurations of the transcoding template ."""
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))
    リターンレスポンス

トライ:
    clt = init_vod_client('<AccessKeyId>', '<AccessKeySecret>')
    res = add_transcode_template_group(clt)
    print(json.dumps(res, ensure_ascii=False, indent=4))

eとして例外を除いて:
    プリント (e)
    print(traceback.format_exc()) 

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

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

この操作のリクエストパラメーターとレスポンスパラメーターの詳細については、「UpdateTranscodeTemplateGroup」をご参照ください。 例:

から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["ビデオ"] = videoConfig

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

    # カプセル化のためのコンテナ。
    container = {"Format": "mp4"}
    transcodeTemplate["コンテナー"] =コンテナー

    # 条件付きトランスコードの設定。
    条件= {"IsCheckReso": False、"IsCheckResoFail": False、"IsCheckVideoBitrate": False、
                 "IsCheckVideoBitrateFail": False、"IsCheckAudioBitrate": False、"IsCheckAudioBitrateFail": False}
    transcodeTemplate["TransConfig"] =条件

    """
    # The configurations of encryption. HLS暗号化のみがサポートされています。
    encryptSetting = {"EncryptType": "Private"}
    transcodeTemplate["EncryptSetting"] = encryptSetting
    """

    # 関連する透かしのID。
    watermarkIdList = []
    #watermarkIdList.append("<WatermarkId>")
    watermarkIdList.append("USER_DEFAULT_WATERMARK")
    transcodeTemplate["WatermarkId"] = watermarkIdList

    transcodeTemplateList.append(transcodeTemplate)

    return transcodeTemplateList


"""  Modify a transcoding template."""
def update_transcode_template_group(clt):
    request = UpdateTranscodeTemplateGroupRequest。UpdateTranscodeTemplateGroupRequest()

    # Specify the transcoding template group 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 (リクエスト))
    リターンレスポンス

トライ:
    clt = init_vod_client('<AccessKeyId>', '<AccessKeySecret>')
    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()) 

コード変換テンプレートグループの照会

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

この操作のリクエストパラメーターとレスポンスパラメーターの詳細については、「ListTranscodeTemplateGroup」をご参照ください。 例:

からaliyunsdkvod.request.v20170321 import ListTranscodeTemplateGroupRequest
def list_transcode_template_group(clt):
    request = ListTranscodeTemplateGroupRequest。ListTranscodeTemplateGroupRequest()

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

try:
    clt = init_vod_client('<AccessKeyId>', '<AccessKeySecret>')
    data = list_transcode_template_group(clt)
    for item in data['TranscodeTemplateGroupList']:
        print("TranscodeTemplateGroupId: % s, Name: % s" % (item['TranscodeTemplateGroupId'], item['Name'])))

    print(json.dumps(data, ensure_ascii=False, indent=4))

eとして例外を除いて:
    プリント (e)
    print(traceback.format_exc()) 

Query a transcoding template group

You can call the GetTranscodeTemplateGroup operation to query details about a transcoding template group.

この操作のリクエストパラメーターとレスポンスパラメーターの詳細については、「GetTranscodeTemplateGroup」をご参照ください。 例:

からaliyunsdkvod.request.v20170321インポートGetTranscodeTemplateGroupRequest
def get_transcode_template_group(clt):
    request = GetTranscodeTemplateGroupRequest。GetTranscodeTemplateGroupRequest()
    request.set_TranscodeTemplateGroupId("<TranscodeTemplateGroupId>")

    request.set_accept_format('JSON')
    response = json.loads(clt.do_action_with_exception (リクエスト))
    リターンレスポンス

トライ:
    clt = init_vod_client('<AccessKeyId>', '<AccessKeySecret>')
    templateGroup = get_transcode_template_group(clt)
    templateGroup['TranscodeTemplateGroup']['TranscodeTemplateList'] のアイテムについて:
        print("TranscodeTemplateId: % s, TemplateName: % s, Definition: % s" %
              (item['TranscodeTemplateId'], item ['Template'], item['Definition']))

    print(json.dumps(templateGroup, ensure_ascii=False, indent=4))

eとして例外を除いて:
    プリント (e)
    print(traceback.format_exc())

コード変換テンプレートグループをデフォルトとして指定する

You can call the SetDefaultTranscodeTemplateGroup operation to specify a transcoding template group as the default one.

この操作のリクエストパラメーターとレスポンスパラメーターの詳細については、「SetDefaultTranscodeTemplateGroup」をご参照ください。 例:

からaliyunsdkvod.request.v20170321インポートSetDefaultTranscodeTemplateGroupRequest
def set_default_transcode_template_group(clt):
    request = SetDefaultTranscodeTemplateGroupRequest。SetDefaultTranscodeTemplateGroupRequest()
    request.set_TranscodeTemplateGroupId("<TranscodeTemplateGroupId>")

    request.set_accept_format('JSON')
    response = json.loads(clt.do_action_with_exception (リクエスト))
    return response

try:
    clt = init_vod_client('<AccessKeyId>', '<AccessKeySecret>')
    res = set_default_transcode_template_group(clt)
    print(json.dumps(res, ensure_ascii=False, indent=4))

eとして例外を除いて:
    プリント (e)
    print(traceback.format_exc())

コード変換テンプレートグループの削除

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

For more information about the request and response parameters of this operation, see DeleteTranscodeTemplateGroup. 例:

からaliyunsdkvod.request.v20170321 import DeleteTranscodeTemplateGroupRequest
def delete_transcode_template_group(clt):
    request = DeleteTranscodeTemplateGroupRequest。DeleteTranscodeTemplateGroupRequest()
    request.set_TranscodeTemplateGroupId("<TranscodeTemplateGroupId>")

    request.set_accept_format('JSON')
    response = json.loads(clt.do_action_with_exception(request))
    リターンレスポンス

トライ:
    clt = init_vod_client('<AccessKeyId>', '<AccessKeySecret>')
    res = delete_transcode_template_group(clt)
    print(json.dumps(res, ensure_ascii=False, indent=4))

eとして例外を除いて:
    プリント (e)
    print(traceback.format_exc())