Notificaciones para la ingesta dinámica

En este tema, aprenderá acerca de las notificaciones para los trabajos de ingesta de entrega dinámica enviados mediante la API de ingesta dinámica.

Notificaciones de API de ingesta dinámica

Puede especificar una o más URL de devolución de llamada para recibir notificaciones de los resultados del proceso de ingesta. Las URL que especifique deben ser para aplicaciones que puedan aceptar solicitudes POST. Las notificaciones se enviarán en formato JSON.

Configuración

He aquí un ejemplo.

  • Usuario con ID de publicación 57838016001
  • Quiere usar Dynamic Ingest para cargar un archivo de video fuente ubicado en https://s3.amazonaws.com/bucket/mysourcevideo.mp4
  • Quiere cargar un título existente en el catálogo con la identificación de video 5199670523001
  • Uso del perfil estático estándar multiplataforma
  • Quiere recibir devoluciones de llamada en dos puntos finales ubicados en https://host1/path1 y https://host2/path2 respectivamente

La solicitud de DI se vería así:

Solicitud POST

Cuerpo de la solicitud

    {
      "master": {
        "url": "https://s3.amazonaws.com/bucket/mysourcevideo.mp4"
      },
      "profile": "multi-platform-standard-static",
      "callbacks": ["https://host1/path1”, “https://host2/path2”]
    }

Notificación de muestra

Las notificaciones se envían como solicitudes POST con la notificación en el cuerpo de la solicitud como JSON [1] . A continuación, se muestra un conjunto completo de notificaciones de un trabajo de ingesta de video típico:

{
      "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"
    }

Campos de notificación

Artículo Descripción
status estarán FAILED si la ingesta o la creación de una versión no se realizó correctamente, SUCCESS si la solicitud tuvo éxito
accountId la identificación de la cuenta
videoId la identificación del video
jobId el ID de trabajo para la solicitud de ingesta dinámica
entity ya sea el nombre de la entidad o el ID de Video Cloud del video para el TÍTULO
entityType el tipo de activo sobre el que se informa, por ejemplo: TITLE (un video), DIGITAL_MASTER, ASSET (una interpretación, un archivo de subtítulos o una imagen)
bitrate tasa de bits para una interpretación
width ancho de fotograma para una interpretación
height altura del marco para una interpretación
errorMessage una explicación de por qué la ingestión falló si lo hizo
version una cadena siempre igual a "1"
action la acción que ocurrió - por ejemplo, CREAR

Interpretación de notificaciones

Una notificación que contiene "action": "CREATE" y "status": "SUCCESS" indica la finalización de un proceso.

  • Si el entityType es TITLE , entonces se completa el procesamiento de un video ingerido.
  • Para entityType: TITLE , action: PUBLISH se refiere al tiempo que el video está activado. Para los videos que están inmediatamente activos, será aproximadamente el mismo tiempo que el CREATE hora.
  • Si el entityType es ASSET , DYNAMIC_RENDITION o DIGITAL_MASTER , entonces se ha agregado correctamente a su video una representación, una imagen, un manifiesto, un archivo WebVTT o un maestro digital.

Cortafuegos

En caso de que su organización tenga una política estricta con respecto a las fuentes de tráfico entrante a través de su firewall, permitimos las direcciones IP de AWS us-east-1 / Virginia. Esto está sujeto a cambios, por lo que todas las direcciones IP de AWS deben incluirse en la lista blanca. Ver https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html para más información.