Todos os produtos
Search
Central de documentação

ApsaraVideo VOD:Upload de mídia

Última atualização: Jun 27, 2026

Os SDKs do ApsaraVideo VOD oferecem diversas operações de API para upload de mídia. Chame essas operações para enviar arquivos de mídia ao ApsaraVideo VOD. Este tópico descreve os cenários de uso do SDK do ApsaraVideo VOD para Python na chamada de operações de API para upload de arquivos de mídia e fornece exemplos de código.

Cenários

Importante

Este tópico apresenta apenas exemplos de chamadas de operações de API, como a operação para obter uma credencial de upload e uma URL de upload. A tabela a seguir descreve os cenários em que é possível chamar operações de API para fazer upload de arquivos de mídia.

Operação de API

Cenário

CreateUploadVideo

  • Para fazer upload de arquivos de mídia com os SDKs do Object Storage Service (OSS), use o SDK do ApsaraVideo VOD e chame uma operação para obter uma credencial e uma URL de upload. A URL e a credencial obtidas são codificadas em Base64 e devem ser decodificadas antes da inicialização de uma instância do OSSClient. Para mais informações, consulte Upload de arquivos de mídia usando SDKs do OSS. O tópico mencionado fornece um exemplo completo de código para upload de arquivos de mídia com o SDK do OSS para Java. Para exemplos de código em outras linguagens, consulte Upload de arquivos de mídia chamando a API do ApsaraVideo VOD.

  • Ao enviar arquivos de mídia a partir de clientes usando o SDK de upload, integre o SDK do ApsaraVideo VOD e chame uma operação para obter ou atualize uma credencial e uma URL de upload. Forneça as URLs e credenciais aos clientes sem precisar decodificá-las. Para mais informações, consulte Upload a partir de clientes.

RefreshUploadVideo

CreateUploadImage

CreateUploadAttachedMedia

UploadMediaByURL

  • Chame a operação UploadMediaByURL para enviar arquivos de mídia usando as URLs dos arquivos de source. Assim, não é necessário baixe os arquivos de mídia para seus servidores ou dispositivos antes de usar o SDK de upload para enviá-los ao ApsaraVideo VOD.

    Nota

    Os jobs de upload por URL são assíncronos. Após o envio de um job de upload por URL, a conclusão pode levar horas ou até dias.

  • Use a operação GetURLUploadInfos para consultar o progresso dos jobs de upload por URL.

GetURLUploadInfos

Register media assets

Pré-requisitos

  • SDK do ApsaraVideo VOD instalado. Para mais informações, consulte Instalação.

  • SDK do ApsaraVideo VOD inicializado. Para mais informações, consulte Inicialização.

Nota

Nos exemplos a seguir, usa-se um par de AccessKey para inicializar o SDK do ApsaraVideo VOD.

Observações de uso

  • Todos os exemplos deste tópico usam um par de AccessKey para inicializar uma instância de cliente.

  • Para detalhes sobre os parâmetros de solicitação e resposta, acesse o Alibaba Cloud OpenAPI Explorer e abra a aba API Documentations.

  • Para exemplos de SDK de outras operações de 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 visualize e baixe o código.

  • Os exemplos neste tópico usam o SDK V1.0. Para exemplos da V2.0, selecione a versão correta do SDK no OpenAPI Explorer.image.png

Exemplos de chamada de API

Obter uma URL e uma credencial para upload de arquivo de mídia

Chame a operação CreateUploadVideo para obter uma URL e uma credencial de upload de um arquivo de mídia.

Alibaba Cloud OpenAPI Explorer: CreateUploadVideo.

Exemplo de código:

from aliyunsdkvod.request.v20170321 import CreateUploadVideoRequest
def create_upload_video(clt):
    request = CreateUploadVideoRequest.CreateUploadVideoRequest()
    request.set_Title('Video Title')
    request.set_FileName('/opt/video/sample/video_file.mp4')
    request.set_Description('Video Description')
    # The thumbnail URL. Example: http://192.168.0.1/16/tps/TB1qnJ1PVXXXXXCXXXXXXXXXXXX-700-700.png.
    request.set_CoverURL('<your Cover URL>')
    request.set_Tags('tag1,tag2')
    request.set_CateId(0)

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

try:
    clt = init_vod_client()
    uploadInfo = create_upload_video(clt)
    print(uploadInfo['UploadAuth'])
    print(json.dumps(uploadInfo, ensure_ascii=False, indent=4))

except Exception as e:
    print(e)
    print(traceback.format_exc())

Atualize a credencial de upload

Chame a operação RefreshUploadVideo para atualize a credencial de upload de um arquivo de mídia.

Alibaba Cloud OpenAPI Explorer: RefreshUploadVideo.

Exemplo de código:

from aliyunsdkvod.request.v20170321 import RefreshUploadVideoRequest
def refresh_upload_video(clt, videoId):
    request = RefreshUploadVideoRequest.RefreshUploadVideoRequest()
    request.set_VideoId(videoId)
    request.set_accept_format('JSON')
    return json.loads(clt.do_action_with_exception(request))

try:
    clt = init_vod_client()
    uploadInfo = refresh_upload_video(clt, 'VideoId')
    print(json.dumps(uploadInfo, ensure_ascii=False, indent=4))

except Exception as e:
    print(e)
    print(traceback.format_exc())

Obter uma URL e uma credencial para upload de imagem

Chame a operação CreateUploadImage para obter uma URL e uma credencial para upload de imagem.

Alibaba Cloud OpenAPI Explorer: CreateUploadImage.

Exemplo de código:

