Todos os produtos
Search
Central de documentação

Intelligent Media Management:Frame capture

Última atualização: Jun 27, 2026

Este tópico descreve como usar a operação de transcodificação de mídia do Intelligent Media Management (IMM) para salve quadros capturados como imagens estáticas.

Introdução ao recurso

A captura de quadros é o processo de extrair imagens específicas de um vídeo para salve momentos pontuais como arquivos estáticos.

image

Cenários

  • Snapshot: Salva um momento específico do vídeo como imagem estática para crie 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 do vídeo para gerar um resumo conciso ou uma prévia.

  • Compartilhamento e registro de capturas de tela: Permite que usuários capturem o quadro exato durante a reprodução quando desejam salve ou compartilhar uma cena específica.

Formatos de áudio e vídeo compatíveis

Categoria

Formato

Áudio

Formatos de áudio comuns, como AAC, MP3, WAV, FLAC, WMA, AC3 e Opus.

Vídeo

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

Como usar

Pré-requisitos

  • Você criou e obteve um par de AccessKey. Para mais informações, consulte Criar um par de AccessKey.

  • O Object Storage Service (OSS) está ativado e você criou um bucket. Para mais informações, consulte Criar um bucket.

  • O IMM está ativado. Para mais informações, consulte Ativar o IMM.

  • Você criou um projeto no console do IMM. Para mais informações, consulte Criar um projeto.

    Nota
    • Chame a operação CreateProject para crie um projeto. Para mais informações, consulte CreateProject.

    • Chame a operação ListProjects para listar as informações de todos os projetos em uma região.

Etapa 1: Fazer upload dos arquivos

Use o console do OSS para enviar arquivos de mídia a um bucket na mesma região do projeto do IMM.

image

Etapa 2: Usar o recurso de captura de quadros do IMM

Chame a operação CreateMediaConvertTask para crie uma tarefa de captura de quadros.

Descrição dos parâmetros

O exemplo a seguir usa o projeto do IMM test-project para capturar quadros do arquivo de vídeo oss://test-bucket/video-demo/Winemaking.mov. Para mais detalhes sobre os recursos de processamento de mídia, consulte Transcodificação de mídia.

Nota
  • Use a operação de transcodificação de mídia para processar arquivos de vídeo no OpenAPI Explorer. Consulte o código de exemplo do sdk para mais informações.

  • Não configure os parâmetros Target.URI e Target.Container ao usar o recurso de captura de quadros.

  • Recomendamos usar variáveis para especifique o nome do arquivo URI em Targets no formato snapshot-{index}.{autoext}. Após salve os quadros, o sistema gera arquivos como snapshot-1.png e snapshot-2.png. Para mais informações sobre as variáveis relacionadas, consulte Modelo TargetURI.

Capturar um único quadro como thumbnail de vídeo

Capture um único quadro para servir como thumbnail do vídeo. Isso garante que a resolução da imagem seja idêntica à resolução do vídeo original.

image

  • Formato do quadro capturado: jpg

  • Tempo inicial da captura: 5º segundo

  • Quantidade de quadros capturados: 1

  • Caminho dos quadros capturados: oss://test-bucket/video-demo/cover.jpg

  • Notificação de conclusão da captura: Envio de mensagem do Message Service (MNS) para o tópico MNS "test-mns-topic"

Para obter o código de exemplo do sdk, acesse o OpenAPI Explorer. Os parâmetros no código de exemplo são configurados automaticamente para referência. Modifique-os conforme suas necessidades de negócio antes de executar a depuração.

Parâmetros de solicitação de exemplo:

{
  "ProjectName": "test-project",
  "Notification": {  
    "MNS": {    
      "TopicName": "test-mns-topic" 
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/Winemaking.mov"
    }
  ],
  "Targets": [
    {
      "Image": {
        "Snapshots": [
          {
            "Format": "jpg",
            "StartTime": 5,
            "Number": 1,
            "URI": "oss://test-bucket/video-demo/cover.jpg"
          }
        ]
      }
    }
  ]
}

