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 direcciones URL que especifique deben ser para aplicaciones que puedan aceptar solicitudes POST. Las notificaciones se enviarán en formato JSON.
Configuración
Aquí hay un ejemplo.
- Usuario con ID de pub 57838016001
- Quiere usar la ingesta dinámica para cargar un archivo de vídeo de origen ubicado en https://s3.amazonaws.com/bucket/mysourcevideo.mp4
- Quiere cargar un título existente en el catálogo con id de vídeo 5199670523001
- Uso del perfil estático-estandarizado multiplataforma
- Quiere recibir devoluciones de llamada en dos endpoints ubicados en http://host1/path1 y http://host2/path2 respectivamente
La solicitud DI se vería así:
Solicitud POST
Cuerpo de solicitud
{
"master": {
"url": "https://s3.amazonaws.com/bucket/mysourcevideo.mp4"
},
"profile": "multi-platform-standard-static",
"callbacks": ["http://host1/path1”, “http://host2/path2”]
}
Notificación de muestra
Las notificaciones se envían como solicitudes POST con la notificación en el cuerpo de solicitud como JSON [1]. Aquí hay un conjunto completo de notificaciones de un trabajo típico de ingesta de vídeo:
{
"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 |
será si la ingesta o creación de una copia no tuvo éxito, si la solicitud tuvo éxitoFAILED SUCCESS |
accountId |
el ID de cuenta |
videoId |
el id de vídeo |
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 vídeo para el TÍTULO |
entityType |
el tipo de activo sobre el que se informa, por ejemplo: TITLE (un vídeo), DIGITAL_MASTER, ASSET (una copia, un archivo de subtítulos o una imagen) |
bitrate |
velocidad de bits para una copia |
width |
ancho de marco para una copia |
height |
frame-height para una copia |
errorMessage |
una explicación de por qué falló la ingesta si lo hizo |
version |
una cadena siempre igual a "1" |
action |
la acción que se produjo - por ejemplo, CREATE |
Interpretación de notificaciones
Notificación que contiene "action": "CREATE"
e "status": "SUCCESS"
indica la finalización de un proceso.
- Si el
entityType
esTITLE
, entonces el procesamiento de un video ingerido está completo. - Para
entityType: TITLE
,action: PUBLISH
se refiere a la hora en que se activa el video. Para los vídeos que están inmediatamente activos, esto será aproximadamente al mismo tiempo que laCREATE
hora. - Si el
entityType
esASSET
,DYNAMIC_RENDITION
oDIGITAL_MASTER
, entonces una copia, una imagen, un manifiesto, un archivo WebVTT o un maestro digital ha sido se ha añadido correctamente a su vídeo.