Todos os produtos
Search
Central de documentação

Object Storage Service:Video transcoding

Última atualização: Aug 25, 2026

Use a transcodificação de vídeo para alterar codecs, reduzir resolução e taxa de bits, converter formatos de contêiner e ajustar parâmetros de vídeo conforme suas necessidades.

Descrição do recurso

A transcodificação de vídeo converte um fluxo de vídeo comprimido e codificado em outro fluxo. Esse processo altera parâmetros como formato de vídeo, formato de contêiner, resolução, taxa de quadros e taxa de bits para adaptar o vídeo à reprodução em diferentes dispositivos e plataformas. Além disso, reduz o tamanho do arquivo para otimizar a eficiência da transmissão.

image

Casos de uso

  • Compatibilidade com múltiplos dispositivos: Para garantir reprodução fluida em celulares, tablets, computadores e smart TVs, use a transcodificação de vídeo para converter vídeos em formatos específicos para cada dispositivo.

  • Reprodução de streaming: Serviços de streaming precisam transcodificar vídeos em vários formatos e taxas de bits. Isso permite ajustes dinâmicos com base nas condições de rede do usuário e melhora a experiência de visualização.

  • Compressão de vídeo: Transcodifique um vídeo para reduzir seu tamanho sem afetar significativamente a qualidade. Isso facilita o armazenamento e a transmissão eficientes, especialmente quando a largura de banda da rede é limitada.

Primeiros passos

Pré-requisitos

  • Intelligent Media Management (IMM) is activated.

  • Você created a bucket e uploaded the files to process no bucket.

  • Crie e vincule um projeto IMM. Você pode bind the project in the OSS console ou by calling an API. O projeto IMM deve estar na mesma região do bucket.

  • Verifique se você possui the required permissions for the operations. Contas Alibaba Cloud têm todas as permissões por padrão. Usuários e funções RAM exigem autorização por meio de uma RAM policy ou bucket policy.

    Permissions

    • Conceda ao usuário permissões para acessar recursos relacionados.

      • Conceda ao usuário permissões para usar o OSS no processamento de dados.

        API

        Action

        Description

        GetObject

        oss:GetObject

        Baixa um objeto.

        oss:GetObjectVersion

        Necessária para baixar uma versão específica do objeto usando o parâmetro versionId.

        kms:Decrypt

        Necessária se os metadados do objeto contiverem X-Oss-Server-Side-Encryption: KMS.

        None

        oss:ProcessImm

        Permite usar o IMM para processar dados por meio do OSS.

        PostProcessTask

        oss:PostProcessTask

        Permite usar recursos de processamento de dados por meio de requisições POST, como processamento assíncrono (x-oss-async-process).

      • Conceda ao usuário permissões para usar o recurso de transcodificação de mídia do IMM.

        API

        Action

        Description

        CreateMediaConvertTask

        imm:CreateMediaConvertTask

        Permite usar o IMM para transcodificação de mídia.

    • Conceda à função usada pelo serviço IMM (por padrão, AliyunIMMDefaultRole com o ARN de recurso acs:ram:*:<account-id>:role/aliyunimmdefaultrole) permissões para acessar recursos relacionados ao processamento de dados.

      API

      Action

      Description

      None

      ram:PassRole

      Permite que um usuário passe uma função para outro serviço e habilite o acesso a recursos entre serviços.

      GetObject

      oss:GetObject

      Baixa um objeto.

      oss:GetObjectVersion

      Necessária para baixar uma versão específica do objeto usando o parâmetro versionId.

      kms:Decrypt

      Necessária se os metadados do objeto contiverem X-Oss-Server-Side-Encryption: KMS.

      HeadObject

      oss:GetObject

      Obtém os metadados de um objeto.

      PutObject

      oss:PutObject

      Faz upload de um objeto.

      oss:PutObject

      Necessária para fazer upload de objetos em um bucket com versionamento ativado.

      kms:GenerateDataKey

      Necessárias para fazer upload de um objeto com criptografia no lado do servidor KMS.

      kms:Decrypt

Usar o SDK

A transcodificação de vídeo usa o recurso de processamento assíncrono dos SDKs do OSS para Java, Python e Go.

Java

É necessário o OSS SDK for Java 3.17.4 ou posterior.

