Notifications pour l'ingestion dynamique

Dans cette rubrique, vous découvrirez les notifications pour les tâches d'ingest de livraison dynamique soumises à l'aide de l'API Dynamic Ingest.

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 est TITLE , 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 le CREATE temps.
  • Si la entityType est ASSET , DYNAMIC_RENDITION ou DIGITAL_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.