Todos os produtos
Search
Central de documentação

ApsaraVideo VOD:SnapshotComplete

Última atualização: Jul 10, 2026

O evento SnapshotComplete notifica a conclusão dos snapshots de vídeo. Este tópico aborda o conteúdo da notificação e exemplos de callbacks.

Tipo de evento

SnapshotComplete

Descrição do evento

O ApsaraVideo VOD gera o evento SnapshotComplete após capturar os snapshots de um vídeo.

  • A captura de snapshots e a transcodificação ocorrem simultaneamente.

  • Se os snapshots forem thumbnails e o parâmetro CoverUrl não estiver especificado, um deles servirá como thumbnail do vídeo. Para mais detalhes sobre thumbnails, consulte Snapshots de vídeo.

  • Chame a operação GetVideoInfo para obter as URLs do thumbnail do vídeo e dos snapshots CoverSnapshot.

  • Chame a operação ListSnapshots para recuperar as URLs dos snapshots mais recentes de um vídeo específico.

Nota

Se a assinatura de URL estiver ativada, gere sua própria auth_key para acessar as URLs dos snapshots. Caso contrário, o sistema retornará um erro HTTP 403. Para mais informações sobre assinatura de URL, consulte Assinatura de URL.

Conteúdo da notificação de evento

Nome do parâmetro

Tipo

Obrigatório

Descrição

EventTime

String

Sim

Horário de geração do evento, no formato yyyy-MM-ddTHH:mm:ssZ (UTC).

EventType

String

Sim

Tipo do evento. O valor é SnapshotComplete.

VideoId

String

Sim

ID do vídeo.

Status

String

Sim

Status do snapshot de vídeo.

  • success: Snapshot capturado com êxito.

  • fail: Falha na captura do snapshot.

SubType

String

Não

Subtipo do snapshot. O valor é SpecifiedTime.

Nota

O valor SpecifiedTime indica que a chamada à operação SubmitSnapshotJob gerou o snapshot.

ErrorCode

String

Não

Código de erro. Retornado apenas se o job de snapshot falhar.

ErrorMessage

String

Não

Mensagem de erro. Retornada apenas se o job de snapshot falhar.

CoverUrl

String

Não

URL do thumbnail. Não retornada se o job de snapshot falhar.

SnapshotInfos

SnapshotInfo[]

Não

Detalhes dos snapshots. Não retornados se o job de snapshot falhar. Para mais informações, consulte Dados de SnapshotInfos abaixo.

Extend

String

Não

Parâmetro de passagem definido pelo usuário e retornado nos callbacks. Para mais detalhes, consulte a seção "UserData" em Parâmetros de solicitação.

Dados do snapshot

Nome do parâmetro

Tipo

Obrigatório

Descrição

Status

String

Sim

Status do job de snapshot de vídeo.

  • success: Snapshot capturado com êxito.

  • fail: Falha na captura do snapshot.

SnapshotType

String

Sim

Tipo do snapshot.

  • CoverSnapshot: snapshot de thumbnail

  • NormalSnapshot: snapshot normal

  • SpriteSnapshot: snapshot sprite

Para mais informações, consulte Snapshots de vídeo.

SnapshotCount

Long

Sim

Número total de snapshots.

SnapshotFormat

String

Sim

Formato de nomenclatura dos snapshots. Use este valor com a URL de armazenamento do OSS ou o nome de domínio CDN para compor as URLs dos snapshots.

Nota

Se o nome de domínio mudar frequentemente, use este parâmetro para gerar as URLs dos snapshots dinamicamente.

SnapshotRegular

String

Sim

Regra para geração das URLs dos snapshots. Recomendamos usar o valor SnapshotRegular para gerar as URLs dos snapshots. Para detalhes, consulte a seção a seguir.

Nota

Se houver um nome de domínio, o sistema retornará a regra para uma URL CDN. Caso contrário, retornará a regra para uma URL OSS. Não há suporte para regras de URLs HTTPS.

JobId

String

Sim

ID do job de snapshot.

Nota

Para vídeos recém-carregados, os snapshots ficam armazenados no mesmo endereço de armazenamento OSS do vídeo source. Para mais informações, consulte Gerencie buckets de armazenamento.

Geração de URLs de snapshot

Você pode gerar URLs de snapshot de duas formas:

  • Gerar uma URL de snapshot com base no valor SnapshotFormat

    • Regra: http(s)://{nome de domínio CDN ou URL de armazenamento OSS}/SnapshotFormat.

    • Descrição: {SnapshotCount} representa o número sequencial de cada snapshot, preenchido com zeros à esquerda até cinco dígitos.

    • Exemplos:

      • Se o número sequencial do primeiro snapshot for 00001, a URL do snapshot será:

        http://example.com/2327a6ec24b44844b3a5e2c1b691****/covers/990f3820db2948b5b4a13d65d9a4****-00001.jpg.

      • Se o número sequencial do segundo snapshot for 00002, a URL do snapshot será:

        http://example.com/2327a6ec24b44844b3a5e2c1b691****/covers/990f3820db2948b5b4a13d65d9a4****-00002.jpg.

        E assim sucessivamente.

  • Gerar uma URL de snapshot com base no valor SnapshotRegular

    • Regra: SnapshotRegular consiste em uma regra de URL completa.

    • Substitua {SnapshotCount} pelo número sequencial do snapshot, seguindo a mesma lógica do SnapshotFormat.

Exemplos de callbacks

Descrição:

  • Para callbacks HTTP, este exemplo mostra o corpo da requisição HTTP POST.

  • Para callbacks MNS, este exemplo mostra o corpo da mensagem.

{
  "EventType": "SnapshotComplete",
  "EventTime": "2018-07-31T10:07:31Z",
  "CoverUrl": "http://sample/covers/990f3820db2948b5b4a13d65d9a4****-00002.jpg",
  "Extend":"test data",
  "SnapshotInfos": [
    {
      "Status": "success",
      "SnapshotType": "CoverSnapshot",
      "SnapshotCount": 2,
      "SnapshotFormat": "2327a6ec24b44844b3a5e2c1b691****/covers/990f3820db2948b5b4a13d65d9a4****-{SnapshotCount}.jpg",
      "SnapshotRegular": "http://sample/covers/990f3820db2948b5b4a13d65d9a4****-{SnapshotCount}.jpg",
      "JobId": "ee16d4bbf3f7*****e094bcb8cf8ddde"
    },
    {
      "Status": "success",
      "SnapshotType": "SpriteSnapshot",
      "SnapshotCount": 1,
      "SnapshotFormat": "2327a6ec24b44844b3a5e2c1b691****/covers/sprite/990f3820db2948b5b4a13d65d9a4****-{SnapshotCount}.jpg",
      "SnapshotRegular": "http://sample/covers/sprite/990f3820db2948b5b4a13d65d9a4****-{SnapshotCount}.jpg",
      "JobId": "b3187205eed*****b72adf4eb3840713"
    }
  ]
}