Todos os produtos
Search
Central de documentação

Object Storage Service:Frame capture

Última atualização: Jul 03, 2026

A captura de quadros permite extrair frames de vídeo conforme suas necessidades e convertê-los para um formato específico. Este tópico descreve os parâmetros configuráveis desse recurso e apresenta exemplos práticos de execução.

Visão geral

A captura de quadros extrai frames específicos de um vídeo e os salva como imagens estáticas.

image

Casos de uso

  • Snapshot: Salva um momento específico do vídeo como imagem estática para criar pôsteres.

  • Análise: Extrai keyframes para processamento posterior, como reconhecimento facial e detecção de objetos.

  • Criação de miniaturas: Gera thumbnails ou imagens de capa para vídeos.

  • Resumo de reprodução: Selecione diversos momentos-chave para gerar um resumo conciso ou prévia do conteúdo.

  • Compartilhamento e registro de capturas de tela: Captura, salve ou compartilhe um frame específico durante a visualização do vídeo.

Uso

Pré-requisitos

Captura de quadros de vídeo

Use os SDKs do OSS apenas para Java, Python ou Go para executar tarefas de captura de quadros em modo assíncrono.

Importante

Ao especificar o caminho de saída para as capturas de quadros de vídeo, não inclua extensão de arquivo como ".jpg". Caso contrário, apenas o último snapshot será salvo. Sem extensão, o sistema adiciona automaticamente um número sequencial (por exemplo, "_0_1.jpg") a cada nome de arquivo de saída. Para personalizar os números sequenciais, configure-os usando variáveis de processamento de mídia.

Java

Para usar o OSS SDK for Java, certifique-se de que a versão do SDK seja V3.17.4 ou superior.

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 {
        // Specify the endpoint of the region where your bucket is located.
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // Specify the region ID. Example: cn-hangzhou.
        String region = "cn-hangzhou";
        // Obtain access credentials from environment variables. Before running this example, make sure the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // Specify the bucket name. Example: examplebucket.
        String bucketName = "examplebucket";
        // Specify the name of the output object. Using a filename with an extension saves only the last snapshot. See the note above.
        String targetKey = "dest.png";
        // Specify the name of the source video object.
        String sourceKey = "src.mp4";

        // Create an OSSClient instance.
        // Call shutdown() when the OSSClient instance is no longer needed to release its resources.
        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
        OSS ossClient = OSSClientBuilder.create()
                .endpoint(endpoint)
                .credentialsProvider(credentialsProvider)
                .clientConfiguration(clientBuilderConfiguration)
                .region(region)
                .build();

        try {
            // Build the style string for video processing and the parameters for video frame capture.
            String style = String.format("video/snapshots,f_jpg,w_100,h_100,scaletype_crop,inter_10000");
            // 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/notify,topic_QXVkaW9Db252ZXJ0", style, bucketEncoded, targetEncoded);
            // Create an AsyncProcessObjectRequest object.
            AsyncProcessObjectRequest request = new AsyncProcessObjectRequest(bucketName, sourceKey, process);
            // Execute 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.
            ossClient.shutdown();
        }
    }
}

Python

Para usar o OSS SDK for Python, certifique-se de que a versão do SDK seja V2.18.4 ou superior.

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

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

    # Specify the name of the bucket. Example: examplebucket. 
    bucket = oss2.Bucket(auth, endpoint, 'examplebucket', region=region)

    # Specify the name of the video. 
    source_key = 'src.mp4'

    # Specify the name of the captured frame. 
    target_key = 'dest.png'

    # Specify frame capture parameters. 
    animation_style = 'video/snapshots,f_jpg,w_100,h_100,scaletype_crop,inter_10000'

    # Create a processing instruction, in which the storage path, the Base64-encoded bucket name, and the captured frame names are included. 
    bucket_name_encoded = base64.urlsafe_b64encode('examplebucket'.encode()).decode().rstrip('=')
    target_key_encoded = base64.urlsafe_b64encode(target_key.encode()).decode().rstrip('=')
    process = f"{animation_style}|sys/saveas,b_{bucket_name_encoded},o_{target_key_encoded}/notify,topic_QXVkaW9Db252ZXJ0"

    try:
        # Run 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