import com.aliyun.oss.ClientBuilderConfiguration;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.common.auth.CredentialsProviderFactory;
import com.aliyun.oss.common.auth.EnvironmentVariableCredentialsProvider;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.model.AsyncProcessObjectRequest;
import com.aliyun.oss.model.AsyncProcessObjectResult;
import com.aliyuncs.exceptions.ClientException;

import java.util.Base64;

public class Demo {
    public static void main(String[] args) throws ClientException {
        // Set the endpoint. For example, if your bucket is in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com.
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // Specify the region ID, for example, cn-hangzhou.
        String region = "cn-hangzhou";
        // Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // Specify the bucket name, for example, examplebucket.
        String bucketName = "examplebucket";
        // Specify the name of the output video file.
        String targetKey = "dest.avi";
        // Specify the name of the source video file.
        String sourceKey = "src.mp4";

        // Create an OSSClient instance.
        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
        OSS ossClient = OSSClientBuilder.create()
                .endpoint(endpoint)
                .credentialsProvider(credentialsProvider)
                .clientConfiguration(clientBuilderConfiguration)
                .region(region)
                .build();

        try {
            // Build the video processing style string that includes video transcoding parameters.
            String style = String.format("video/convert,f_avi,vcodec_h265,s_1920x1080,vb_2000000,fps_30,acodec_aac,ab_100000,sn_1");
            // Build the asynchronous processing instruction.
            String bucketEncoded = Base64.getUrlEncoder().withoutPadding().encodeToString(bucketName.getBytes());
            String targetEncoded = Base64.getUrlEncoder().withoutPadding().encodeToString(targetKey.getBytes());
            String process = String.format("%s|sys/saveas,b_%s,o_%s", style, bucketEncoded, targetEncoded);
            // Create an AsyncProcessObjectRequest object.
            AsyncProcessObjectRequest request = new AsyncProcessObjectRequest(bucketName, sourceKey, process);
            // Start the asynchronous processing task.
            AsyncProcessObjectResult response = ossClient.asyncProcessObject(request);
            System.out.println("EventId: " + response.getEventId());
            System.out.println("RequestId: " + response.getRequestId());
            System.out.println("TaskId: " + response.getTaskId());

        } finally {
            // Shut down the OSSClient instance to release resources.
            ossClient.shutdown();
        }
    }
}

Python

É necessário o OSS SDK for Python 2.18.4 ou posterior.

# -*- coding: utf-8 -*-
import base64
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

def main():
    # Set the endpoint. For example, if your bucket is in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com.
    endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'
    # Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
    auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

    # Specify the bucket name.
    bucket_name = 'examplebucket'
    # Specify the region ID, for example, cn-hangzhou.
    region = 'cn-hangzhou'
    # Create a Bucket object.
    bucket = oss2.Bucket(auth, endpoint, bucket_name, region=region)

    # Specify the name of the source video file.
    source_key = 'src.mp4'
    # Specify the name of the output video file.
    target_key = 'dest.avi'
    # Build the video processing style string that includes video transcoding parameters.
    style = 'video/convert,f_avi,vcodec_h265,s_1920x1080,vb_2000000,fps_30,acodec_aac,ab_100000,sn_1'
    # Build the asynchronous processing instruction.
    process = "{0}|sys/saveas,b_{1},o_{2}".format(style,
                                            oss2.compat.to_string(base64.urlsafe_b64encode(oss2.compat.to_bytes(bucket_name))).replace('=', ''),
                                            oss2.compat.to_string(base64.urlsafe_b64encode(oss2.compat.to_bytes(target_key))).replace('=', ''))

    # Call the asynchronous media processing API.
    try:
        # Start the asynchronous processing task.
        result = bucket.async_process_object(source_key, process)
        print(f"EventId: {result.event_id}")
        print(f"RequestId: {result.request_id}")
        print(f"TaskId: {result.task_id}")
    except Exception as e:
        print(f"Error: {e}")

if __name__ == "__main__":
    main()

Go

É necessário o OSS SDK for Go 3.0.2 ou posterior.

package main

