Schnellstart: Erstellen eines Live-Streams mit der Brightcove Live-API

Dieses Tutorial führt Sie durch die Erstellung eines Live-Stream-Jobs mithilfe der Live-API.

Was du brauchst

Um dieses Tutorial abzuschließen, benötigen Sie Folgendes.

  • Ein für die Live-API eingerichtetes Konto
  • Ein API-Schlüssel für die Live-API (wird Ihnen bei der Einrichtung des Kontos zur Verfügung gestellt)
  • Ein Video Cloud-Konto (nicht erforderlich, um den Livestream-Auftrag zu erstellen, aber erforderlich, um die Wiedergabe im Brightcove Player einzurichten)
  • Wenn Sie die verwenden CMS API Um das Video Cloud-Video anstelle von Studio zu erstellen, benötigen Sie Client-Anmeldeinformationen mit Video- / Lese- und Video- / Schreibberechtigungen. Wenn Sie mit dem Abrufen von Client-Anmeldeinformationen nicht vertraut sind, lesen Sie die Authentifizierung Abschnitt unten.
  • Die Möglichkeit, REST-API-Anfragen entweder über cURL oder ein REST-Client wie Schlaflosigkeit oder Postbote.

    Um Ihnen zu helfen, haben wir einige Importe von Insomnia und Postman vorbereitet, die Sie für die Übung verwenden können (bei Brightcove Learning Services bevorzugen und verwenden wir Insomnia, aber Postman funktioniert auch, wenn Sie dies haben):

    In jeder der ZIP-Dateien finden Sie eine Readme-Seite, die Ihnen weiterhilft.

  • Um einen tatsächlichen Live-Stream zu erstellen, benötigen Sie entweder einen Software- oder Hardware-Encoder für das Live-Streaming. Die folgenden Anweisungen enthalten Schritte zum Einrichten des Live-Streams mit Wirecast ( melden Sie sich für eine Testversion an). Wenn Sie einen anderen Encoder verwenden, unterscheidet sich der Prozess, sollte jedoch in Bezug auf die Informationen, die Sie aus der Live-API-Antwort benötigen, ähnlich sein.

Zugangsdaten für die CMS-API abrufen

So verwenden Sie die CMS API Sie benötigen die richtigen Anmeldeinformationen.

Der einfachste Weg, um Anmeldeinformationen zu erhalten, ist in den meisten Fällen der Abschnitt Studio-Admin-API-Authentifizierung (erfordert Administratorberechtigungen für Ihr Konto). Sehen Verwalten von Anmeldeinformationen für die API-Authentifizierung für Details. In diesem Fall sind die erforderlichen Berechtigungen für Beziehungen teilen - Sie benötigen sowohl Lese- als auch Schreibrechte:

Beziehungsberechtigungen teilen
Beziehungsberechtigungen teilen

Wenn die benötigten Berechtigungen in Studio nicht verfügbar sind oder wenn Sie sie lieber direkt von der OAuth-API erhalten möchten, verwenden Sie Ihre Wahl aus der Erhalten Sie Client-Anmeldeinformationen unten aufgeführten Dokumente. Für welche Option Sie sich auch entscheiden, Sie müssen nach den richtigen Betriebsberechtigungen fragen. Folgendes kann mit cURL oder Postman verwendet werden, um die richtigen Berechtigungen zu erhalten:

"operations": [
    "video-cloud/videos/read",
    "video-cloud/videos/create",
    "video-cloud/videos/update"]

Live-Job erstellen