Para usar o OSS SDK for Go, certifique-se de que a versão do SDK seja V3.0.2 ou superior.

package main

import (
    "encoding/base64"
    "fmt"
    "os"
    "github.com/aliyun/aliyun-oss-go-sdk/oss"
    "log"
)

func main() {
    // Obtain temporary access credentials from the environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured. 
    provider, err := oss.NewEnvironmentVariableCredentialsProvider()
    if err != nil {
    fmt.Println("Error:", err)
    os.Exit(-1)
    }
    // Create an OSSClient instance. 
    // Specify the endpoint of the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. Specify your actual endpoint. 
    // Specify the ID of the Alibaba Cloud region in which the bucket is located. Example: cn-hangzhou. 
    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 name of the bucket. Example: examplebucket. 
    bucketName := "examplebucket"

    bucket, err := client.Bucket(bucketName)
    if err != nil {
    fmt.Println("Error:", err)
    os.Exit(-1)
    }

    // Specify the name of the source video. 
    sourceKey := "src.mp4"
    // Specify the name of the captured frame. 
    targetKey := "dest.png"

    // Specify frame capture parameters. 
    animationStyle := "video/snapshots,f_jpg,w_100,h_100,scaletype_crop,inter_10000"

    // Create a processing instruction, in which the storage path, the Base64-encoded bucket name, and the captured frame names are included. 
    bucketNameEncoded := base64.URLEncoding.EncodeToString([]byte(bucketName))
    targetKeyEncoded := base64.URLEncoding.EncodeToString([]byte(targetKey))
    process := fmt.Sprintf("%s|sys/saveas,b_%v,o_%v/notify,topic_QXVkaW9Db252ZXJ0", animationStyle, bucketNameEncoded, targetKeyEncoded)

    // Execute the asynchronous processing tasks. 
    result, err := bucket.AsyncProcessObject(sourceKey, process)
    if err != nil {
    log.Fatalf("Failed to async process object: %s", err)
    }

    fmt.Printf("EventId: %s\n", result.EventId)
    fmt.Printf("RequestId: %s\n", result.RequestId)
    fmt.Printf("TaskId: %s\n", result.TaskId)
}

Parâmetros

Ação: video/snapshots

A tabela a seguir descreve os parâmetros configuráveis na captura de quadros.

Parâmetro

Tipo

Obrigatório

Descrição

ss

int

Não

O ponto no tempo do vídeo onde a captura de quadros começa. Unidade: milissegundos. Valores válidos:

  • 0 (padrão): A captura começa no início do vídeo.

  • Inteiro maior que 0: A captura inicia no número especificado de milissegundos do vídeo.

f

string

Sim

Formato do valor de retorno. Valores válidos:

  • jpg

  • png

m

string

Não

Modo de captura de quadros. O padrão é inter. Valores válidos:

  • inter: modo de intervalo fixo. O parâmetro inter define o intervalo de captura e o parâmetro num define a quantidade de quadros.

  • key: modo de quadro-chave. Captura apenas os quadros IDR do vídeo de origem. O parâmetro num define a quantidade de quadros. Este modo ignora o parâmetro inter.

  • avg: modo médio. Captura uma quantidade de quadros, especificada por num, em intervalos de tempo médios. Este modo ignora o parâmetro inter.

  • dhash: modo dhash. Captura quadros em um intervalo fixo e seleciona aqueles com alterações mais significativas que excedem um limiar especificado. O parâmetro inter define o intervalo de captura, num define a quantidade de quadros e thr define o limiar.

thr

int

Não

Limiar para captura de quadros no modo dhash. Um valor maior resulta em menos quadros capturados. O valor deve ser um inteiro de 0 a 100. O padrão é 0.

Nota

Este parâmetro é válido apenas quando m está definido como dhash.

O modo dhash é sensível a este limiar. Recomendamos definir este parâmetro com um valor não superior a 25 e ajustá-lo conforme seu caso de uso específico.

num

int

Não