from aliyunsdkvod.request.v20170321 import CreateUploadImageRequest
def create_upload_image(clt, imageType, imageExt):
    request = CreateUploadImageRequest.CreateUploadImageRequest()
    request.set_ImageType(imageType)
    request.set_ImageExt(imageExt)
    request.set_accept_format('JSON')
    return json.loads(clt.do_action_with_exception(request))

try:
    clt = init_vod_client()
    imageInfo = create_upload_image(clt, 'cover', 'jpg')
    print(json.dumps(imageInfo, ensure_ascii=False, indent=4))

except Exception as e:
    print(e)
    print(traceback.format_exc())

Obter uma URL e uma credencial para upload de ativo de mídia auxiliar

Chame a operação CreateUploadAttachedMedia para obter uma URL e uma credencial para upload de um ativo de mídia auxiliar.

Alibaba Cloud OpenAPI Explorer: CreateUploadAttachedMedia.

Exemplo de código:

from aliyunsdkvod.request.v20170321 import CreateUploadAttachedMediaRequest
def create_upload_attached_media(clt):
    request = CreateUploadAttachedMediaRequest.CreateUploadAttachedMediaRequest()
    request.set_BusinessType("watermark");
    request.set_MediaExt("gif");
    request.set_Title("this is a sample");
    request.set_accept_format('JSON')
    return json.loads(clt.do_action_with_exception(request))

try:
    clt = init_vod_client()
    uploadInfo = create_upload_attached_media(clt)
    print(uploadInfo['UploadAuth'])
    print(json.dumps(uploadInfo, ensure_ascii=False, indent=4))

except Exception as e:
    print(e)
    print(traceback.format_exc())

Fazer upload de vários arquivos de mídia simultaneamente usando URLs de arquivos de source

Chame a operação UploadMediaByURL para enviar múltiplos arquivos de mídia de uma só vez, utilizando as URLs dos arquivos de source.

Alibaba Cloud OpenAPI Explorer: UploadMediaByURL.

Exemplo de código:

from aliyunsdkvod.request.v20170321 import UploadMediaByURLRequest
import sys,urllib
def upload_media_by_url(clt):
    request = UploadMediaByURLRequest.UploadMediaByURLRequest()
    # The URLs of source files. Examples: http://example-bucket-****.cn-shanghai.aliyuncs.com/sample1-****.mp4 and http://example-bucket-****.cn-shanghai.aliyuncs.com/sample2-****.flv.
    urls = ["<your URL1>",
            "your URL2"]
    # Encode the urls and add metadata
    uploadUrls = []
    uploadMetadatas = []
    for url in urls:
        if sys.version_info[0] == 3:
            encodeUrl = urllib.parse.quote(url)
        else:
            encodeUrl = urllib.quote(url)
        uploadUrls.append(encodeUrl)
        uploadMetadatas.append({'SourceURL': encodeUrl, 'Title': 'Sample Title'})

    request.set_UploadURLs(','.join(uploadUrls))
    request.set_UploadMetadatas(json.dumps(uploadMetadatas))

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

try:
    clt = init_vod_client()
    uploadInfo = upload_media_by_url(clt)
    print(uploadInfo['UploadJobs'])
    print(json.dumps(uploadInfo, ensure_ascii=False, indent=4))

except Exception as e:
    print(e)
    print(traceback.format_exc())

Consultar informações sobre jobs de upload por URL

Chame a operação GetURLUploadInfos para consultar informações sobre jobs de upload baseados em URL.

Exemplo de código:

from aliyunsdkvod.request.v20170321 import GetURLUploadInfosRequest
import sys,urllib
def get_url_upload_infos(clt):
    request = GetURLUploadInfosRequest.GetURLUploadInfosRequest()
    # The URLs. Example: http://192.168.0.1/16/sample1-****.mp4 and http://192.168.0.1/16/sample2-****.flv.
    urls = ["<your URL1>",
            "<your URL2>"]

    # Encode URLs.
    uploadUrls = []
    for url in urls:
        if sys.version_info[0] == 3:
            encodeUrl = urllib.parse.quote(url)
        else:
            encodeUrl = urllib.quote(url)
        uploadUrls.append(encodeUrl)

    # The URLs from which you want to upload media files. Separate multiple URLs with commas (,).
    request.set_UploadURLs(','.join(uploadUrls))

    # The IDs of the URL-based upload jobs.
    #request.set_JobIds("jobId1,jobId2")

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

try:
    clt = init_vod_client()
    res = get_url_upload_infos(clt)
    print(res['NonExists'])
    print(json.dumps(res, ensure_ascii=False, indent=4))

except Exception as e:
    print(e)
    print(traceback.format_exc())

Registrar ativos de mídia

Chame a operação RegisterMedia para registrar ativos de mídia.

Alibaba Cloud OpenAPI Explorer: RegisterMedia.

Exemplo de código:

from aliyunsdkvod.request.v20170321 import RegisterMediaRequest
def register_media(clt):
    request = RegisterMediaRequest.RegisterMediaRequest()
    metadatas = []
    # The URL of the media file. Example: https://192.168.0.1/16/vod_sample_****.mp4.
    metadatas.append({'FileURL':"<your File URL>", "Title":"RegisterMedia sample Title"})
    request.set_RegisterMetadatas(json.dumps(metadatas))
    request.set_accept_format('JSON')
    return json.loads(clt.do_action_with_exception(request))

try:
    clt = init_vod_client()
    registerInfo = register_media(clt)
    print(registerInfo['RegisteredMediaList'])
    print(registerInfo['FailedFileURLs'])
    print(json.dumps(registerInfo, ensure_ascii=False, indent=4))

except Exception as e:
    print(e)
    print(traceback.format_exc())