このトピックでは、トランスコードテンプレートモジュールの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())