Quantidade de quadros a capturar. Um valor igual a 0 (padrão) significa que não há limite de quadros. O comportamento do valor padrão varia conforme o modo de captura:

  • Modo de intervalo fixo: Captura quadros até o final do vídeo.

  • Modo de quadro-chave: Captura quadros até o final do vídeo.

  • Modo médio: Este parâmetro não pode ser definido como 0.

  • Modo dhash: Captura todos os quadros em que a alteração de conteúdo excede o limiar thr.

Importante

A quantidade real de quadros capturados pode ser menor que o valor especificado devido à duração do vídeo e a outros parâmetros de captura.

inter

int

Não

Intervalo entre as capturas de quadros, em milissegundos. Um valor igual a 0 (padrão) captura todos os quadros do vídeo.

Nota

Se o valor deste parâmetro for menor que o intervalo de quadros do vídeo (inverso da taxa de quadros), os quadros serão capturados com base no intervalo de quadros do próprio vídeo.

w

int

Não

Largura do quadro capturado. Unidade: pixel. Valores válidos: 32 a 4096. Por padrão, a largura do quadro é igual à largura do vídeo.

h

int

Não

Altura do quadro capturado. Unidade: pixel. Valores válidos: 32 a 4096. Por padrão, a altura do quadro é igual à altura do vídeo.

pw

int

Não

Porcentagem da largura do quadro capturado em relação à largura do vídeo. Valores válidos: (0, 200]. Valor padrão: 100.

Nota

Se você especificar tanto w quanto pw, o sistema ignorará pw.

ph

int

Não

Porcentagem da altura do quadro capturado em relação à altura do vídeo. Valores válidos: (0, 200]. Valor padrão: 100.

Nota

Se você especificar tanto h quanto ph, o sistema ignorará ph.

scaletype

string

Não

Modo de redimensionamento. Valores válidos:

  • crop: redimensiona e recorta o quadro.

  • stretch (padrão): estica o quadro para preencher todo o espaço.

  • fill: redimensiona o quadro e mantém a borda preta.

  • fit: redimensiona o quadro proporcionalmente e remove a borda preta.

Nota

Esta ação também utiliza os parâmetros sys/saveas e notify. Para mais informações, consulte salvar como e notificação de mensagem.

APIs relacionadas

As operações anteriores utilizam chamadas de API. Para personalizações avançadas, faça requisições REST API diretamente. Isso exige o cálculo manual da assinatura. Para obter informações sobre como calcular o cabeçalho Authorization, consulte Signature Version 4 (recomendado).

Antes de chamar a API, vincule um bucket ao seu projeto IMM. Para mais informações, consulte Vincular um bucket.

Capturar um quadro a cada 10s para IA

Um quadro de imagem é capturado a cada 10 segundos para treinamento ou inferência de modelos de IA. A resolução da imagem de saída é limitada a 512x512.

Informações sobre o vídeo e os quadros capturados

  • Arquivo de origem

    • Nome do vídeo: example.mkv

  • Notificação de mensagem

    • Tópico MNS: example-mns-topic

  • Configuração de saída

    • Informações sobre os quadros capturados

      • Formato: JPG

      • Intervalo para captura de quadros: 10s

      • Resolução de saída: 512x512

      • Método de dimensionamento: Redimensionar e recortar

    • Caminho de armazenamento da imagem

      • oss://outbucket/outobjprefix-%d.jpg

Exemplo

// Capture frames from the example.mkv file.
POST /example.mkv?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: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e

x-oss-async-process=video/snapshots,f_jpg,w_512,h_512,scaletype_crop,inter_10000|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg/notify,topic_ZXhhbXBsZS1tbnMtdG9waWMK

Capturar 5 quadros com intervalo de 4s

Informações da captura de quadros

  • Arquivo de origem

    • Nome do arquivo: example.mkv

  • Notificação de mensagem

    • Tópico MNS: example-mns-topic

  • Configuração de saída

    • Detalhes da captura de quadros

      • Formato: png

      • Tempo inicial: 11s

      • Intervalo: 4s

      • Quantidade de quadros: 5

      • Resolução de saída: Metade da largura e altura do vídeo de origem

    • Caminho de armazenamento do arquivo

      • Arquivo png: oss://outbucket/outobjprefix-%d.png