import (
	"encoding/base64"
	"fmt"
	"os"
	"strings"

	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
	// Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// Create an OSSClient instance.
	// Set the endpoint. For example, if your bucket is in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. For other regions, specify the actual endpoint.
	client, err := oss.New("https://oss-cn-hangzhou.aliyuncs.com", "", "", oss.SetCredentialsProvider(&provider), oss.AuthVersion(oss.AuthV4), oss.Region("cn-hangzhou"))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// Specify the bucket name, for example, examplebucket.
	bucketName := "examplebucket"
	bucket, err := client.Bucket(bucketName)
	// Specify the name of the output video file.
	targetObject := "dest.avi"
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// Specify the name of the source video file.
	sourceObject := "src.mp4"

	// Build the video processing style string that includes video transcoding parameters.
	style := "video/convert,f_avi,vcodec_h265,s_1920x1080,vb_2000000,fps_30,acodec_aac,ab_100000,sn_1"
	// Build the asynchronous processing instruction.
	process := fmt.Sprintf("%s|sys/saveas,b_%v,o_%v", style, strings.TrimRight(base64.URLEncoding.EncodeToString([]byte(bucketName)), "="), strings.TrimRight(base64.URLEncoding.EncodeToString([]byte(targetObject)), "="))
	fmt.Printf("%#v\n", process)
	// Start the asynchronous processing task.
	rs, err := bucket.AsyncProcessObject(sourceObject, process)
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	fmt.Printf("EventId:%s\n", rs.EventId)
	fmt.Printf("RequestId:%s\n", rs.RequestId)
	fmt.Printf("TaskId:%s\n", rs.TaskId)
}

Parâmetros

Operação: video/convert

Esta tabela descreve os parâmetros desta operação.

Parameter

Type

Required

Description

ss

int

No

Tempo inicial da transcodificação, em milissegundos. Valores válidos:

  • 0 (padrão): Inicia a transcodificação do começo do vídeo.

  • Valor maior que 0: Inicia a transcodificação no milissegundo especificado por ss.

t

int

No

Duração da transcodificação, em milissegundos. Valores válidos:

  • 0 (padrão): Transcodifica até o final do vídeo.

  • Valor maior que 0: Transcodifica durante t milissegundos.

f

string

Yes

Tipo de contêiner de mídia. Valores válidos:

  • Contêineres de áudio/vídeo: mp4, mkv, mov, asf, avi, mxf, ts, flv e webm

  • Contêineres apenas de áudio: mp3, aac, flac, oga, ac3, opus e amr

vn

int

No

Define se o fluxo de vídeo deve ser desativado. Valores válidos:

  • 0 (padrão): Mantém o fluxo de vídeo.

  • 1: Desativa o fluxo de vídeo. O arquivo de saída não conterá fluxo de vídeo.

vcodec

string

No

Codec de vídeo. Valores válidos:

  • copy (padrão): Copia o fluxo de vídeo de origem sem recodificação.

  • h264: Codifica o vídeo com o codec H.264.

  • h265: Codifica o vídeo com o codec H.265.

  • vp9: Codifica o vídeo com o codec VP9.

fps

float

No

Taxa de quadros do vídeo. O valor deve estar entre 0 e 240.

fpsopt

int

No

Define como aplicar a taxa de quadros do vídeo. Valores válidos:

  • 0: Sempre usa a taxa de quadros de destino.

  • 1: Usa a taxa de quadros do vídeo de origem se for menor que a taxa de destino especificada por fps.

  • 2: A transcodificação falha se a taxa de quadros do vídeo de origem for menor que a taxa de destino especificada por fps.

pixfmt

string

No

Formato de pixel. O padrão é o formato de pixel do vídeo de origem. Valores válidos:

  • yuv420p

  • yuva420p

  • yuv420p10le

  • yuv422p

  • yuv422p10le

  • yuv444p

  • yuv444p10le

s

string

No

Resolução de destino.

  • Formato: w x h (largura x altura).

  • Largura e altura devem ser múltiplos de 2 e estar entre 64 e 4.096. Exemplo: 4096x4096 e 64x64.

sopt

int

No

Define como aplicar a resolução de destino. Valores válidos:

  • 0: Sempre usa a resolução de destino.

  • 1: Usa a resolução de origem se for menor que a resolução de destino especificada por s.

  • 2: A transcodificação falha se a resolução de origem for menor que a resolução de destino especificada por s.

scaletype

string

No