Zuerst erstellen wir den Live-Job.

  1. Für diesen Schritt senden Sie ein POST Anfrage zu:
    https://api.bcovlive.io/v1/jobs

    Verwenden Sie Folgendes als Anforderungstext:

    {
        "live_stream": true,
        "region": "us-west-2",
        "reconnect_time": 1800,
        "outputs": [
            {
                "label": "hls720p",
                "live_stream": true,
                "width": 1280,
                "height": 720,
                "video_codec": "h264",
                "h264_profile": "high",
                "video_bitrate": 2100,
                "segment_seconds": 4,
                "keyframe_interval": 60
            },
            {
                "label": "hls540p",
                "live_stream": true,
                "width": 960,
                "height": 540,
                "video_codec": "h264",
                "h264_profile": "main",
                "video_bitrate": 1500,
                "segment_seconds": 4,
                "keyframe_interval": 60
            },
            {
                "label": "hls360p",
                "live_stream": true,
                "width": 640,
                "height": 360,
                "video_codec": "h264",
                "h264_profile": "main",
                "video_bitrate": 800,
                "segment_seconds": 4,
                "keyframe_interval": 60
            }
        ]
    }
  2. Wenn Sie einen REST-Client wie Insomnia oder Postman verwenden, müssen Sie die folgenden Header für Ihre Anfrage hinzufügen:
    Taste Wert
    X-API-SCHLÜSSEL IHR API-SCHLÜSSEL
    Inhaltstyp anwendung/json

    Verwenden Sie den in Schritt 1 oben gezeigten Anforderungstext und stellen Sie sicher, dass Sie die Anforderung mit der POST-Methode senden.

  3. Die Antwort der API sollte ungefähr so aussehen:
    Beispielantwort
    		{
    				"id": "15981d93877e490185e6ebc9af2c79a3",
    				"outputs": [
    						{
    								"id": "0-15981d93877e490185e6ebc9af2c79a3",
    								"playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_0/chunklist.m3u8",
    								"playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_0/chunklist_dvr.m3u8",
    								"playback_url_vod": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_0/chunklist_vod.m3u8",
    								"label": "hls720p"
    						},
    						{
    								"id": "1-15981d93877e490185e6ebc9af2c79a3",
    								"playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_1/chunklist.m3u8",
    								"playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_1/chunklist_dvr.m3u8",
    								"playback_url_vod": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_1/chunklist_vod.m3u8",
    								"label": "hls540p"
    						},
    						{
    								"id": "2-15981d93877e490185e6ebc9af2c79a3",
    								"playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_2/chunklist.m3u8",
    								"playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_2/chunklist_dvr.m3u8",
    								"playback_url_vod": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_2/chunklist_vod.m3u8",
    								"label": "hls360p"
    						},
    						{
    								"id": "3-15981d93877e490185e6ebc9af2c79a3",
    								"playlist_type": "defaultS3",
    								"type": "playlist",
    								"filename": "playlist.m3u8",
    								"dvr_filename": "playlist_dvr.m3u8",
    								"playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/playlist.m3u8",
    								"playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/playlist_dvr.m3u8",
    								"ssai_playback_urls": {
    										"685b239f582c42fca49da33be4f2328e": {
    												"playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/685b239f582c42fca49da33be4f2328e/playlist_ssaiM.m3u8",
    												"playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/685b239f582c42fca49da33be4f2328e/playlist_dvr_ssaiM.m3u8",
    												"playback_added_cdns": [],
    												"description": "House Ads - a95ac581551b4478b27910e5675db1f8",
    												"type": "ads"
    										},
    										"c96e2d00d6744c65a3eddb15425e4a51": {
    												"playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/counter/playlist_ssaiM.m3u8",
    												"playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/counter/playlist_dvr_ssaiM.m3u8",
    												"playback_added_cdns": [],
    												"description": "House Counter - a95ac581551b4478b27910e5675db1f8",
    												"type": "counter"
    										}
    								}
    						}
    						],
    						"stream_url": "rtmp://ep1-apse2.bcovlive.io:1935/15981d93877e490185e6ebc9af2c79a3",
    						"stream_name": "alive",
    						"encryption": {},
    						"playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/playlist.m3u8",
    						"playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/playlist_dvr.m3u8",
    						"ssai_playback_urls": {
    								"685b239f582c42fca49da33be4f2328e": {
    								"playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/685b239f582c42fca49da33be4f2328e/playlist_ssaiM.m3u8",
    								"playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/685b239f582c42fca49da33be4f2328e/playlist_dvr_ssaiM.m3u8",
    								"playback_added_cdns": [],
    								"description": "House Ads - a95ac581551b4478b27910e5675db1f8",
    								"type": "ads"
    								},
    								"c96e2d00d6744c65a3eddb15425e4a51": {
    								"playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/counter/playlist_ssaiM.m3u8",
    								"playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/counter/playlist_dvr_ssaiM.m3u8",
    								"playback_added_cdns": [],
    								"description": "House Counter - a95ac581551b4478b27910e5675db1f8",
    								"type": "counter"
    						}
    				}
    		}
    		
    		
  4. Für unsere Zwecke sind die wichtigen Felder in der Antwort:
    • stream_url (Zeile 51)
    • stream_name (Zeile 52)
    • play_url (Zeile 54)

    Sie benötigen die Werte dieser Felder - aus Ihrer eigenen Antwort - in den folgenden Schritten.