Exemplo de requisição

// Capture frames from the example.mkv file.
POST /example.mkv?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: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 
x-oss-async-process=video/snapshots,ss_11000,f_png,pw_50,ph_50,num_5|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg/notify,topic_ZXhhbXBsZS1tbnMtdG9waWMK

Extrair keyframes de eventos de um vídeo

Use o algoritmo dhash para analisar a similaridade de conteúdo entre os quadros do vídeo e extrair aqueles com alterações visuais significativas como keyframes de eventos, com base em um limiar especificado.

Importante

Ajuste o parâmetro de limiar (thr) para o seu caso de uso específico.

Informações da captura de quadros

  • Arquivo de origem

    • Nome do arquivo: example.mkv

  • Notificação de mensagem

    • Tópico MNS: example-mns-topic

  • Configuração de saída

    • Detalhes da captura de quadros

      • Modo de captura de quadros: dhash

      • Formato: jpg

      • Limiar: 15

      • Intervalo: 1s

      • Resolução de saída: Igual à do vídeo de origem

    • Caminho de armazenamento do arquivo

      • Arquivo jpg: oss://outbucket/outobjprefix-%d.jpg

Exemplo de requisição

// Capture frames from the example.mkv file.
POST /example.mkv?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: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 
x-oss-async-process=video/snapshots,m_dhash,f_jpg,inter_1000,thr_15|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg/notify,topic_ZXhhbXBsZS1tbnMtdG9waWMK

Extrair 5 keyframes representativos para inferência

Use o algoritmo dhash para analisar a similaridade de conteúdo entre os quadros do vídeo e extrair os cinco quadros que apresentam as alterações visuais mais significativas.

Informações da captura de quadros

  • Arquivo de origem

    • Nome do arquivo: example.mkv

  • Notificação de mensagem

    • Tópico MNS: example-mns-topic

  • Configuração de saída

    • Detalhes da captura de quadros

      • Modo de captura de quadros: dhash

      • Formato: jpg

      • Quantidade de quadros: 5

      • Intervalo: 1s

      • Resolução de saída: Igual à do vídeo de origem

    • Caminho de armazenamento do arquivo

      • Arquivo jpg: oss://outbucket/outobjprefix-%d.jpg

Exemplo de requisição

// Capture frames from the example.mkv file.
POST /example.mkv?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: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 
x-oss-async-process=video/snapshots,m_dhash,f_jpg,inter_1000,num_5|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg/notify,topic_ZXhhbXBsZS1tbnMtdG9waWMK

Extrair todos os quadros IDR de um vídeo

Informações da captura de quadros

  • Arquivo de origem

    • Nome do arquivo: example.mkv

  • Notificação de mensagem

    • Tópico MNS: example-mns-topic

  • Configuração de saída

    • Detalhes da captura de quadros

      • Modo de captura de quadros: key

      • Formato: jpg

      • Resolução de saída: Igual à do vídeo de origem

    • Caminho de armazenamento do arquivo

      • Arquivo jpg: oss://outbucket/outobjprefix-%d.jpg

Exemplo de requisição

// Capture frames from the example.mkv file.
POST /example.mkv?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: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 
x-oss-async-process=video/snapshots,m_key,f_jpg|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg/notify,topic_ZXhhbXBsZS1tbnMtdG9waWMK

Capturar 10 quadros em intervalos uniformes

Informações da captura de quadros

  • Arquivo de origem

    • Nome do arquivo: example.mkv

  • Notificação de mensagem

    • Tópico MNS: example-mns-topic

  • Configuração de saída

    • Detalhes da captura de quadros

      • Modo de captura de quadros: avg

      • Formato: jpg

      • Quantidade de quadros: 10

      • Resolução de saída: Igual à do vídeo de origem

    • Caminho de armazenamento do arquivo

      • Arquivo jpg: oss://outbucket/outobjprefix-%d.jpg

Exemplo de requisição

// Capture frames from the example.mkv file.
POST /example.mkv?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: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 
x-oss-async-process=video/snapshots,m_avg,f_jpg,num_10|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg/notify,topic_ZXhhbXBsZS1tbnMtdG9waWMK

