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 envio
O SDK de upload para C ou C++ segue o processo geral dos SDKs do ApsaraVideo VOD. Para mais informações, consulte Upload process. O conteúdo a seguir descreve o processo básico de uso do SDK de upload do servidor para C ou C++:
Realize as configurações conforme descrito na seção Prerequisites.
Integre o SDK de upload do servidor para C ou C++. Para mais informações, consulte Integrate the server upload SDK for C or C++.
-
Configure as informações de envio para implementar a lógica de upload.
Para obter mais informações sobre como enviar arquivos de áudio ou vídeo, consulte Scenario 1: Upload audio and video files.
Para saber mais sobre o envio de imagens, consulte Scenario 2: Upload images.
Para detalhes sobre o envio de ativos de mídia auxiliares, consulte Scenario 3: Upload auxiliary media assets.
Pré-requisitos
O ApsaraVideo VOD está ativado. Para mais informações, consulte Activate ApsaraVideo VOD.
Defina as configurações de sistema necessárias para o upload, incluindo o caminho de armazenamento na região especificada e as configurações de callback. Para mais informações, consulte Manage storage buckets e Configure callbacks.
Crie um usuário RAM para acessar o ApsaraVideo VOD. Para evitar riscos de segurança causados pelo vazamento do par de AccessKey da sua conta Alibaba Cloud, recomendamos criar um usuário RAM e conceder a ele as permissões necessárias para acessar o ApsaraVideo VOD. Em seguida, use o par de AccessKey do usuário RAM para acessar o serviço. Para mais informações, consulte Create a RAM user and grant permissions.
-
Configure as variáveis de ambiente ALIBABA_CLOUD_ACCESS_KEY_ID e ALIBABA_CLOUD_ACCESS_KEY_SECRET. Para mais informações, consulte Configure environment variables on Linux, macOS, and Windows.
ImportanteO par de AccessKey de uma conta Alibaba Cloud tem permissões em todas as operações de API. Use o par de AccessKey de um usuário RAM para chamar operações de API ou realizar operações e manutenção (O&M) de rotina.
Não codifique seu AccessKey ID e AccessKey secret diretamente no código do projeto. Em caso de vazamento, todos os recursos da sua conta serão comprometidos.
Opcional. Crie uma função para o usuário RAM e conceda a ela as permissões necessárias para acessar o ApsaraVideo VOD, caso deseje acessar o serviço por meio do Security Token Service (STS). Para mais informações, consulte Obtain an STS token.
Integrar o SDK de upload do servidor para C ou C++
O SDK de upload do servidor para C ou C++ é compatível apenas com o sistema operacional Linux.
Este exemplo utiliza o SDK V1.0.0. Use outras versões de acordo com os requisitos do seu negócio.
Para mais informações sobre os diretórios do SDK de upload do servidor para C ou C++ e os códigos de exemplo, consulte Directories.
Este tópico descreve 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, seus usos e exemplos de instalação.
Pacote de software | Descrição | Instalação usando YUM | Instalação usando pacotes baixados da Internet |
CMake | Um compilador de terceiros. |
|
|
libcurl | Resolve problemas de conexão de rede. |
|
|
libuuid | Gera UUIDs. | Código de exemplo: | N/D |
apr | N/D | Código de exemplo: |
|
apr-util | Gerencia o uso de memória e questões de 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/D | Para mais informações sobre o link de download e o procedimento de instalação, consulte Installation (C SDK). Importante Se algumas dependências do OSS já estiverem instaladas, não será necessário instalá-las novamente. |
Upload SDK for C or C++ | Envia arquivos de mídia. | N/D |
|
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 | A classe de solicitação para envio de vídeo. Para mais informações sobre os parâmetros, consulte CreateUploadVideo. |
CreateUploadImageRequest | A classe de solicitação para envio de imagem. Para mais informações sobre os parâmetros, consulte CreateUploadImage. |
CreateUploadAttachedMediaRequest | A classe de solicitação para envio de ativos de mídia auxiliares. Para mais informações sobre os parâmetros, consulte CreateUploadAttachedMedia. |
UploadOptions | A estrutura de parâmetros de upload. Os itens a seguir descrevem os parâmetros.
|
uploadLocalVideo | A operação de API usada para enviar vídeos locais. |
uploadWebVideo | A operação de API usada para enviar vídeos online. |
uploadLocalImage | A operação de API usada para enviar imagens locais. |
uploadWebImage | A operação de API usada para enviar imagens online. |
uploadLocalAttachedMedia | A operação de API usada para enviar ativos de mídia auxiliares locais. |
uploadWebAttachedMedia | A operação de API usada para enviar ativos de mídia auxiliares online. |
uploadLocalM3u8 | A operação de API usada para enviar vídeos M3U8 locais. |
uploadWebM3u8 | A 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 |
O código de exemplo para envio de vídeos. |
|
uploadImage.cpp |
O código de exemplo para envio de imagens. |
|
uploadAttachedMedia.cpp |
O código de exemplo para envio de ativos de mídia auxiliares. |
Cenário 1: Envio 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 meio dos seguintes métodos:
Use o envio multipart para enviar um arquivo local. É possível enviar um arquivo de até 48,8 TB. O envio 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. É possível enviar um arquivo de até 48,8 TB. Antes de enviar arquivos online, baixe-os para um disco local. Certifique-se de que o disco local tenha espaço suficiente. Para mais informações, consulte a função testUploadWebVideo no código de exemplo a seguir.