このトピックでは、トランスコードテンプレートモジュールの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を指定します。
クライアントを初期化
SDKを使用する前に、クライアントを初期化してください。 詳細については、「初期化」をご参照ください。
トランスコードテンプレートグループの作成
AddTranscodeTemplateGroup操作を呼び出して、トランスコードテンプレートグループを作成できます。
このAPI操作の詳細については、AddTranscodeTemplateGroupを参照してください。
サンプルコード:
from aliyunsdkvod.request.v20170321 import AddTranscodeTemplateGroupRequest
""" Construct the parameters of the transcoding template that you want to create. """
def build_transcode_template_list():
transcodeTemplateList = []
transcodeTemplate = {}
# The name of the template.
transcodeTemplate["TemplateName"] = "MP4-for-Low-Definition"
# The definition.
transcodeTemplate["Definition"] = "LD"
# The transcoding settings for video streams.
videoConfig = {"Width": 640, "Bitrate": 400, "Fps": 25, "Remove": False, "Codec": "H.264", "Gop": "250"}
transcodeTemplate["Video"] = videoConfig
# The transcoding settings for audio streams.
audioConfig = {"Codec": "AAC", "Bitrate": "64", "Channels": "2", "Samplerate": "32000"}
transcodeTemplate["Audio"] = audioConfig
# The container.
container = {"Format": "mp4"}
transcodeTemplate["Container"] = container
# The conditional transcoding configurations.
condition = {"IsCheckReso": False, "IsCheckResoFail": False, "IsCheckVideoBitrate": False,
"IsCheckVideoBitrateFail": False, "IsCheckAudioBitrate": False, "IsCheckAudioBitrateFail": False}
transcodeTemplate["TransConfig"] = condition
"""
# The encryption configurations. Only HLS encryption is supported.
encryptSetting = {"EncryptType": "Private"}
transcodeTemplate["EncryptSetting"] = encryptSetting
"""
# The IDs of associated watermarks.
watermarkIdList = []
#watermarkIdList.append("<WatermarkId>")
watermarkIdList.append("USER_DEFAULT_WATERMARK")
transcodeTemplate["WatermarkIds"] = watermarkIdList
transcodeTemplateList.append(transcodeTemplate)
return transcodeTemplateList
""" Add transcoding template configurations. """
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('<AccessKeyId>', '<AccessKeySecret>')
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操作の詳細については、UpdateTranscodeTemplateGroupを参照してください。
サンプルコード:
from aliyunsdkvod.request.v20170321 import UpdateTranscodeTemplateGroupRequest
""" Construct the parameters of the transcoding template that you want to modify. """
def build_transcode_template_list():
transcodeTemplateList = []
transcodeTemplate = {}
# Required. The ID of the transcoding template.
transcodeTemplate["TranscodeTemplateId"] = "<TranscodeTemplateId>"
# The following parameters are optional:
# The new template name. Specify this parameter based on your business requirements.
transcodeTemplate["TemplateName"] = "new-MP4-for-Low-Definition"
# The transcoding settings for video streams.
videoConfig = {"Width": 640, "Bitrate": 500, "Fps": 60, "Remove": False, "Codec": "H.264", "Gop": "250"}
transcodeTemplate["Video"] = videoConfig
# The transcoding settings for audio streams.
audioConfig = {"Codec": "AAC", "Bitrate": "128", "Channels": "2", "Samplerate": "32000"}
transcodeTemplate["Audio"] = audioConfig
# The container.
container = {"Format": "mp4"}
transcodeTemplate["Container"] = container
# The conditional transcoding configurations.
condition = {"IsCheckReso": False, "IsCheckResoFail": False, "IsCheckVideoBitrate": False,
"IsCheckVideoBitrateFail": False, "IsCheckAudioBitrate": False, "IsCheckAudioBitrateFail": False}
transcodeTemplate["TransConfig"] = condition
"""
# The encryption configurations. Only HLS encryption is supported.
encryptSetting = {"EncryptType": "Private"}
transcodeTemplate["EncryptSetting"] = encryptSetting
"""
# The IDs of associated watermarks.
watermarkIdList = []
#watermarkIdList.append("<WatermarkId>")
watermarkIdList.append("USER_DEFAULT_WATERMARK")
transcodeTemplate["WatermarkIds"] = 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>")
# Specify the transcoding template configurations.
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('<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())
コード変換テンプレートグループの照会
GetTranscodeTemplateGroup操作を呼び出して、トランスコードテンプレートグループを照会できます。
このAPI操作の詳細については、GetTranscodeTemplateGroupを参照してください。
ListTranscodeTemplateGroup操作を呼び出して、トランスコードテンプレートグループのリストを照会できます。
このAPI操作の詳細については、ListTranscodeTemplateGroupを参照してください。
コード変換テンプレートグループをデフォルトとして指定する
SetDefaultTranscodeTemplateGroup操作を呼び出して、コード変換テンプレートグループをデフォルトとして指定できます。
このAPI操作の詳細については、SetDefaultTranscodeTemplateGroupを参照してください。
コード変換テンプレートグループの削除
DeleteTranscodeTemplateGroup操作を呼び出して、トランスコードテンプレートグループを削除できます。
このAPI操作の詳細については、DeleteTranscodeTemplateGroupを参照してください。