Requisitos
- La clave de API en vivo para su cuenta.
- Su cuenta real debe tener habilitada la anulación del programador.
Crear un flujo de trabajo del programador de clips
Al crear un clip, debe especificar tanto el límite de tiempo del clip (en el output
campo) y una hora programada (time_utc
campo) para realizar la solicitud de clip.
La output
campo en el cuerpo de la solicitud admite todos los mismos campos de la outputs
campo en el punto final estándar de VOD. Sin emabargo, Los clips programados solo admiten una salida única en lugar de una lista. Ver Documentos de soporte de recorte de VOD para obtener detalles sobre los campos disponibles.
Normalmente, establecería time_utc
para que coincida con el límite final de su clip. La hora programada DEBER estar después del límite final del clip; de lo contrario, la solicitud del clip fallará a la hora programada.
Marcas de tiempo para el time_utc
El campo debe estar en UTC formateado como marca de tiempo Unix en segundos. Puedes usar https://www.unixtimestamp.com/ para la conversión.
Digamos que queremos programar un clip de 15 minutos que comenzará a las 2021-02-09T13:55:00+00:00
. Podemos usar el output.start_time
y output.end_time
para especificar nuestro límite de clip como tiempo Unix en segundos. (De nuevo, vea Documentos de soporte de recorte de VOD para obtener detalles sobre los campos disponibles).
start_time:
2021-02-09T13:55:00+00:00 = 1612878900
end_time:
2021-02-09T14:10:00+00:00 = 1612879800
Dado que el programador también requerirá un tiempo para programar la solicitud de clip, podemos usar el mismo valor que end_time
ya que también es tiempo de Unix en segundos.
También queremos crear un Videocloud Video para el clip, por lo que lo incluimos en el output
. Se creará un video de Videocloud en el momento de programar el flujo de trabajo y su identificación se devolverá en la respuesta para que pueda conocer la identificación del video antes de realizar el clip. Si luego cancela la solicitud del clip o falla a la hora programada, el video de Videocloud NO se eliminará de su cuenta.
Solicitud
Para crear el flujo de trabajo, haga lo siguiente POST
pedido:
https://api.bcovlive.io/v1/scheduler/clip
Encabezados
Content-Type: application/json
X-API-KEY: your API Key
Cuerpo de la solicitud
{
"job_id": "your Job ID",
"description": "My Scheduled Clip",
"clip": {
"output": {
"label": "My Scheduled Clip",
"start_time": 1612878900,
"end_time": 1612879800,
"videocloud": {
"video": {
"name": "My Scheduled Clip"
}
}
},
"time_utc": 1612879800
}
}
Respuesta de muestra
{
"account_id": "your Account ID",
"description": "My Tuesday Clip",
"type": "clip",
"job_id": "your Job ID",
"clip": {
"state": "pending",
"output": {
"label": "My Scheduled Clip",
"start_time": 1612878900,
"end_time": 1612879800,
"videocloud": {
"video": {
"id": "70702010152202",
"name": "My Scheduled Clip"
}
}
},
"time_utc": 1612879800
}
"workflow_id": "d44cf29f4f184757ac0995beb8a0097e",
}
Tenga en cuenta que clip.output.videocloud.video.id
contiene el ID del video de Videocloud recién creado. A time_utc
la fuente de video se actualizará con el clip ingerido.
Actualizar un flujo de trabajo del programador de clips
Puede actualizar tanto el output
y time_utc
de su clip. Estos solo se pueden actualizar si el trabajo está en estado pendiente: "state": "pending"
.
Siguiendo el ejemplo anterior, queremos que el clip sea 5 minutos más corto de lo planeado. Al actualizar el output
campo, debe proporcionar el objeto completo, no solo los cambios que se están realizando. Esto incluye el ID de video de Videocloud devuelto por la llamada de creación anterior.
Tenga en cuenta que en este ejemplo, actualizamos ambos end_time
y time_utc
para reflejar la reducción de 5 minutos.
Solicitud
Para actualizar el flujo de trabajo, haga lo siguiente PUT
pedido:
https://api.bcovlive.io/v1/scheduler/clip/{workflow_id}
Encabezados
Content-Type: application/json
X-API-KEY: your API Key
Cuerpo de la solicitud
{
"clip": {
"output": {
"label": "My Scheduled Clip",
"start_time": 1612878900,
"end_time": 1612879500,
"videocloud": {
"video": {
"id": "70702010152202",
"name": "My Scheduled Clip"
}
}
},
"time_utc": 1612879500
}
}
Respuesta de muestra
{
"account_id": "your Account ID",
"description": "My Tuesday Clip",
"type": "clip",
"job_id": "your Job ID",
"clip": {
"state": "pending",
"output": {
"label": "My Scheduled Clip",
"start_time": 1612878900,
"end_time": 1612879500,
"videocloud": {
"video": {
"id": "70702010152202",
"name": "My Scheduled Clip"
}
}
},
"time_utc": 1612879500
}
"workflow_id": "d44cf29f4f184757ac0995beb8a0097e",
}
Cancelar un flujo de trabajo del programador de clips
Puede cancelar el clip con un DELETE
pedido.
Tenga en cuenta que al cancelar el flujo de trabajo de un clip, cualquier video de Videocloud creado en el momento de la programación NO ser eliminado por el backend. Debe eliminar los videos huérfanos de su cuenta de Videocloud manualmente.
Solicitud
Para actualizar el flujo de trabajo, haga lo siguiente DELETE
pedido:
https://api.bcovlive.io/v1/scheduler/clip/{workflow_id}
Encabezados
X-API-KEY: su clave APICuerpo de la solicitud
No hay un cuerpo de solicitud para esta solicitud.
Respuesta de muestra
{
"account_id": "your Account ID",
"description": "My Tuesday Clip",
"type": "clip",
"job_id": "your Job ID",
"clip": {
"state": "cancelled",
"output": {
"label": "My Scheduled Clip",
"start_time": 1612878900,
"end_time": 1612879500,
"videocloud": {
"video": {
"id": "70702010152202",
"name": "My Scheduled Clip"
}
}
},
"time_utc": 1612879500
}
"workflow_id": "d44cf29f4f184757ac0995beb8a0097e",
}
Notificaciones
Opcionalmente, puede configurar notificaciones al crear el flujo de trabajo. Debe proporcionar una URL para que nuestro servicio POST
a. Enviaremos una notificación cuando el programador realice la llamada de clip. También puede configurar para recibir una notificación n
segundos antes del clip. Ver el Notificaciones del programador en vivo para más detalles.
Cuerpo de solicitud de muestra
{
"job_id": "your Job ID",
"description": "My Scheduled Clip",
"notification_url": "https://example.com/live/clip/callbacks",
"clip": {
"output": {
"label": "My Scheduled Clip",
"start_time": 1612878900,
"end_time": 1612879800,
"videocloud": {
"video": {
"name": "My Scheduled Clip"
}
}
},
"time_utc": 1612879800,
"notification": 600
}
}