Este tópico descreve como usar o SDK de upload do servidor para C ou C++ para enviar arquivos de mídia ao ApsaraVideo VOD.
Processo de upload
O SDK de upload para C ou C++ segue o processo geral dos SDKs do ApsaraVideo VOD. Para obter mais informações, consulte Processo de upload. O conteúdo a seguir descreve o fluxo básico de uso do SDK de upload do servidor para C ou C++:
Conclua as configurações conforme descrito na seção Pré-requisitos.
Integre o SDK de upload do servidor para C ou C++. Para mais detalhes, consulte Integrar o SDK de upload do servidor para C ou C++.
-
Configure as informações de upload para implementar a lógica de envio.
Para enviar arquivos de áudio ou vídeo, consulte Cenário 1: Upload de arquivos de áudio e vídeo.
Para enviar imagens, consulte Cenário 2: Upload de imagens.
Para enviar ativos de mídia auxiliares, consulte Cenário 3: Upload de ativos de mídia auxiliares.
Pré-requisitos
O ApsaraVideo VOD está ativado. Para mais informações, consulte Ativar o ApsaraVideo VOD.
As configurações de sistema necessárias para o upload estão concluídas, incluindo o caminho de armazenamento na região especificada e as definições de callback. Consulte Gerenciar buckets de armazenamento e Configurar callbacks.
Crie um usuário RAM para acessar o ApsaraVideo VOD. Para evitar riscos de segurança causados pelo vazamento do par AccessKey da sua conta Alibaba Cloud, recomendamos criar um usuário RAM e conceder a ele as permissões necessárias para acesso ao ApsaraVideo VOD. Em seguida, use o par AccessKey desse usuário RAM para acessar o serviço. Para mais detalhes, consulte Criar um usuário RAM e conceder permissões.
-
Configure as variáveis de ambiente ALIBABA_CLOUD_ACCESS_KEY_ID e ALIBABA_CLOUD_ACCESS_KEY_SECRET. Para mais informações, consulte Configurar variáveis de ambiente no Linux, macOS e Windows.
ImportanteO par AccessKey de uma conta Alibaba Cloud tem permissões em todas as operações de API. Use o par AccessKey de um usuário RAM para chamar operações de API ou executar tarefas rotineiras de O&M.
Não codifique rigidamente (hard-code) seu AccessKey ID e AccessKey secret no código do projeto. Em caso de vazamento, todos os recursos da sua conta ficarão comprometidos.
(Opcional) Caso deseje acessar o ApsaraVideo VOD por meio do Security Token Service (STS), crie uma função para o usuário RAM e conceda a ela as permissões necessárias. Para mais informações, consulte Obter um token STS.
Integrar o SDK de upload do servidor para C ou C++
O SDK de upload do servidor para C ou C++ pode ser instalado apenas no sistema operacional Linux.
Este exemplo usa a versão V1.0.0 do SDK. Você pode usar outras versões conforme as necessidades do seu negócio.
Para obter detalhes sobre os diretórios do SDK de upload do servidor para C ou C++ e códigos de exemplo, consulte Diretórios.
Este tópico explica como instalar o SDK de upload do servidor para C ou C++ como um usuário não root e fornece exemplos de comandos de instalação.
A tabela a seguir descreve os pacotes de software necessários, suas finalidades e exemplos de instalação.
Pacote de software | Descrição | Instalação via YUM | Instalação via pacotes baixados da Internet |
CMake | Compilador de terceiros. |
|
|
libcurl | Resolve problemas de conexão de rede. |
|
|
libuuid | Gera UUIDs. | Código de exemplo: | N/A |
apr | N/A | Código de exemplo: |
|
apr-util | Gerencia o uso de memória e questões multiplataforma. | Código de exemplo: |
|
minixml | Analisa dados retornados no formato XML. | Código de exemplo: |
|
jsoncpp | Analisa dados retornados no formato JSON. | Código de exemplo: |
|
OSS SDK | Antes de usar o SDK de upload do servidor para C ou C++, baixe e instale o SDK do Object Storage Service (OSS) para C ou C++. | N/A | Para obter o link de download e o procedimento de instalação, consulte Instalação (C SDK). Importante Se algumas dependências do OSS já estiverem instaladas, não será necessário reinstalá-las. |
Upload SDK para C ou C++ | Envia arquivos de mídia. | N/A |
|
Diretórios
/VodSDK-C_1.0.0.gz/VodSDK-C_1.0.0/aliyun-c-sdk-vod/src/upload.h
Diretório | Descrição |
CreateUploadVideoRequest | Classe de solicitação para upload de vídeo. Para obter detalhes sobre os parâmetros, consulte CreateUploadVideo. |
CreateUploadImageRequest | Classe de solicitação para upload de imagem. Para obter detalhes sobre os parâmetros, consulte CreateUploadImage. |
CreateUploadAttachedMediaRequest | Classe de solicitação para upload de ativos de mídia auxiliares. Para obter detalhes sobre os parâmetros, consulte CreateUploadAttachedMedia. |
UploadOptions | Estrutura de parâmetros de upload. Os itens a seguir descrevem os parâmetros.
|
uploadLocalVideo | Operação de API usada para enviar vídeos locais. |
uploadWebVideo | Operação de API usada para enviar vídeos online. |
uploadLocalImage | Operação de API usada para enviar imagens locais. |
uploadWebImage | Operação de API usada para enviar imagens online. |
uploadLocalAttachedMedia | Operação de API usada para enviar ativos de mídia auxiliares locais. |
uploadWebAttachedMedia | Operação de API usada para enviar ativos de mídia auxiliares online. |
uploadLocalM3u8 | Operação de API usada para enviar vídeos M3U8 locais. |
uploadWebM3u8 | Operação de API usada para enviar vídeos M3U8 online. |
/VodSDK-C_1.0.0.gz/VodSDK-C_1.0.0/aliyun-c-sdk-vod/samples
|
Diretório |
Descrição |
|
uploadVideo.cpp |
Código de exemplo para upload de vídeos. |
|
uploadImage.cpp |
Código de exemplo para upload de imagens. |
|
uploadAttachedMedia.cpp |
Código de exemplo para upload de ativos de mídia auxiliares. |
Cenário 1: Upload de arquivos de áudio e vídeo
Arquivos comuns de áudio e vídeo
O ApsaraVideo VOD permite o envio de arquivos de áudio ou vídeo por um dos seguintes métodos:
Use o upload multipart para enviar um arquivo local. É possível enviar arquivos de até 48,8 TB. O upload retomável não é suportado. Para mais informações, consulte a função testUploadLocalVideo no código de exemplo.
Use a URL do arquivo para enviar um arquivo online. O tamanho máximo suportado é de 48,8 TB. Antes de enviar arquivos online, baixe-os para um disco local e certifique-se de que há espaço suficiente disponível. Para mais detalhes, consulte a função testUploadWebVideo no código de exemplo a seguir.