Video Cloud-Video einrichten

Da wir nun über die Livestream-Informationen verfügen, richten wir ein Remote-Video in Video Cloud ein, damit wir es in einem Brightcove-Player wiedergeben können.

In diesen Schritten richten wir das Video mithilfe der CMS-API ein. Dies kann jedoch auch in Video Cloud Studio erfolgen, wenn Sie dies bevorzugen. Sehen Sie sich die alternativen Schritte unten an.

Wenn Sie Insomnia oder Postman verwenden, müssen Sie die OAuth2-Authentifizierung mit Ihren Client-Anmeldeinformationen einrichten. Sehen Sie sich eine der folgenden Anleitungen an, wenn Sie Hilfe benötigen:

  1. Zuerst müssen Sie ein neues Video erstellen, indem Sie a POST Anfrage zu:

    https://cms.api.brightcove.com/v1/accounts/account_id/videos
  2. Der Anfragetext kann mehrere Metadaten enthalten (siehe die API-Referenz für Details), aber das einzige, was erforderlich ist, ist a name:

    {
        "name": "some name for your live stream"
    }
  3. Die Antwort enthält alle Video-Metadaten, aber das wichtige Feld ist das id, das Sie zum Hinzufügen des Remote-Assets benötigen.

  4. Um den HLS-Stream hinzuzufügen, erstellen Sie einen weiteren POST Anfrage zu:

    https://cms.api.brightcove.com/v1/accounts/account_id/videos/video_id/assets/hls_manifest
  5. Diesmal lautet der Anfragetext:

    {
        "remote_url": "playback_url for your live stream"
    }

Video zu einem Player hinzufügen

Jetzt erstellen wir eine einfache HTML-Seite und fügen ihr einen Player mit dem gerade erstellten Video hinzu.

  1. Erstellen Sie eine einfache HTML-Seite, um den Livestream-Player zu testen. Sie können beliebige andere oder gar keine Inhalte hinzufügen.
  2. Wählen Sie im Studio Media Module das in den vorherigen Schritten erstellte Video aus und klicken Sie auf Veröffentlichen und einbetten > Web Player:
    Video veröffentlichen
    Video veröffentlichen
  3. Wählen Sie im Dialogfeld „Veröffentlichen“ einen Player aus (der Brightcove-Standardplayer ist in Ordnung):
    Spieler auswählen
    Spieler auswählen
  4. Scrollen Sie nach unten, stellen Sie die Größe des Players wie gewünscht ein und klicken Sie dann in den Codeblock, um den Standard-Player-Code auszuwählen - kopieren Sie diesen Code und fügen Sie ihn in den Hauptteil Ihrer HTML-Seite ein:
    Veröffentlichungscode abrufen
    Veröffentlichungscode abrufen
  5. Speichern Sie Ihre HTML-Seite auf einem Remote-oder lokalen Webserver, damit Sie sie durchsuchen können.
  6. Öffnen Sie die Seite in Ihrem Webbrowser. Da wir noch nicht mit dem Steamen begonnen haben, wird ein Medienfehler angezeigt:
    Medienfehler
    Medienfehler

cURL-Befehle

Dieser Abschnitt bietet alternative cURL-Befehle für diejenigen, die keinen REST-Client wie Insomnia oder Postman verwenden.

cURL zum Erstellen eines Live-Jobs

## Create Job - Simple
	curl -X "POST" "https://api.bcovlive.io/v1/jobs" \
	-H "X-API-KEY: YOUR_API_KEY_HERE" \
	-H "Content-Type: application/json" \
	-d $'{
	"outputs": [
	{
	"height": 720,
	"video_bitrate": 2100,
	"segment_seconds": 4,
	"keyframe_interval": 60,
	"width": 1280,
	"video_codec": "h264",
	"label": "hls720p",
	"h264_profile": "high",
	"live_stream": true
	},
	{
	"height": 540,
	"video_bitrate": 1500,
	"segment_seconds": 4,
	"keyframe_interval": 60,
	"width": 960,
	"video_codec": "h264",
	"label": "hls540p",
	"h264_profile": "main",
	"live_stream": true
	},
	{
	"height": 360,
	"video_bitrate": 800,
	"segment_seconds": 4,
	"keyframe_interval": 60,
	"width": 640,
	"video_codec": "h264",
	"label": "hls360p",
	"h264_profile": "main",
	"live_stream": true
	}
	],
	"region": "us-west-2",
	"reconnect_time": 1800,
	"live_stream": true
	}'

