O ApsaraVideo VOD usa modelos de transcodificação para processar vídeos. Se os grupos de modelos de transcodificação integrados não atenderem às suas necessidades, crie um grupo e personalize parâmetros como formato de codificação, taxa de quadros e resolução. Use o SDK para Python para criar e gerenciar grupos de modelos de transcodificação por meio de chamadas de API.
Observações de uso
Todos os exemplos deste tópico usam um par de AccessKey para inicializar uma instância de cliente.
Para obter detalhes sobre os parâmetros de solicitação e resposta, acesse o Alibaba Cloud OpenAPI Explorer e abra a aba API Documentations.
Para visualizar exemplos de SDK de outras operações da API, visite o Alibaba Cloud OpenAPI Explorer. Na aba Parameters, especifique os parâmetros e inicie a chamada. Em seguida, selecione a versão do SDK e a linguagem na aba SDK Sample Code para visualizar e baixe o código.
Os exemplos deste tópico usam o SDK V1.0. Para exemplos da V2.0, selecione a versão correta do SDK no OpenAPI Explorer.

Inicializar um cliente
Antes de usar o SDK, inicialize um cliente. Para mais informações, consulte Inicialização.
Criar um grupo de modelos de transcodificação
Chame a operação AddTranscodeTemplateGroup para criar um grupo de modelos de transcodificação.
Alibaba Cloud OpenAPI Explorer: AddTranscodeTemplateGroup.
Código de exemplo:
from aliyunsdkvod.request.v20170321 import AddTranscodeTemplateGroupRequest
""" Build the configuration data for the transcoding template to add. """
def build_transcode_template_list():
transcodeTemplateList = []
transcodeTemplate = {}
# Set the template name.
transcodeTemplate["TemplateName"] = "MP4-for-Low-Definition"
# Definition.
transcodeTemplate["Definition"] = "LD"
# Video stream transcoding configuration.
videoConfig = {"Width": 640, "Bitrate": 400, "Fps": 25, "Remove": False, "Codec": "H.264", "Gop": "250"}
transcodeTemplate["Video"] = videoConfig
# Audio stream transcoding configuration.
audioConfig = {"Codec": "AAC", "Bitrate": "64", "Channels": "2", "Samplerate": "32000"}
transcodeTemplate["Audio"] = audioConfig
# Encapsulation container.
container = {"Format": "mp4"}
transcodeTemplate["Container"] = container
# Conditional transcoding configuration.
condition = {"IsCheckReso": False, "IsCheckResoFail": False, "IsCheckVideoBitrate": False,
"IsCheckVideoBitrateFail": False, "IsCheckAudioBitrate": False, "IsCheckAudioBitrateFail": False}
transcodeTemplate["TransConfig"] = condition
"""
# Encryption configuration (HLS only).
encryptSetting = {"EncryptType": "Private"}
transcodeTemplate["EncryptSetting"] = encryptSetting
"""
# Watermark ID (for associating multiple watermarks).
watermarkIdList = []
#watermarkIdList.append("<WatermarkId>")
watermarkIdList.append("USER_DEFAULT_WATERMARK")
transcodeTemplate["WatermarkIds"] = watermarkIdList
transcodeTemplateList.append(transcodeTemplate)
return transcodeTemplateList
""" Add the transcoding template configuration. """
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())
Modificar um grupo de modelos de transcodificação
Chame a operação UpdateTranscodeTemplateGroup para modificar um grupo de modelos de transcodificação.
Alibaba Cloud OpenAPI Explorer: / UpdateTranscodeTemplateGroup.
Código de exemplo:
from aliyunsdkvod.request.v20170321 import UpdateTranscodeTemplateGroupRequest
""" Build the configuration data for the transcoding template to modify. """
def build_transcode_template_list():
transcodeTemplateList = []
transcodeTemplate = {}
# Set the transcoding template ID. This is required.
transcodeTemplate["TranscodeTemplateId"] = "<TranscodeTemplateId>"
# The following are optional.
# Set the new template name (to change it).
transcodeTemplate["TemplateName"] = "new-MP4-for-Low-Definition"
# Video stream transcoding configuration.
videoConfig = {"Width": 640, "Bitrate": 500, "Fps": 60, "Remove": False, "Codec": "H.264", "Gop": "250"}
transcodeTemplate["Video"] = videoConfig
# Audio stream transcoding configuration.
audioConfig = {"Codec": "AAC", "Bitrate": "128", "Channels": "2", "Samplerate": "32000"}
transcodeTemplate["Audio"] = audioConfig
# Encapsulation container.
container = {"Format": "mp4"}
transcodeTemplate["Container"] = container
# Conditional transcoding configuration.
condition = {"IsCheckReso": False, "IsCheckResoFail": False, "IsCheckVideoBitrate": False,
"IsCheckVideoBitrateFail": False, "IsCheckAudioBitrate": False, "IsCheckAudioBitrateFail": False}
transcodeTemplate["TransConfig"] = condition
"""
# Encryption configuration (HLS only).
encryptSetting = {"EncryptType": "Private"}
transcodeTemplate["EncryptSetting"] = encryptSetting
"""
# Watermark ID (for associating multiple watermarks).
watermarkIdList = []
#watermarkIdList.append("<WatermarkId>")
watermarkIdList.append("USER_DEFAULT_WATERMARK")
transcodeTemplate["WatermarkIds"] = watermarkIdList
transcodeTemplateList.append(transcodeTemplate)
return transcodeTemplateList
""" Modify the transcoding template configuration. """
def update_transcode_template_group(clt):
request = UpdateTranscodeTemplateGroupRequest.UpdateTranscodeTemplateGroupRequest()
# Set the transcoding template group ID.
request.set_TranscodeTemplateGroupId("<TranscodeTemplateGroupId>")
# Set the transcoding template configuration.
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())
Visualizar um grupo de modelos de transcodificação
-
Chame a operação GetTranscodeTemplateGroup para visualizar um grupo de modelos de transcodificação.
Alibaba Cloud OpenAPI Explorer: ou GetTranscodeTemplateGroup.
-
Chame a operação ListTranscodeTemplateGroup para visualizar uma lista de grupos de modelos de transcodificação.
Alibaba Cloud OpenAPI Explorer: ListTranscodeTemplateGroup.
Definir um grupo de modelos de transcodificação como padrão
Chame a operação SetDefaultTranscodeTemplateGroup para definir um grupo de modelos de transcodificação como padrão.
Chame a operação SetDefaultTranscodeTemplateGroup no Alibaba Cloud OpenAPI Explorer.
Excluir um grupo de modelos de transcodificação
Chame a operação DeleteTranscodeTemplateGroup para excluir um grupo de modelos de transcodificação.
Alibaba Cloud OpenAPI Explorer: DeleteTranscodeTemplateGroup.