Modo de redimensionamento. Valores válidos:

  • crop: Redimensiona o vídeo proporcionalmente para preencher as dimensões especificadas e corta o excesso a partir do centro.

  • stretch (padrão): Estica o vídeo para as dimensões exatas especificadas. Pode alterar a proporção da tela.

  • fill: Redimensiona o vídeo proporcionalmente para caber nas dimensões especificadas e preenche o espaço restante com barras pretas.

  • fit: Redimensiona o vídeo proporcionalmente para caber nas dimensões especificadas sem adicionar barras.

arotate

int

No

Ativa ou desativa a orientação adaptativa da resolução. Valores válidos:

  • 0 (padrão): Desativado.

  • 1: Ativado.

g

int

No

Intervalo de quadros-chave. O valor deve estar entre 1 e 100.000.

vb

int

No

Taxa de bits de vídeo de destino, em bits por segundo (bps). O valor deve estar entre 10.000 e 100.000.000.

vbopt

int

No

Define como aplicar a taxa de bits de vídeo de destino. Valores válidos:

  • 0: Sempre usa a taxa de bits de vídeo de destino.

  • 1: Usa a taxa de bits do vídeo de origem se for menor que a taxa de destino especificada por vb.

  • 2: A transcodificação falha se a taxa de bits do vídeo de origem for menor que a taxa de destino especificada por vb.

crf

float

No

Fator de taxa constante (CRF). O valor deve estar entre 0 e 51.

maxrate

int

No

Taxa de bits máxima, em bits por segundo (bps). O valor deve estar entre 10.000 e 100.000.000.

bufsize

int

No

Tamanho do buffer, em bits. O valor deve estar entre 10.000 e 200.000.000.

an

int

No

Define se o fluxo de áudio deve ser desativado. Valores válidos:

  • 0 (padrão): Mantém o fluxo de áudio.

  • 1: Desativa o fluxo de áudio. O arquivo de saída não conterá fluxo de áudio.

acodec

string

No

Codec de áudio. Valores válidos:

  • copy (padrão): Copia o fluxo de áudio de origem sem recodificação.

  • mp3: Codifica o áudio com o codec MP3.

  • aac: Codifica o áudio com o codec AAC.

  • flac: Codifica o áudio com o codec FLAC.

  • vorbis: Codifica o áudio com o codec Vorbis.

  • ac3: Codifica o áudio com o codec AC3.

  • opus: Codifica o áudio com o codec Opus.

  • amr: Codifica o áudio com o codec AMR.

ar

int

No

Taxa de amostragem de áudio. Valores válidos:

  • 8000

  • 11025

  • 12000

  • 16000

  • 22050

  • 24000

  • 32000

  • 44100

  • 48000

  • 88200

  • 96000

ac

int

No

Número de canais de áudio. O padrão é o número de canais do áudio de origem. O valor deve estar entre 1 e 8.

aq

int

No

Qualidade de compressão de áudio. Mutuamente exclusivo com o parâmetro ab. Intervalo de valores: 0 a 100.

ab

int

No

Taxa de bits de áudio. Mutuamente exclusivo com o parâmetro aq. Unidade: bits por segundo (bps). Intervalo de valores: 1000 a 10000000.

abopt

int

No

Define como aplicar a taxa de bits de áudio de destino. Valores válidos:

  • 0 (padrão): Sempre usa a taxa de bits de áudio de destino.

  • 1: Usa a taxa de bits do áudio de origem se for menor que a taxa de destino especificada por ab.

  • 2: A transcodificação falha se a taxa de bits do áudio de origem for menor que a taxa de destino especificada por ab.

sn

int

No

Define se as legendas devem ser desativadas. Valores válidos:

  • 0 (padrão): Mantém as legendas.

  • 1: Desativa as legendas. O arquivo de saída não conterá legendas.

adepth

int

No

Profundidade de bits da amostragem de áudio. Valores válidos: 16 e 24.

Nota

Este parâmetro é válido apenas quando acodec está definido como flac.

segment

string

No

Configurações para segmentação de mídia. Por padrão, o vídeo não é segmentado.

f

string

No

Formato de segmentação de mídia. Valores válidos:

  • hls

  • dash

Nó pai: segment

t

int

No

Duração do segmento, em milissegundos. O valor deve estar entre 0 e 3.600.000.

Nó pai: segment

A transcodificação de vídeo também suporta os parâmetros sys/saveas (Save As) e notify (message notification).

Referência da API

Para personalização avançada, envie requisições REST API diretamente. Calcule uma assinatura para o cabeçalho Authorization. Signature V4 (Recommended).

