Schnellstart: Erstellen Sie einen Live-Stream mit der Brightcove 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 Livestreams 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
Live-Job erstellen
Zuerst erstellen wir den Live-Job.
- 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 } ] }
- Wenn Sie einen REST-Client verwenden, wie z Schlaflosigkeit oder Postbote , 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.
- Die Antwort der API sollte ungefähr so aussehen:
{ "id": "15981d93877e490185e6ebc9af2c79a3", "outputs": [ { "id": "0-15981d93877e490185e6ebc9af2c79a3", "playback_url": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_0/chunklist.m3u8", "playback_url_dvr": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_0/chunklist_dvr.m3u8", "playback_url_vod": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_0/chunklist_vod.m3u8", "label": "hls720p" }, { "id": "1-15981d93877e490185e6ebc9af2c79a3", "playback_url": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_1/chunklist.m3u8", "playback_url_dvr": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_1/chunklist_dvr.m3u8", "playback_url_vod": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_1/chunklist_vod.m3u8", "label": "hls540p" }, { "id": "2-15981d93877e490185e6ebc9af2c79a3", "playback_url": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_2/chunklist.m3u8", "playback_url_dvr": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_2/chunklist_dvr.m3u8", "playback_url_vod": "http://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": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/playlist.m3u8", "playback_url_dvr": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/playlist_dvr.m3u8", "ssai_playback_urls": { "685b239f582c42fca49da33be4f2328e": { "playback_url": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/685b239f582c42fca49da33be4f2328e/playlist_ssaiM.m3u8", "playback_url_dvr": "http://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": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/counter/playlist_ssaiM.m3u8", "playback_url_dvr": "http://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": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/playlist.m3u8", "playback_url_dvr": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/playlist_dvr.m3u8", "ssai_playback_urls": { "685b239f582c42fca49da33be4f2328e": { "playback_url": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/685b239f582c42fca49da33be4f2328e/playlist_ssaiM.m3u8", "playback_url_dvr": "http://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": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/counter/playlist_ssaiM.m3u8", "playback_url_dvr": "http://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/counter/playlist_dvr_ssaiM.m3u8", "playback_added_cdns": [], "description": "House Counter - a95ac581551b4478b27910e5675db1f8", "type": "counter" } } }
- 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.
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:
-
Zuerst müssen Sie ein neues Video erstellen, indem Sie a
POST
Anfrage zu:https://cms.api.brightcove.com/v1/accounts/account_id/videos
-
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" }
-
Die Antwort enthält alle Video-Metadaten, aber das wichtige Feld ist das
id
, das Sie zum Hinzufügen des Remote-Assets benötigen. -
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
-
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.
- Erstellen Sie eine einfache HTML-Seite, um den Livestream-Player zu testen. Sie können beliebige andere oder gar keine Inhalte hinzufügen.
- 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:
- Wählen Sie im Dialogfeld „Veröffentlichen“ einen Player aus (der Brightcove-Standardplayer ist in Ordnung):
- 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:
- Speichern Sie Ihre HTML-Seite auf einem Remote-oder lokalen Webserver, damit Sie sie durchsuchen können.
- Öffnen Sie die Seite in Ihrem Webbrowser. Da wir noch nicht mit dem Steamen begonnen haben, wird ein Medienfehler angezeigt:
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
}'
Kopieren Sie diesen Code in einen Texteditor und ersetzen Sie ihn 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.
- Melden Sie sich bei Video Cloud Studio an.
- Gehen Sie zum Medienmodul.
- Klicken Sie in den Optionen auf der linken Seite auf Remote-Video hinzufügen:
- 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:
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.
- Öffnen Sie Wirecast.
- Bewegen Sie den Mauszeiger über die +, klicken Aufnahmegeräte und wählen Sie dann Ihre Kamera aus.
- Klicken Sie auf die Pfeilschaltfläche ( ), damit die Kamera die Live-Aufnahme macht.
- Drücke den Strom Taste ( ). Sie werden aufgefordert, die Ausgabeeinstellungen zu konfigurieren.
- Stellen Sie die Ziel zu RTMP-Server. Klicken OK.
- Für die Die Anschrift , benutze die stream_url von der Live-API zurückgegeben (Schritt 3).
- Verwenden Sie für den Stream live.
- (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.
- Klicken OK um die Ausgabeeinstellungen zu speichern.
- Drücke den Strom Taste ( ). 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 diestream_url
von deinem Job (diertmp
die Anschrift)stream_name
: Der Streamname muss lautenalive
Sobald Sie den Livestream starten, sollte er im Brightcove-Player angezeigt werden, den Sie in den vorherigen Schritten erstellt haben.