Capturar um quadro a cada 10 segundos para treinamento ou inferência de modelos de IA

Capture um quadro a cada 10 segundos para treinar ou realizar inferências com modelos de IA, limitando a resolução da imagem de saída a 512x512.

image

  • Formato do quadro capturado: jpg

  • Intervalo de captura: 10 segundos

  • Método de redimensionamento: crop. Para mais detalhes sobre os métodos disponíveis, consulte Métodos de redimensionamento.

  • Largura da imagem de saída: 512px

  • Altura da imagem de saída: 512px

  • Caminho dos quadros capturados: oss://test-bucket/video-demo/snapshot-%d.png

  • Notificação de conclusão da captura: Envio de mensagem MNS para o tópico MNS "test-mns-topic"

Para obter o código de exemplo do sdk, acesse o OpenAPI Explorer. Os parâmetros no código de exemplo são configurados automaticamente para referência. Modifique-os conforme suas necessidades de negócio antes de executar a depuração.

Parâmetros de solicitação de exemplo:

{
  "ProjectName": "test-project",
  "Notification": {  
    "MNS": {    
      "TopicName": "test-mns-topic"  
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/Winemaking.mov"
    }
  ],
  "Targets": [
    {
      "Image": {
        "Snapshots": [
          {
            "Format": "jpg",
            "Interval": 10,
            "ScaleType": "crop",
            "URI": "oss://test-bucket/video-demo/snapshot-{index}.{autoext}",
            "Width": 512,
            "Height": 512
          }
        ]
      }
    }
  ]
}

Capturar cinco quadros com intervalo de 4 segundos para analisar segmentos de vídeo

A partir do 11º segundo, capture um total de 5 quadros com intervalos de 4 segundos para analisar segmentos do vídeo. A largura e a altura da imagem de saída correspondem à metade da resolução do vídeo original, e as imagens são salvas no formato PNG.

image

  • Formato do quadro capturado: png

  • Tempo inicial da captura: 11º segundo

  • Intervalo de captura: 4 segundos

  • Quantidade de quadros capturados: 5

  • Método de redimensionamento: crop. Para mais detalhes sobre os métodos disponíveis, consulte Métodos de redimensionamento

  • Largura da imagem de saída: 1/2 da largura da resolução do vídeo de entrada

  • Altura da imagem de saída: 1/2 da altura da resolução do vídeo de entrada

  • Caminho dos quadros capturados: oss://test-bucket/video-demo/snapshot-%d.png

  • Notificação de conclusão da captura: Envio de mensagem MNS para o tópico MNS "test-mns-topic"

Para obter o código de exemplo do sdk, acesse o OpenAPI Explorer. Os parâmetros no código de exemplo são configurados automaticamente para referência. Modifique-os conforme suas necessidades de negócio antes de executar a depuração.

Parâmetros de solicitação de exemplo:

{
  "ProjectName": "test-project",
  "Notification": {  
    "MNS": {    
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/Winemaking.mov"
    }
  ],
  "Targets": [
    {
      "Image": {
        "Snapshots": [
          {
            "Format": "png",
            "StartTime": 11,
            "Interval": 4,
            "Number": 5,
            "ScaleType": "crop",
            "URI": "oss://test-bucket/video-demo/snapshot-{index}.{autoext}",
            "Width": 0.5,
            "Height": 0.5
          }
        ]
      }
    }
  ]
}

Capturar keyframes de eventos do vídeo

Analise a similaridade de conteúdo entre os quadros do vídeo usando dhash e extraia quadros com alterações significativas de conteúdo visual como keyframes de evento, com base no limiar definido.

Importante

Ajuste o limiar de acordo com os cenários específicos de negócio.

  • Formato da imagem de saída: jpg

  • Intervalo de captura: 1 segundo

  • Modo de captura: dhash

  • Limiar: 15

  • Caminho dos quadros capturados: oss://test-bucket/video-demo/snapshot-%d.png

  • Notificação de conclusão da captura: Envio de mensagem MNS para o tópico MNS "test-mns-topic"

