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.
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.
|
|
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.
|
|
SnapshotType |
String |
Sim |
Tipo do snapshot.
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. |
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"
}
]
}