Notifications d'API d'ingestion dynamique
Vous pouvez spécifier une ou plusieurs URL de rappel pour recevoir des notifications des résultats du processus d'ingestion. Les URL que vous spécifiez doivent être destinées aux applications qui peuvent accepter les requêtes POST. Les notifications seront envoyées au format JSON.
Configuration
Voici un exemple.
- Utilisateur avec l'identifiant de pub 57838016001
- Veut utiliser Dynamic Ingest pour télécharger un fichier vidéo source situé sur https://s3.amazonaws.com/bucket/mysourcevideo.mp4
- Veut télécharger un titre existant dans le catalogue avec l'ID vidéo 5199670523001
- Utilisation du profil multi-plateforme-standard-statique
- Souhaite recevoir des rappels à deux points d'extrémité situés respectivement à https://host1/path1 et https://host2/path2
La requête DI ressemblerait à ceci :
Demande POST
Corps de la demande
{
"master": {
"url": "https://s3.amazonaws.com/bucket/mysourcevideo.mp4"
},
"profile": "multi-platform-standard-static",
"callbacks": ["https://host1/path1”, “https://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 d'une tâche d'ingestion 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
Article | Description |
---|---|
status |
sera FAILED si l'acquisition ou la création d'un rendu n'a pas abouti, SUCCESS si la demande aboutit |
accountId |
l'identifiant du compte |
videoId |
l'identifiant de la vidéo |
jobId |
l'identifiant de la tâche pour la demande d'ingestion dynamique |
entity |
soit le nom de l'entité, soit l'identifiant Video Cloud de la vidéo pour le TITRE |
entityType |
le type d'actif faisant l'objet de la déclaration - par exemple : TITLE (une vidéo), DIGITAL_MASTER, ASSET (un rendu, un fichier de sous-titres ou une image) |
bitrate |
débit pour un rendu |
width |
frame-width pour un rendu |
height |
hauteur du cadre pour un rendu |
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
Une notification contenant "action": "CREATE"
et "status": "SUCCESS"
indique l'achèvement d'un processus.
- Si la
entityType
estTITLE
, le traitement d'une vidéo ingérée est terminé. - Pour
entityType: TITLE
,action: PUBLISH
fait référence à l'heure à laquelle la vidéo est activée. Pour les vidéos qui sont immédiatement actives, ce sera approximativement le même temps que leCREATE
temps. - Si la
entityType
estASSET
,DYNAMIC_RENDITION
ouDIGITAL_MASTER
, un rendu, une image, un manifeste, un fichier WebVTT ou un master numérique a été ajouté avec succès à votre vidéo.
Pare-feu
Si votre organisation a une politique stricte concernant les sources de trafic entrant via votre pare-feu, nous autorisons les IP AWS us-east-1/Virginia. Ceci est sujet à changement, donc toutes les adresses IP AWS doivent être ajoutées à la liste blanche. Voir https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html pour plus d'informations.