Notifications API d'ingestion dynamique
Vous pouvez spécifier une ou plusieurs URL de rappel pour recevoir des notifications concernant les résultats du processus d'ingestion. Les URL que vous spécifiez doivent être destinées aux applications qui peuvent accepter des demandes POST. Les notifications seront envoyées au format JSON.
Configuration
Voici un exemple.
- Utilisateur avec id de pub 57838016001
- Souhaite utiliser Dynamic Ingest pour télécharger un fichier vidéo source situé à l'adresse https://s3.amazonaws.com/bucket/mysourcevideo.mp4
- Souhaite télécharger un titre existant dans le catalogue avec l'ID vidéo 5199670523001
- Utilisation du profil statique standard multi-plates-formes
- Souhaite recevoir des rappels à deux points de terminaison situés respectivement à http://host1/path1 et http://host2/path2
La demande d'DI ressemblerait à ceci :
Demande POST
Corps de la requête
{
"master": {
"url": "https://s3.amazonaws.com/bucket/mysourcevideo.mp4"
},
"profile": "multi-platform-standard-static",
"callbacks": ["http://host1/path1”, “http://host2/path2”]
}
Exemple de notification
Les notifications sont envoyées en tant que requêtes POST avec la notification dans le corps de la requête en tant que JSON [1] . Voici un ensemble complet de notifications provenant d'un travail d'ingeste vidéo typique :
{
"entity": "default\/audio192",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "CREATE",
"jobId": "d3ef8751-2b88-4141-95d5-83f0393aca07",
"videoId": "5660367449001",
"dynamicRenditionId": "default\/audio192",
"language": "en",
"variant": "main",
"accountId": "57838016001",
"status": "SUCCESS"
}
{
"entity": "default\/audio64",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "CREATE",
"jobId": "d3ef8751-2b88-4141-95d5-83f0393aca07",
"videoId": "5660367449001",
"dynamicRenditionId": "default\/audio64",
"language": "en",
"variant": "main",
"accountId": "57838016001",
"status": "SUCCESS"
}
{
"entity": "default\/audio96",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "CREATE",
"jobId": "d3ef8751-2b88-4141-95d5-83f0393aca07",
"videoId": "5660367449001",
"dynamicRenditionId": "default\/audio96",
"language": "en",
"variant": "main",
"accountId": "57838016001",
"status": "SUCCESS"
}
{
"entity": "default\/audio128",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "CREATE",
"jobId": "d3ef8751-2b88-4141-95d5-83f0393aca07",
"videoId": "5660367449001",
"dynamicRenditionId": "default\/audio128",
"language": "en",
"variant": "main",
"accountId": "57838016001",
"status": "SUCCESS"
}
{
"entity": "5660367449001",
"entityType": "DIGITAL_MASTER",
"version": "1",
"action": "CREATE",
"jobId": "d3ef8751-2b88-4141-95d5-83f0393aca07",
"videoId": "5660367449001",
"accountId": "57838016001",
"status": "SUCCESS"
}
{
"entity": "default\/video450",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "CREATE",
"jobId": "d3ef8751-2b88-4141-95d5-83f0393aca07",
"videoId": "5660367449001",
"dynamicRenditionId": "default\/video450",
"bitrate": 451,
"width": 480,
"height": 270,
"accountId": "57838016001",
"status": "SUCCESS"
}
{
"entity": "5660367449001",
"entityType": "TITLE",
"version": "1",
"action": "PUBLISH",
"jobId": "d3ef8751-2b88-4141-95d5-83f0393aca07",
"videoId": "5660367449001",
"accountId": "57838016001",
"status": "SUCCESS"
}
{
"entity": "thumbnail",
"entityType": "ASSET",
"version": "1",
"action": "CREATE",
"jobId": "d3ef8751-2b88-4141-95d5-83f0393aca07",
"videoId": "5660367449001",
"accountId": "57838016001",
"status": "SUCCESS"
}
{
"entity": "poster",
"entityType": "ASSET",
"version": "1",
"action": "CREATE",
"jobId": "d3ef8751-2b88-4141-95d5-83f0393aca07",
"videoId": "5660367449001",
"accountId": "57838016001",
"status": "SUCCESS"
}
{
"entity": "default\/video900",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "CREATE",
"jobId": "d3ef8751-2b88-4141-95d5-83f0393aca07",
"videoId": "5660367449001",
"dynamicRenditionId": "default\/video900",
"bitrate": 901,
"width": 640,
"height": 360,
"accountId": "57838016001",
"status": "SUCCESS"
}
{
"entity": "default\/video700",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "CREATE",
"jobId": "d3ef8751-2b88-4141-95d5-83f0393aca07",
"videoId": "5660367449001",
"dynamicRenditionId": "default\/video700",
"bitrate": 700,
"width": 640,
"height": 360,
"accountId": "57838016001",
"status": "SUCCESS"
}
{
"entity": "default\/video1200",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "CREATE",
"jobId": "d3ef8751-2b88-4141-95d5-83f0393aca07",
"videoId": "5660367449001",
"dynamicRenditionId": "default\/video1200",
"bitrate": 1204,
"width": 960,
"height": 540,
"accountId": "57838016001",
"status": "SUCCESS"
}
{
"entity": "default\/video1700",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "CREATE",
"jobId": "d3ef8751-2b88-4141-95d5-83f0393aca07",
"videoId": "5660367449001",
"dynamicRenditionId": "default\/video1700",
"bitrate": 1703,
"width": 960,
"height": 540,
"accountId": "57838016001",
"status": "SUCCESS"
}
{
"entity": "default\/video3500",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "CREATE",
"jobId": "d3ef8751-2b88-4141-95d5-83f0393aca07",
"videoId": "5660367449001",
"dynamicRenditionId": "default\/video3500",
"bitrate": 3498,
"width": 1920,
"height": 1080,
"accountId": "57838016001",
"status": "SUCCESS"
}
{
"entity": "default\/video2000",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "CREATE",
"jobId": "d3ef8751-2b88-4141-95d5-83f0393aca07",
"videoId": "5660367449001",
"dynamicRenditionId": "default\/video2000",
"bitrate": 2000,
"width": 1280,
"height": 720,
"accountId": "57838016001",
"status": "SUCCESS"
}
{
"entity": "default\/video3800",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "CREATE",
"jobId": "d3ef8751-2b88-4141-95d5-83f0393aca07",
"videoId": "5660367449001",
"dynamicRenditionId": "default\/video3800",
"bitrate": 3804,
"width": 1920,
"height": 1080,
"accountId": "57838016001",
"status": "SUCCESS"
}
{
"entity": "5660367449001",
"entityType": "TITLE",
"version": "1",
"action": "CREATE",
"jobId": "d3ef8751-2b88-4141-95d5-83f0393aca07",
"videoId": "5660367449001",
"accountId": "57838016001",
"status": "SUCCESS"
}
Champs de notification
Produit | Description |
---|---|
status |
sera FAILED si l'ingestion ou la création d'un format associé n'a pas réussi, SUCCESS si la demande a réussi |
accountId |
l'identifiant du compte |
videoId |
l'ID de la vidéo |
jobId |
l'identifiant de la tâche pour la requête Dynamic Inquest |
entity |
soit le nom de l'entité, soit l'identifiant Video Cloud de la vidéo pour le TITLE |
entityType |
le type d'actif déclaré - par exemple : TITLE (une vidéo), DIGITAL_MASTER, ASSET (format associé, fichier de sous-titres ou image) |
bitrate |
débit pour un format associé |
width |
Frame-width pour un format associé |
height |
hauteur de cadre pour un format associé |
errorMessage |
une explication de la raison pour laquelle l'ingestion a échoué si elle l'a fait |
version |
une chaîne toujours égale à "1" |
action |
l'action qui s'est produite - par exemple, CREATE |
Interprétation des notifications
Notification contenant "action": "CREATE"
et "status": "SUCCESS"
indiquant l'achèvement d'un processus.
- Si l'
entityType
estTITLE
, alors le traitement d'une vidéo ingérée est terminé. - Pour
entityType: TITLE
,action: PUBLISH
fait référence à l'heure où la vidéo est activée. Pour les vidéos qui sont immédiatement actives, ce sera à peu près le même temps que l'CREATE
heure. - Si le
entityType
estASSET
,DYNAMIC_RENDITION
ouDIGITAL_MASTER
, alors un format associé, une image, un manifeste, un fichier WebVTT ou un maître numérique a été ajouté avec succès à votre vidéo.