L'événement SnapshotComplete vous notifie de la fin des captures d'écran vidéo. Cette rubrique décrit le contenu de la notification et fournit des exemples de rappels.
Type d'événement
SnapshotComplete
Description de l'événement
ApsaraVideo VOD génère l'événement SnapshotComplete après la prise de captures d'écran pour une vidéo.
La capture d'écran et le transcodage s'effectuent simultanément.
Si les captures d'écran sont des vignettes et que le paramètre CoverUrl n'est pas spécifié, l'une des vignettes sert de miniature à la vidéo. Pour plus d'informations sur les captures d'écran de vignettes, consultez Captures d'écran vidéo.
Appelez l'opération GetVideoInfo pour obtenir les URL de la miniature de la vidéo et des captures d'écran CoverSnapshot.
Appelez l'opération ListSnapshots pour obtenir les URL des dernières captures d'écran d'une vidéo spécifique.
Si la signature d'URL est activée, vous devez générer votre propre auth_key pour accéder aux URL des captures d'écran. Sinon, une erreur HTTP 403 est renvoyée. Pour plus d'informations sur la signature d'URL, consultez Signature d'URL.
Contenu de la notification d'événement
|
Nom du paramètre |
Type |
Obligatoire |
Description |
|
EventTime |
String |
Oui |
Heure de génération de l'événement, au format yyyy-MM-ddTHH:mm:ssZ (UTC). |
|
EventType |
String |
Oui |
Type d'événement. La valeur est SnapshotComplete. |
|
VideoId |
String |
Oui |
ID de la vidéo. |
|
Status |
String |
Oui |
Statut de la capture d'écran vidéo.
|
|
SubType |
String |
Non |
Sous-type de la capture d'écran. La valeur est SpecifiedTime. Remarque
Une valeur SpecifiedTime indique que la capture d'écran est prise en appelant l'opération SubmitSnapshotJob. |
|
ErrorCode |
String |
Non |
Code d'erreur. Renvoyé uniquement en cas d'échec du travail de capture d'écran. |
|
ErrorMessage |
String |
Non |
Message d'erreur. Renvoyé uniquement en cas d'échec du travail de capture d'écran. |
|
CoverUrl |
String |
Non |
URL de la vignette. Non renvoyée en cas d'échec du travail de capture d'écran. |
|
SnapshotInfos |
SnapshotInfo[] |
Non |
Détails de la capture d'écran. Non renvoyés en cas d'échec du travail de capture d'écran. Pour plus d'informations, consultez les données SnapshotInfos ci-dessous. |
|
Extend |
String |
Non |
Paramètre de transit défini par l'utilisateur, renvoyé dans les rappels. Pour plus d'informations, consultez la section « UserData » dans les Paramètres de requête. |
Données de capture d'écran
|
Nom du paramètre |
Type |
Obligatoire |
Description |
|
Status |
String |
Oui |
Statut du travail de capture d'écran vidéo.
|
|
SnapshotType |
String |
Oui |
Type de capture d'écran.
Pour plus d'informations, consultez les Captures d'écran vidéo. |
|
SnapshotCount |
Long |
Oui |
Nombre total de captures d'écran. |
|
SnapshotFormat |
String |
Oui |
Format de nommage des captures d'écran. Utilisez cette valeur avec l'URL de stockage OSS ou le nom de domaine CDN pour construire les URL des captures d'écran. Remarque
Si votre nom de domaine change fréquemment, utilisez ce paramètre pour générer dynamiquement les URL des captures d'écran. |
|
SnapshotRegular |
String |
Oui |
Règle de génération des URL de capture d'écran. Nous vous recommandons d'utiliser la valeur SnapshotRegular pour générer les URL des captures d'écran. Pour plus de détails, consultez la section suivante. Remarque
Si un nom de domaine existe, la règle d'une URL CDN est renvoyée. Sinon, la règle d'une URL OSS est renvoyée. Les règles pour les URL HTTPS ne sont pas prises en charge. |
|
JobId |
String |
Oui |
ID du travail de capture d'écran. |
Pour les vidéos nouvellement téléchargées, les captures d'écran sont stockées à la même adresse de stockage OSS que la vidéo source. Pour plus d'informations, consultez Gérer les buckets de stockage.
Génération des URL de capture d'écran
Vous pouvez générer les URL de capture d'écran de deux manières :
-
Générer une URL de capture d'écran basée sur la valeur SnapshotFormat
Règle : http(s)://{nom de domaine CDN ou URL de stockage OSS}/SnapshotFormat.
Description : {SnapshotCount} correspond au numéro de série de chaque capture d'écran, complété par des zéros initiaux pour atteindre cinq chiffres.
-
Exemples :
-
Si le numéro de série de la première capture d'écran est 00001, l'URL de la capture d'écran est :
http://example.com/2327a6ec24b44844b3a5e2c1b691****/covers/990f3820db2948b5b4a13d65d9a4****-00001.jpg. -
Si le numéro de série de la deuxième capture d'écran est 00002, l'URL de la capture d'écran est :
http://example.com/2327a6ec24b44844b3a5e2c1b691****/covers/990f3820db2948b5b4a13d65d9a4****-00002.jpg.Et ainsi de suite.
-
-
Générer une URL de capture d'écran basée sur la valeur SnapshotRegular
Règle : SnapshotRegular est une règle d'URL complète.
Remplacez {SnapshotCount} par le numéro de série de la capture d'écran, de la même manière que pour SnapshotFormat.
Exemples de rappels
Description :
Pour un rappel HTTP, cet exemple montre le corps de la requête HTTP POST.
Pour un rappel MNS, cet exemple montre le corps du message.
{
"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"
}
]
}