Converter AVI para MP4

Configuração da tarefa

  • Objeto de origem

    • Formato de vídeo: AVI

    • Nome do vídeo: example.avi

  • Método de processamento: transcodificação de vídeo

  • Objeto de destino

    • Informações do vídeo

      • Formato de vídeo: MP4

      • Nome do vídeo: outobjprefix.mp4

      • Formato do fluxo de vídeo: H.265

      • Resolução do vídeo: 1920x1080

      • Taxa de quadros do vídeo: 30 fps

      • Taxa de bits do vídeo: 2 Mbps

    • Informações do áudio

      • Formato do fluxo de áudio: AAC

      • Taxa de bits do áudio: 100 Kbps

      • Fluxo de legendas: desativado

    • Caminho de saída: oss://outbucket/outobjprefix.mp4

Exemplo de requisição

POST /example.avi?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: SignatureValue
 
// Transcode the example.avi object. The output is an MP4 file with an H.265 video stream (1920x1080, 30 fps, 2 Mbps) and an AAC audio stream (100 Kbps). Subtitles are disabled. The output is saved to oss://outbucket/outobjprefix.mp4.
x-oss-async-process=video/convert,f_mp4,vcodec_h265,s_1920x1080,vb_2000000,fps_30,acodec_aac,ab_100000,sn_1|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ

Converter AVI para TS

Configuração da tarefa

  • Objeto de origem

    • Formato de vídeo: AVI

    • Nome do vídeo: example.avi

  • Método de processamento

    • Duração da transcodificação: Transcodifica um segmento de 60.000 milissegundos do arquivo de entrada, começando no milissegundo 10.000.

    • Método de segmentação: Cria segmentos HLS de 30 segundos.

    • Notificação de conclusão da transcodificação: Envia mensagens MNS.

  • Objeto de destino

    • Informações do vídeo

      • Formato de vídeo: TS

      • Formato do fluxo de vídeo: H.264

      • Taxa de bits do vídeo: 1 Mbps

    • Informações do áudio

      • Formato do fluxo de áudio: MP3

      • Taxa de bits do áudio: 100 Kbps

    • Caminho de saída

      • Objeto TS: oss://outbucket/outobjprefix-%d.ts

      • Objeto M3U8: oss://outbucket/outobjprefix.m3u8

Exemplo de requisição

POST /example.avi?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: SignatureValue
 
// Transcode the example.avi object.
x-oss-async-process=video/convert,ss_10000,t_60000,f_ts,vcodec_h264,vb_1000000,acodec_mp3,ab_100000/segment,f_hls,t_30000|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ/notify,topic_QXVkaW9Db252ZXJ0

Converter AVI para MP3

Configuração da tarefa

  • Objeto de origem

    • Nome do vídeo: example.avi

    • Formato de vídeo: AVI

  • Método de processamento: Extrair e transcodificar o fluxo de áudio.

  • Objeto de destino

    • Contêiner de áudio: MP3

    • Formato de codificação de áudio: MP3

    • Taxa de bits do áudio: 100 Kbps

    • Fluxo de vídeo: desativado

    • Fluxo de legendas: desativado

    • Caminho de saída: oss://outbucket/outobjprefix.mp3. Se um vídeo de origem tiver vários fluxos de áudio, apenas o primeiro será processado por padrão.

Exemplo de requisição

POST /example.avi?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: SignatureValue
 
// Extract and transcode the audio stream from the example.avi object.
x-oss-async-process=video/convert,f_mp3,acodec_mp3,ab_100000,vn_1,sn_1|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ

Faturamento

