Todos os produtos
Search
Central de documentação

ApsaraVideo VOD:Modelos de transcodificação

Última atualização: Jun 27, 2026

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.image.png

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.