Live-API: RTMP-Ausgänge

In diesem Thema wird erläutert, wie Sie RTMP mithilfe der Live-API ausgeben können. RTMP-Ausgaben sind nützlich, wenn Sie auf eine Plattform streamen, die HLS-Livestreams nicht unterstützt.

Allgemeine Information

Um RTMP-Ausgänge zu verwenden, beachten Sie bitte Folgendes

  • Sie müssen Veranstaltungsstunden oder ein beliebiges digitales Marketingpaket gekauft haben
  • RTMP-Ausgabestunden werden mit den Veranstaltungsstunden verrechnet
  • Sie sind auf 5 Ausgaben pro Live-Job begrenzt
  • Sie können eine definieren label, bei der das Label eine der für den Stream ausgewählten Ausgabe-Formatvarianten auswählen kann. Wenn die label nicht eingestellt ist, wird der Ausgang standardmäßig auf die Eingangsquelle gesetzt.
  • Sie können mit Standardjobs und wiederkehrenden Ereignissen (SEP) verwendet werden.
  • Sie können für Events oder 24/7-Streams verwendet werden.
  • Sie können unabhängig von jedem Livestream gestartet und gestoppt werden.
  • Bei SEP-Jobs, die erstellt wurden, bevor die RTMP-Ausgabefunktion implementiert wurde, funktioniert die Funktion nicht vollständig: Auf der API wird ein Fehler angezeigt, obwohl die RTMP-Ausgabe tatsächlich erstellt wird. Die besten Ergebnisse erzielen Sie, wenn Sie einen neuen SEP-Job erstellen, um die RTMP-Ausgabefunktion zu verwenden.
  • Bei Verwendung einer RTMP-Ausgabe mit einem Standardjob (Nicht-SEP) endet der RTMP-Ausgabestream, wenn der Job endet.
  • RTMP-Ausgänge tun Unterstützung rtmps URLs, und wir empfehlen, sie zu verwenden, wenn die Social-Media-Plattform sie unterstützt. Beachten Sie auch, dass Facebook ab dem 1. Mai 2019 nur noch RTMPS zulässt.
  • Die nur aktuelles Format für RTMP-URLs unterstützt ist rtmps://host:port/application/streamName.

Benachrichtigungen

Sie können Benachrichtigungen einrichten für rtmp_output_state_changed Veranstaltungen. Für die folgenden Staaten werden Benachrichtigungen gesendet:

b
RTMP-Ausgangszustände
RTMP-Ausgangszustände (gemeldet für rtmp_output_state_changed Benachrichtigungen als state)
starting Der Stream startet.
connected Der Encoder hat sich verbunden.
Disconnected Der Encoder hat sich getrennt.
error Der Stream konnte nicht verbunden werden.
pending_deactivation Der Einstiegspunkt wurde für die Bereinigung vom Streaming-Worker in die Warteschlange gestellt.
deactivation_in_progress Der Einstiegspunkt trennt die Verbindung zum Streaming-Worker.
cancelled Der Einstiegspunkt wurde abgebrochen.
finished Der Einstiegspunkt wurde erfolgreich abgeschlossen.

Benachrichtigungen für RTMP-Ausgaben müssen am Job-Ebene wenn Sie den Live-Job erstellen.

Um die Unterschiede zu sehen state gemeldete Werte für RTMP-Ausgänge, siehe Live-Benachrichtigungen.

Erstellen von RTMP-Ausgaben

Sie müssen zunächst wie gewohnt einen Live-Job erstellen und dann eine zusätzliche Anforderung zum Erstellen der RTMP-Endpunkte stellen.

Hinweis: In bestimmten Situationen wie dem Aktivieren/Deaktivieren des Jobs ist es möglich, dass dieser API-Aufruf einen Fehler zurückgibt. Wenn dies passiert, versuchen Sie es bitte nach einer Pause erneut.

Endpunkt

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

Methode

POST

Anfragetext

	{
		"url": "rtmps://host:port/application/streamName",
		"output_label": "480p"
	}
Anfragetextfelder
Name des Feldes Erforderlich Typ Beschreibung
url Ja Schnur Die URL für die RTMP-Ausgabe - Beispiel rtmp://live-api-s.facebook.com:80/rtmp/my_stream
output_label nein Schnur Die Bezeichnung der Jobausgabe, die als Quelle für die RTMP-Ausgabe verwendet werden soll. Lassen Sie diesen Parameter weg, um stattdessen einfach die RTMP-Eingabe zu verwenden.

Beispielantwort

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

Holen Sie sich RTMP-Ausgaben

Endpunkt

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

Methode

GET

Beispielantwort

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

Stoppen einer RTMP-Ausgabe

Endpunkt

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

Methode

PUT

Beispielantwort

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