A transcodificação de vídeo gera itens faturáveis tanto para o OSS quanto para o IMM:

  • OSS: OSS Product Pricing.

    API

    Billable item

    Description

    GetObject

    Requisição GET

    As taxas de requisição são baseadas no número de requisições bem-sucedidas.

    Tráfego de saída pela internet

    Ao chamar a operação GetObject usando um endpoint público (por exemplo, oss-cn-hangzhou.aliyuncs.com) ou um endpoint de aceleração de transferência (por exemplo, oss-accelerate.aliyuncs.com), há cobrança de tráfego de saída pela internet com base na quantidade de dados transferidos.

    Recuperação de dados Infrequent Access

    Se os dados recuperados estiverem na classe de armazenamento Infrequent Access, há cobrança de recuperação de dados Infrequent Access com base na quantidade de dados recuperados.

    Recuperação de dados Archive-Direct Read

    Se você ler um objeto Archive de um bucket com Archive-Direct Read ativado, há cobrança de recuperação de dados Archive-Direct Read com base na quantidade de dados recuperados.

    Transfer Acceleration

    Se o Transfer Acceleration estiver ativado e você acessar seu bucket usando um endpoint de aceleração de transferência, há cobrança de Transfer Acceleration com base na quantidade de dados transferidos.

    PutObject

    Requisição PUT

    As taxas de requisição são baseadas no número de requisições bem-sucedidas.

    Taxa de armazenamento

    As taxas de armazenamento são baseadas na classe de armazenamento, tamanho e duração de armazenamento do objeto.

    HeadObject

    Requisição HEAD

    As taxas de requisição são baseadas no número de requisições bem-sucedidas.

  • IMM: IMM billable items.

    API

    Billable item

    Description

    CreateMediaConvertTask

    VideoCompress264LD

    Taxas de transcodificação H.264-LD. Calculadas com base na duração do vídeo em segundos.

    VideoCompress264SD

    Taxas de transcodificação H.264-SD. Calculadas com base na duração do vídeo em segundos.

    VideoCompress264HD

    Taxas de transcodificação H.264-HD. Calculadas com base na duração do vídeo em segundos.

    VideoCompress2642K

    Taxas de transcodificação H.264-2K. Calculadas com base na duração do vídeo em segundos.

    VideoCompress2644K

    Taxas de transcodificação H.264-4K. Calculadas com base na duração do vídeo em segundos.

    VideoCompress265LD

    Taxas de transcodificação H.265-LD. Calculadas com base na duração do vídeo em segundos.

    VideoCompress265SD

    Taxas de transcodificação H.265-SD. Calculadas com base na duração do vídeo em segundos.

    VideoCompress265HD

    Taxas de transcodificação H.265-HD. Calculadas com base na duração do vídeo em segundos.

    VideoCompress2652K

    Taxas de transcodificação H.265-2K. Calculadas com base na duração do vídeo em segundos.

    VideoCompress2654K

    Taxas de transcodificação H.265-4K. Calculadas com base na duração do vídeo em segundos.

    AudioCompress

    Taxas de transcodificação de áudio.

Limites

  • A transcodificação de vídeo restringe-se ao processamento assíncrono (x-oss-async-process).

  • Não há suporte para acesso anônimo.

  • Formatos de vídeo suportados: MP4, MPEG-TS, MKV, MOV, AVI, FLV, M3U8, WebM, WMV, RM e VOB.

FAQ

Erro "ResourceNotFound" durante a transcodificação de vídeo

O erro ResourceNotFound, The specified resource Attachment is not found. indica que nenhum bucket está vinculado ao seu projeto IMM. Vincule um bucket ao projeto IMM para resolver o problema. OSS data processing usage guide.

Salvar a saída no caminho de origem

Não. O caminho de entrada não pode ser prefixo do caminho de saída. Isso evita comportamentos inesperados, como loops de gatilho ou sobrescrita do objeto de origem.

Definir a profundidade de bits do áudio

Sim. Use o parâmetro pixfmt em uma requisição x-oss-process do OSS.

Obter resultados da tarefa com um ID de tarefa

Use a operação GetTask no IMM para recuperar os resultados da tarefa.

Pesquisar e excluir objetos por sufixo

Não. O OSS não suporta pesquisa de objetos por sufixo porque utiliza armazenamento não ordenado.

Backend não recebendo mensagens

Verifique se o tópico e a assinatura existem. Caso não existam ou tenham sido excluídos, reconfigure a assinatura e reinicie a transcodificação.

Usar um modelo para transcodificação automática

Sim. Configure gatilhos para processar automaticamente vídeos novos e existentes em um bucket. Tarefas, processamento em lote e gatilhos aceitam modelos definidos pelo sistema e personalizados. Batch processing. Triggers.

Cobranças por vídeos transcodificados

Sim. Vídeos transcodificados ocupam espaço de armazenamento, o que gera cobranças.

Salvar a saída no caminho de origem

Não defina o caminho de saída igual ao caminho de origem, pois isso sobrescreverá o objeto de origem.