API en vivo: Salidas RTMP

Este tema explica cómo puede generar RTMP utilizando Live API. Las salidas RTMP son útiles cuando va a transmitir a una plataforma que no admite transmisiones en vivo de HLS.

Información general

Para utilizar salidas RTMP, tenga en cuenta lo siguiente

  • debes haber comprado horas del evento , o cualquier paquete de Marketing Digital
  • Las horas de salida de RTMP se facturarán contra las horas del evento.
  • Están limitados a 5 salidas por trabajo en vivo.
  • Puede definir un label donde la etiqueta puede elegir una de las representaciones de salida seleccionadas para la transmisión. Si el label no está configurado, la salida se establecerá de forma predeterminada en la fuente de entrada.
  • Se pueden utilizar con trabajos estándar y eventos recurrentes (SEP).
  • Se pueden utilizar para eventos o transmisiones 24 horas al día, 7 días a la semana.
  • Se pueden iniciar y detener independientemente de cualquier transmisión en vivo.
  • Para los trabajos SEP que se crearon antes de que se implementara la función de salida de RTMP, la función no funcionará por completo: en la API mostrará una falla aunque la salida de RTMP se haya creado realmente. Para obtener los mejores resultados, cree un nuevo trabajo SEP para utilizar la función de salida RTMP.
  • Cuando se utiliza una salida RTMP con un trabajo estándar (no SEP), el flujo de salida RTMP finalizará cuando finalice el trabajo.
  • Salidas RTMP hacer apoyo rtmps URL, y recomendamos usarlas si la plataforma de redes sociales las admite. También tenga en cuenta que a partir del 1 de mayo de 2019, Facebook solo permitirá RTMPS.
  • La solo el formato actual es compatible con las URL RTMP es rtmps://host:port/application/streamName.

Notificaciones

Puede configurar notificaciones para rtmp_output_state_changed eventos. Se enviarán notificaciones para los siguientes estados:

b
Estados de salida RTMP
Estados de salida RTMP (reportado para rtmp_output_state_changed notificaciones como state)
starting La transmisión está comenzando.
connected El codificador se ha conectado.
Disconnected El codificador se ha desconectado.
error La transmisión no se pudo conectar.
pending_deactivation El punto de entrada se ha puesto en cola para la limpieza del trabajador de transmisión.
deactivation_in_progress El punto de entrada se está desconectando del trabajador de transmisión.
cancelled El punto de entrada ha sido cancelado.
finished El punto de entrada se ha completado con éxito.

Las notificaciones para las salidas RTMP deben configurarse en el nivel de trabajo cuando crea el trabajo en vivo.

Para ver lo diferente state valores informados para las salidas RTMP, consulte Notificaciones en vivo.

Creando salidas RTMP

Primero deberá crear un trabajo en vivo como lo hace normalmente y luego realizar una solicitud adicional para crear los puntos finales RTMP.

Nota: es posible en determinadas situaciones, como activar / desactivar el trabajo, que esta llamada a la API devuelva un error, si eso sucede, vuelva a intentarlo después de una pausa.

Punto final

	https://api.bcovlive.io/v1/jobs/{jobId}/rtmpouts

Método

POST

Cuerpo de la solicitud

	{
		"url": "rtmps://host:port/application/streamName",
		"output_label": "480p"
	}
Solicitar campos de cuerpo
Nombre de campo Requerido Tipo Descripción
url cuerda La URL para la salida de RTMP - ejemplo rtmp://live-api-s.facebook.com:80/rtmp/my_stream
output_label no cuerda La etiqueta de la salida del trabajo que se utilizará como origen de la salida RTMP. Omita este parámetro para usar simplemente la entrada RTMP en su lugar.

Respuesta de muestra

	{
		"host": "live-api-s.facebook.com",
		"port": 80,
		"application": "rtmp",
		"streamName": "my_stream",
		"rtmp_out_id": "asdfg-lkjh"
	}

Obtenga salidas RTMP

Punto final

	https://api.bcovlive.io/v1/jobs/{jobId}/rtmpouts

Método

GET

Respuesta de muestra

	[
		{
			"rtmp_out_id": "asdfg-lkjh",
			"stream_start": 1538746255247,
			"connection_info": {
				"host": "a.rtmp.youtube.com",
				"port": 1935,
				"application": "live2",
				"streamName": "my_stream",
				"sessionStatus": "Active"
			}
		}
	]

Detener una salida RTMP

Punto final

	https://api.bcovlive.io/v1/jobs/{jobId}/rtmpouts/{rtmp_out_id}/stop

Método

PUT

Respuesta de muestra

	{
		"message": "RTMP out asdfg-lkjh deleted successfully"
	}