Para obter o código de exemplo do sdk, acesse o OpenAPI Explorer. Os parâmetros no código de exemplo são configurados automaticamente para referência. Modifique-os conforme suas necessidades de negócio antes de executar a depuração.

Parâmetros de solicitação de exemplo:

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/Winemaking.mov"
    }
  ],
  "Targets": [
    {
      "Image": {
        "Snapshots": [
          {
            "Format": "jpg",
            "Interval": 1,
            "Mode": "dhash",
            "Threshold": 15,
            "URI": "oss://test-bucket/video-demo/snapshot-{index}.{autoext}"
          }
        ]
      }
    }
  ]
}

Capturar cinco keyframes de evento mais representativos do vídeo para inferência

Analise a similaridade de conteúdo dos quadros de vídeo usando dhash para capturar cinco quadros que apresentem as maiores variações de conteúdo visual.

  • Formato da imagem de saída: jpg

  • Intervalo de captura: 1 segundo

  • Modo de captura: dhash

  • Quantidade de quadros capturados: 5

  • Caminho dos quadros capturados: oss://test-bucket/video-demo/snapshot-%d.png

  • Notificação de conclusão da captura: Envio de mensagem MNS para o tópico MNS "test-mns-topic"

Para obter o código de exemplo do sdk, acesse o OpenAPI Explorer. Os parâmetros no código de exemplo são configurados automaticamente para referência. Modifique-os conforme suas necessidades de negócio antes de executar a depuração.

Parâmetros de solicitação de exemplo:

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/Winemaking.mov"
    }
  ],
  "Targets": [
    {
      "Image": {
        "Snapshots": [
          {
            "Format": "jpg",
            "Interval": 1,
            "Mode": "dhash",
            "Number": 5,
            "URI": "oss://test-bucket/video-demo/snapshot-{index}.{autoext}"
          }
        ]
      }
    }
  ]
}

Capturar todos os quadros IDR do vídeo

  • Formato da imagem de saída: jpg

  • Modo de captura: keyframe

  • Caminho dos quadros capturados: oss://test-bucket/video-demo/snapshot-%d.png

  • Notificação de conclusão da captura: Envio de mensagem MNS para o tópico MNS "test-mns-topic"

Para obter o código de exemplo do sdk, acesse o OpenAPI Explorer. Os parâmetros no código de exemplo são configurados automaticamente para referência. Modifique-os conforme suas necessidades de negócio antes de executar a depuração.

Parâmetros de solicitação de exemplo:

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/Winemaking.mov"
    }
  ],
  "Targets": [
    {
      "Image": {
        "Snapshots": [
          {
            "Format": "jpg",
            "Mode": "keyframe",
            "URI": "oss://test-bucket/video-demo/snapshot-{index}.{autoext}"
          }
        ]
      }
    }
  ]
}

Capturar 10 quadros em intervalos de tempo iguais

  • Formato da imagem de saída: jpg

  • Modo de captura: average

  • Quantidade de quadros capturados: 10

  • Caminho dos quadros capturados: oss://test-bucket/video-demo/snapshot-%d.png

  • Notificação de conclusão da captura: Envio de mensagem MNS para o tópico MNS "test-mns-topic"

Para obter o código de exemplo do sdk, acesse o OpenAPI Explorer. Os parâmetros no código de exemplo são configurados automaticamente para referência. Modifique-os conforme suas necessidades de negócio antes de executar a depuração.

Parâmetros de solicitação de exemplo:

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/Winemaking.mov"
    }
  ],
  "Targets": [
    {
      "Image": {
        "Snapshots": [
          {
            "Format": "jpg",
            "Mode": "average",
            "Number": 10,
            "URI": "oss://test-bucket/video-demo/snapshot-{index}.{autoext}"
          }
        ]
      }
    }
  ]
}

