API en direct : Sorties RTMP

Cette rubrique explique comment vous pouvez générer RTMP à l'aide de l'API Live. Les sorties RTMP sont utiles lorsque vous diffuserez sur une plate-forme qui ne prend pas en charge les flux en direct HLS.

Informations générales

Pour utiliser les sorties RTMP, veuillez tenir compte de ce qui suit

  • Vous devez avoir acheté des heures d' événement ou un forfait de marketing numérique
  • Les heures de sortie RTMP seront facturées en fonction des heures d'événement
  • Ils sont limités à 5 sorties par tâche en direct
  • Vous pouvez définir un label où l'étiquette peut choisir l'un des rendus de sortie sélectionnés pour le flux. Si la label n'est pas défini, la sortie sera par défaut la source d'entrée.
  • Ils peuvent être utilisés avec des tâches standard et des événements récurrents (SEP).
  • Ils peuvent être utilisés pour des événements ou des diffusions 24 h/24 et 7 j/7.
  • Ils peuvent être démarrés et arrêtés indépendamment de n'importe quel flux en direct.
  • Pour les travaux SEP créés avant l'implémentation de la fonction de sortie RTMP, la fonction ne fonctionnera pas entièrement : sur l'API, elle affichera un échec même si la sortie RTMP est réellement créée. Pour de meilleurs résultats, créez une nouvelle tâche SEP pour utiliser la fonction de sortie RTMP.
  • Lors de l'utilisation d'une sortie RTMP avec un travail standard (non SEP), le flux de sortie RTMP se terminera à la fin du travail.
  • Sorties RTMP faire Support rtmps URL, et nous vous recommandons de les utiliser si la plate-forme de médias sociaux les prend en charge. Notez également qu'à partir du 1er mai 2019, Facebook n'autorisera que le RTMPS.
  • Les seul format actuel pris en charge pour les URL RTMP est rtmps://host:port/application/streamName.

Notifications

Vous pouvez configurer des notifications pour rtmp_output_state_changed événements. Des notifications seront envoyées pour les états suivants :

b
États de sortie RTMP
États de sortie RTMP (signalé pour rtmp_output_state_changed notifications en tant que state)
starting Le flux démarre.
connected L'encodeur est connecté.
Disconnected L'encodeur s'est déconnecté.
error Le flux n'a pas réussi à se connecter.
pending_deactivation Le point d'entrée a été mis en file d'attente pour le nettoyage du flux de travail.
deactivation_in_progress Le point d'entrée est en train de se déconnecter du flux de travail.
cancelled Le point d'entrée a été annulé.
finished Le point d'entrée s'est terminé avec succès.

Les notifications pour les sorties RTMP doivent être définies au le niveau d'emploi lorsque vous créez le travail en direct.

Pour voir les différents state valeurs rapportées pour les sorties RTMP, voir Notifications en direct.

Création de sorties RTMP

Vous devrez d'abord créer une tâche en direct comme vous le faites normalement, puis effectuer une demande supplémentaire pour créer le ou les points de terminaison RTMP.

Remarque : il est possible que dans certaines situations, comme l'activation/la désactivation du travail, cet appel d'API renvoie une erreur. Si cela se produit, veuillez réessayer après une pause.

Point de terminaison

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

Méthode

POST

Corps de la demande

	{
		"url": "rtmps://host:port/application/streamName",
		"output_label": "480p"
	}
Champs du corps de la demande
Nom du champ Obligatoire Type Description
url oui chaîne L'URL de la sortie RTMP - exemple rtmp://live-api-s.facebook.com:80/rtmp/my_stream
output_label non chaîne L'étiquette de la sortie de tâche à utiliser comme source pour la sortie RTMP. Omettez ce paramètre pour utiliser simplement l'entrée RTMP à la place.

Exemple de réponse

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

Obtenir des sorties RTMP

Point de terminaison

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

Méthode

GET

Exemple de réponse

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

Arrêter une sortie RTMP

Point de terminaison

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

Méthode

PUT

Exemple de réponse

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