Kopiere den Code in einen Texteditor und ersetze YOUR_API_KEY_HERE mit Ihrem eigenen API-Schlüssel. Kopieren Sie dann den Code, fügen Sie ihn in eine Befehlszeile ein und führen Sie ihn aus.

Verwenden Sie Studio, um das Video zu erstellen

Hier sind alternative Schritte zum Erstellen des Videos in Studio.

  1. Melden Sie sich bei Video Cloud Studio an.
  2. Gehen Sie zum Medienmodul.
  3. Klicken Sie in den Optionen auf der linken Seite auf Remote-Video hinzufügen:
    Remote-Video-Menüelement hinzufügen
    Remote-Video-Menüelement hinzufügen
  4. In dem Remote-Video hinzufügen Dialog, fügen Sie einen Videonamen hinzu und kopieren Sie den Wert für das playback_url aus der Live-API-Antwort in das URL-Feld. Klicken Sie dann auf Formatvariante hinzufügen und auf Speichern:
    Dialog zum Hinzufügen einer Wiedergabeversion
    Dialog zum Hinzufügen einer Wiedergabeversion

Verwenden Sie Wirecast, um eine Veranstaltung zu streamen

In diesem Abschnitt werden wir den Telestream Wirecast-Encoder konfigurieren und verwenden, um ein Live-Streaming-Ereignis zu unterstützen. Die Telestream Wirecast-Software ist eine Desktop-Anwendung, die Eingaben von Ihrer Kamera erfasst und einen Stream erzeugt, der von einem CDN bereitgestellt werden kann. Beachten Sie, dass es hardware- und andere softwarebasierte Codierungslösungen gibt, die möglicherweise besser für die Bereitstellung Ihres Live-Streaming-Events geeignet sind. Sie können eine Testversion der Wirecast-Software von der Telestream-Website.

Hinweis: Sie sollten die Wirecast-Software installiert und eine Kamera an Ihren Computer angeschlossen haben, bevor Sie fortfahren.

Gehen Sie folgendermaßen vor, um Wirecast für ein Live-Ereignis zu konfigurieren.

  1. Öffnen Sie Wirecast.
  2. Bewegen Sie den Mauszeiger über die +, klicken Aufnahmegeräte und wählen Sie dann Ihre Kamera aus.
    Kamera auswählen
    Auswählen einer Kamera
  3. Klicken Sie auf die Pfeiltaste ( ) , um die Kameraaufnahme zur Live-Aufnahme zu machen.
    Kameraeinrichtung
    Konfiguration der Wirecast-Kamera
  4. Klicken Sie auf die Stream-Schaltfläche ( ). Sie werden aufgefordert, die Ausgabeeinstellungen zu konfigurieren.
  5. Stellen Sie die Ziel zu RTMP-Server. Klicken OK.
  6. Für die Adresse , verwenden Sie die stream_url von der Live-API zurückgegeben (Schritt 3).
  7. Verwenden Sie für den Stream live.
    Ausgabeeinstellungen
    Wirecast-Ausgangseinstellungen
  8. (Optional) Um zusätzliche Ausgabestreams zu erstellen, klicken Sie auf Hinzufügen... Wenn Sie zusätzliche Ausgabestreams erstellen, möchten Sie möglicherweise Ihr eigenes benutzerdefiniertes Codierungsprofil erstellen, um die Ausgabebitrate zu steuern. Stellen Sie sicher, dass die Strom Name spiegelt die neue Bitrate wider.
  9. Klicken OK um die Ausgabeeinstellungen zu speichern.
  10. Klicken Sie auf die Stream-Schaltfläche ( ). Der Livestream sollte beginnen.

Abschluss

Sie können jetzt eine Live-Streaming-Sitzung erstellen. Sie müssen Ihrer Encoder-Konfiguration Folgendes hinzufügen:

  • stream_url: Ergänzen Sie die stream_url von deinem Job (die rtmp die Anschrift)
  • stream_name: Der Streamname muss lauten alive

Sobald Sie den Livestream starten, sollte er im Brightcove-Player angezeigt werden, den Sie in den vorherigen Schritten erstellt haben.