Programación de la generación de clips para una transmisión en vivo

Con el extremo Clip, puede programar el evento de clip de un trabajo en vivo existente. A la hora especificada, nuestro sistema realizará las llamadas API necesarias para iniciar un trabajo de clip en su nombre.

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 API

Cuerpo 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
		}
	}