Criar uma capa para arquivo de áudio usando um quadro capturado do próprio arquivo

  • Formato da imagem de saída: jpg

  • Quantidade de quadros capturados: 1

  • Caminho de salvamento da imagem de saída: oss://test-bucket/video-demo/cover.jpg

  • Notificação de conclusão da captura: Envio de mensagem MNS para o tópico MNS "test-mns-topic"

Para obter o código de exemplo do sdk, acesse o OpenAPI Explorer. Os parâmetros no código de exemplo são configurados automaticamente para referência. Modifique-os conforme suas necessidades de negócio antes de executar a depuração.

Parâmetros de solicitação de exemplo:

{
  "ProjectName": "test-project",
  "Notification": {  
    "MNS": {    
      "TopicName": "test-mns-topic"  
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/test.mp3"
    }
  ],
  "Targets": [
    {
      "Image": {
        "Snapshots": [
          {
            "Format": "jpg",
            "Number": 1,
            "URI": "oss://test-bucket/video-demo/cover.jpg"
          }
        ]
      }
    }
  ]
}

Faturamento

Durante o processo de captura de quadros, os seguintes itens faturáveis são gerados tanto no OSS quanto no IMM:

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

    API

    Item faturável

    Descrição

    GetObject

    Solicitações GET

    Taxas de solicitação são cobradas com base no número de solicitações bem-sucedidas.

    Recuperação de objetos IA

    Se objetos IA forem recuperados, taxas de recuperação de dados IA serão cobradas com base no tamanho dos dados recuperados.

    Recuperação de objetos Archive em bucket com acesso em tempo real ativado

    Se objetos Archive em um bucket com acesso em tempo real ativado forem recuperados, taxas de recuperação de dados Archive serão cobradas com base no tamanho dos objetos recuperados.

    Aceleração de transferência

    Se você ative a aceleração de transferência e usar um endpoint de aceleração para acessar seu bucket, taxas de aceleração de transferência serão cobradas com base no tamanho dos dados.

    PutObject

    Solicitações PUT

    Taxas de solicitação são cobradas com base no número de solicitações bem-sucedidas.

    Taxas de armazenamento

    Taxas de armazenamento são cobradas com base na classe de armazenamento, tamanho e duração de armazenamento do objeto.

    HeadObject

    Solicitações GET

    Taxas de solicitação são cobradas com base no número de solicitações bem-sucedidas.

  • No lado do 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 do IMM será ajustado. Para mais informações, consulte Anúncio de ajuste de faturamento do IMM.

    API

    Item faturável

    Descrição

    CreateMediaConvertTask

    VideoFraming

    A cobrança pela captura de quadros de vídeo é baseada no número de quadros capturados com sucesso.

Métodos de redimensionamento

Método de redimensionamento

Efeito do redimensionamento

stretch

Estica a imagem para preencher todo o espaço. Quando a imagem é forçadamente redimensionada com base na largura e altura especificadas, se a proporção largura-altura for inconsistente com a da imagem de entrada, a imagem de saída ficará distorcida.

image

crop

Redimensiona e recorta a imagem. A imagem é redimensionada proporcionalmente ao menor tamanho possível fora de um retângulo baseado na largura e altura especificadas e, em seguida, recortada conforme essas dimensões.

image

fill

Redimensiona a imagem mantendo a borda preta. A imagem é redimensionada proporcionalmente ao maior tamanho possível dentro de um retângulo baseado na largura e altura especificadas. O espaço vazio no retângulo é preenchido com a cor preta.

image

fit

Redimensiona a imagem sem manter a borda preta. A imagem é redimensionada proporcionalmente ao maior tamanho possível dentro de um retângulo baseado na largura e altura especificadas. Se a proporção largura-altura da imagem de saída for diferente da proporção da imagem de entrada, a largura e a altura da imagem redimensionada serão diferentes das dimensões especificadas.

image