Extrair uma imagem de capa de áudio

Alguns arquivos de áudio contêm capas incorporadas. Use o recurso de captura de quadros para extrair essa arte da capa.

Informações da captura de quadros

  • Arquivo de origem

    • Nome do arquivo: example.flac

  • Notificação de mensagem

    • Tópico MNS: example-mns-topic

  • Configuração de saída

    • Detalhes da captura de quadros

      • Formato: jpg

      • Resolução de saída: Igual à da capa incorporada

    • Caminho de armazenamento do arquivo

      • Arquivo jpg: oss://outbucket/cover.jpg

Exemplo de requisição

// Capture frames from the example.flac file.
POST /example.flac?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: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 
x-oss-async-process=video/snapshots,f_jpg|sys/saveas,b_b3V0YnVja2V0,o_Y292ZXIuanBnCg/notify,topic_ZXhhbXBsZS1tbnMtdG9waWMK

Faturamento

O uso do recurso de captura de quadros de vídeo aciona o serviço IMM e gera os seguintes itens faturáveis tanto no OSS quanto no IMM:

  • OSS: Para preços detalhados, consulte Preços do OSS

    API

    Item faturável

    Descrição

    GetObject

    Requisição GET

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

    Taxa de tráfego de saída pela internet

    Chamar a operação GetObject com 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) gera uma taxa de tráfego de saída pela internet. Essa taxa é baseada na quantidade de dados transferidos.

    Recuperação de dados Infrequent Access

    Recuperar dados da classe de armazenamento Infrequent Access gera uma taxa de recuperação baseada na quantidade de dados recuperados.

    Recuperação de leitura direta de arquivamento

    Ler um objeto arquivado de um bucket com leitura direta de arquivamento habilitada gera uma taxa de recuperação baseada na quantidade de dados recuperados.

    Transfer Acceleration

    Se o Transfer Acceleration estiver ativado, acessar seu bucket via um nome de domínio de aceleração de transferência gera uma taxa de Transfer Acceleration baseada na quantidade de dados transferidos.

    PutObject

    Requisição PUT

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

    Taxa de armazenamento

    A taxa de armazenamento é baseada na classe de armazenamento, tamanho e duração de armazenamento do objeto.

    HeadObject

    Requisição GET

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

  • IMM: Para preços detalhados, consulte Itens faturáveis do IMM

    Importante

    A partir das 11:00 (UTC+8) de 28 de julho de 2025, o preço do serviço de captura de quadros de vídeo do IMM será reduzido. Esta alteração aplica-se ao item faturável VideoFraming. Para mais informações, consulte Anúncio sobre ajuste de preços do IMM.

    API

    Item faturável

    Descrição

    CreateMediaConvertTask

    VideoFraming

    A taxa de captura de quadros de vídeo é baseada no número de quadros capturados com sucesso.

Observações de uso

  • A captura de quadros suporta apenas processamento assíncrono (x-oss-async-process).

  • A captura pode falhar ou gerar um número incorreto de quadros devido à corrupção do timestamp do vídeo ou do fluxo de código.

FAQ

  • A captura de quadros filtra telas pretas?

    Não, a captura de quadros não filtra telas pretas.

  • A captura de quadros gera vídeos em miniatura?

    Não, a captura de quadros não gera vídeos em miniatura. Para gerar vídeos em miniatura, use o recurso de conversão de vídeo para imagem animada. Para mais informações, consulte Conversão de vídeo para imagem animada.

  • A captura de quadros impõe limites aos formatos de vídeo?

    Não. A captura de quadros suporta todos os principais formatos de vídeo.

  • No modo rápido, se o quadro solicitado pela captura estiver no primeiro segundo, o quadro realmente capturado fica próximo ao keyframe mais recente antes do primeiro segundo?

    Sim.

  • O que fazer se uma imagem em escala de cinza for exibida como capa do vídeo enviado, em vez de um quadro específico?

    Esse problema pode ocorrer porque a taxa de bits do vídeo é excessivamente alta. Para evitar isso, transcodifique o vídeo antecipadamente.