Überblick: Brightcove Live-API

In dieser Übersicht erfahren Sie, wofür die Live-API gedacht ist und wie Sie sie verwenden. Zu den in diesem Dokument enthaltenen Themen gehören unterstützte AWS-Regionen und CDNs, Live-Kanäle und -Ereignisse sowie das Einfügen von ID3-zeitgesteuerten Metadaten in einen Live-Stream.

Einleitung

Das Live API ist eine REST-basierte API, mit der Sie Live-Streaming-Ereignisse erstellen und verwalten können. Zu den optionalen Funktionen gehören:

  • Serverseitige Anzeigeneinfügung ( SSAI)
  • AES-128 Verschlüsselung
  • Erstellen Sie Video-on-Demand-Assets aus Clips aus dem Livestream
  • DVR Fähigkeit
  • Mehrere CDNs

Siehe auch die API-Referenz.

Basis-URL

Die Basis-URL für die Live API ist:

https://api.bcovlive.io

Header

Wenn Sie eine Anfrage an die Live-API stellen, müssen Sie sich mit einem API-Schlüssel authentifizieren. Um den Live-API-Schlüssel zu erhalten, öffnen Sie ein Kunden-Support-Ticket. Der Schlüssel wird in einem X-API-KEY Header übergeben. EIN Content-Type Kopfzeile ist auch erforderlich:

X-API-KEY : YOUR_APIKey
      Content-Type: application/json

Unterstützte AWS-Regionen

Die folgenden AWS-Regionen werden unterstützt:

Unterstützte AWS-Regionen
Standort AWS-Name SSAI-Unterstützung
Oregon us-west-2
Virginia us-east-1
Tokio ap-northeast-1
Singapur ap-southeast-1
Sydney ap-southeast-2
Mumbai ap-south-1 <
Frankfurt eu-central-1
Irland eu-west-1

Beachten Sie, dass SEP-Aufträge je nach Konto begrenzt sind, wobei das Standardlimit bei 3 liegt, mit Ausnahme von us-west-2: Die Begrenzung liegt bei bis zu 10. Alle Einschränkungen werden nach Konto und nicht nach Region festgelegt.

Unterstützte CDNs

Die folgenden CDNs werden für das Live-Streaming unterstützt:

  • Akamai
  • Cloudfront

Andere dateibasierte CDNs sollten funktionieren, wurden aber nicht getestet und werden nicht aktiv unterstützt.

Kanäle und Veranstaltungszeiten

Es gibt zwei Kaufoptionen für Live:

  • Event-Stunden Streaming-Zeit kaufen
  • Streaming-Kanäle kaufen

Sie können auch sowohl Streaming-Stunden für Events als auch Kanäle erwerben. Wenden Sie sich an Ihren Customer Success Manager, um weitere Informationen zu den Angeboten zu erhalten.

Abrechenbare Zustände

Die Rechnungsstellung für Live-Aufträge gilt für aktive Staaten:

Aktive Zustände (Abrechnung erfolgt)

  • waiting
  • processing
  • disconnected

Inaktive Staaten (Abrechnung entfällt)

  • standby
  • cancelling
  • finishing
  • cancelled
  • finished
  • failed

Token-Authentifizierung

Brightcove bietet die Möglichkeit, den Wiedergabe-URLs von Live-Videostreams eine Token-Authentifizierung hinzuzufügen. Wenn Sie die Token-Authentifizierung hinzufügen möchten, Brightcove-Support kontaktieren. Es kann bis zu drei Tage dauern, bis die Token-Authentifizierung eingerichtet ist.

Die TTL (Time-to-Live) für die Token kann auf einen beliebigen Wert von einer Stunde bis 365 Tage eingestellt werden. Wie lange Sie die TTL festlegen, hängt davon ab, welche Arten von Livestreams Sie bereitstellen. Beachten Sie jedoch, dass die TTL eine kontoweite Einstellung ist und für alle Livestreams gilt.

DVR Fähigkeit

Brightcove Live-Streams haben DVR Fähigkeit. Um diese Funktion zu verwenden, müssen Sie:

  • Verwenden Sie die playback_url_dvr URL für die Wiedergabe
  • Verwenden Sie einen Player, der hat DVR Fähigkeit

Die DVR-Fähigkeit ist auf 86.400 Sekunden begrenzt.

Das DVR Der Stream bleibt 7 Tage nach Abschluss des Live-Streams verfügbar.

Endpunkte und Operationen

Die Hauptoperationen für die Live API erstellen und verwalten Live-Streams und generieren VOD-Clips aus Live-Streams. Diese Operationen werden durch Anfragen an folgende Endpunkte ausgeführt, die im Rest des Dokuments ausführlicher erläutert werden.

Stellen erstellen und verwalten

Clips erstellen

Verwaltung von SSAI

Stellen erstellen und verwalten

Mit diesen Operationen können Sie einen Live-Job erstellen, die Details dazu abrufen und ihn stoppen. Es gibt auch einen Endpunkt, um einen sofortigen Cue-Point für eine Werbeunterbrechung zu erstellen.

Erstellen Sie einen Live-Job

POST https://api.bcovlive.io/v1/jobs

Dieser Endpunkt wird verwendet, um Live-Streams über eine POST Anfrage zu erstellen. Neben der Angabe von Eigenschaften des Livestreams selbst kann die Anfrage auch VOD-Clips angeben, die aus dem Livestream generiert werden sollen (dies kann auch später über die Endpunkt). Einzelheiten zu den Feldern, die in den Anforderungstext aufgenommen werden können, finden Sie im API-Referenz.

Eingabeprotokoll

Brightcove Live unterstützt mehrere Eingabeprotokolle. Verwenden Sie die protocol Feld im Anforderungstext, wenn Sie den Job erstellen, um den zu verwendenden Job anzugeben. Unterstützte Werte sind:

  • rtmp(die Standardeinstellung)
  • rtp
  • rtp-fec
  • srt

Das RTMP-Protokoll dient zur Lieferung eines Streams im FLV-Format. Die anderen Protokolle dienen der Bereitstellung von MPEG2-TS.

Wenn du benutzt rtp , rtp-fec oder srt , müssen Sie auch a angeben cidr_whitelist (sehen Classless Inter-Domain Routing).

Wenn Sie verwenden rtmp, können Sie stattdessen ein ip_whitelist für die Eingabe angeben, dies ist jedoch nicht erforderlich.

Beispiel-Anfragetext für RTP+FEC-Job:

{
    "live_stream":true,
    "region":"us-west-2",
    "reconnect_time":300,
    "outputs":[
      {
        "label": "hls720p",
        "live_stream": true,
        "height": 720,
        "video_bitrate": 800,
        "segment_seconds": 6,
        "keyframe_interval": 90
      }
    ],
    "protocol": "rtp-fec",
    "cidr_whitelist": ["127.0.0.1/32"]
}

Das Live API Schnellstart führt Sie durch das Erstellen eines Live-Stream-Jobs und das Einrichten eines Brightcove-Players zum Abspielen.

Live-Jobs auflisten

GET https://api.bcovlive.io/v1/jobs

Dieser Endpunkt wird verwendet, um Ihre Live-Streams über eine GET Anfrage aufzulisten. Der Endpunkt unterstützt Paginierung, Sortierung und Suchfilterung. Einzelheiten zu den Feldern, die in den Anforderungstext aufgenommen werden können, finden Sie im API-Referenz und einige zusätzliche Informationen finden Sie in Eine Liste von Live- oder VOD-Jobs abrufen.

Live-Jobdetails abrufen

GET https://api.bcovlive.io/v1/jobs/:jobId

Mit diesem Endpunkt können Sie detaillierte Informationen zu einem Livestream abrufen, die auch beim ursprünglichen Erstellen des Jobs zurückgegeben werden. Siehe die API-Referenz für Details zu den Antwortfeldern.

Manuelles Einfügen von Anzeigen-Cue-Points

POST https://api.bcovlive.io/v1/jobs/:jobId/cuepoint

Normalerweise sendet Ihr Encoder Cue-Points für Werbeunterbrechungen, Sie können jedoch auch eine sofortige Werbeunterbrechung erstellen, indem Sie eine Anfrage an diesen Endpunkt senden. Siehe die API-Referenz für Details.

Beachten Sie, dass a timecode in der Form DD:HH:MM:SS ist für den Cue-Punkt erforderlich.

Stoppen Sie einen Live-Job

PUT https://api.bcovlive.io/v1/jobs/:jobId/cancel

Verwenden Sie diesen Endpunkt, um einen Livestream sofort zu stoppen. Nach dem Abbruch kann ein Livestream nicht mehr neu gestartet werden. Siehe die API-Referenz für Details.

Clips erstellen

Sie können Video-on-Demand-Clips aus einem Livestream erstellen und in einem Video Cloud-Konto speichern oder an einen S3-Bucket oder eine FTP-Adresse senden. Sie können die Clips beim Erstellen des Livestreams definieren oder sie später mithilfe des unten beschriebenen Endpunkts erstellen. Siehe auch die Clips erstellen Handbuch.

VOD-Clip erstellen

POST https://api.bcovlive.io/v1/vods

Die Start- und Endpunkte der Clips können in Form von Offsets vom Anfang des Streams oder UNIX-Zeitstempeln definiert werden. Details zu den Anfragetextfeldern finden Sie im API-Referenz.

Erhalten Sie eine Liste von VOD (Clip) Jobs

Eine Liste Ihrer VOD-Jobs für Clips finden Sie unter Eine Liste von Live- oder VOD-Jobs abrufen und der API-Referenz.

Verwaltung SSAI

Mithilfe der serverseitigen Anzeigeneinfügung ( SSAI) können Sie beliebig viele Werbeblöcke in Ihren Live-Stream einfügen. Sie können auch Slate-Assets (VOD-Clips) aufnehmen, um ungenutzte Werbezeit mit einer Nachricht über die Rückkehr zu füllen oder was auch immer Sie möchten.

Weitere Details zum Einrichten SSAI kann gefunden werden in Serverseitiges Einfügen von Anzeigen mithilfe der Brightcove Live API und der API-Referenz.

Anzeigenkonfigurationen für das Konto abrufen

GET https://api.bcovlive.io/v1/ssai/applications/:account_id

Über diesen Endpunkt können Sie alle Anzeigenkonfigurationen abrufen, die für ein Konto eingerichtet wurden. Details zu den Antwortfeldern finden Sie im API-Referenz.

Anzeigenkonfiguration erstellen

POST https://api.bcovlive.io/v1/ssai/application

Erstellen Sie eine Anzeigenkonfiguration, die definiert, wie Anzeigen abgerufen werden SSAI. Details zu den Anfragetextfeldern finden Sie im API-Referenz.

Anzeigenkonfiguration abrufen

GET https://api.bcovlive.io/v1/ssai/application/:application_id

Verwenden Sie diesen Endpunkt, um die Details einer von Ihnen erstellten Anzeigenkonfiguration abzurufen. Details zu den Antwortfeldern finden Sie im API-Referenz.

Anzeigenkonfiguration aktualisieren

PUT https://api.bcovlive.io/v1/ssai/application/account/:application_id

Aktualisieren Sie die Details einer Anzeigenkonfiguration. Details zu den Anfragetextfeldern finden Sie im API-Referenz.

Slate Media Source Assets abrufen

GET https://api.bcovlive.io/v1/ssai/slates/:ACCOUNT_ID

Rufen Sie die Slate-Media-Assets ab, die für ein Konto definiert wurden. Slate-Media-Assets werden verwendet, um Werbepausen zu füllen, die nicht durch Anzeigen gefüllt werden. Details zu den Antwortfeldern finden Sie im API-Referenz.

Slate Media Source Asset aufnehmen

POST https://api.bcovlive.io/v1/ssai/slates

Fügen Sie ein Media-Asset für Slates hinzu, um die Zeit der nicht ausgefüllten Werbeunterbrechungen zu füllen. Details zu den Anfragetextfeldern finden Sie im API-Referenz.

Slate-Medienquellen-Asset löschen

DELETE https://api.bcovlive.io/v1/ssai/slates/:SLATE_MSA_ID

Löscht ein Slate-Media-Asset.

Statische Einstiegspunkte

Die Funktion Static Entry Points (SEP) ermöglicht einen lang andauernden Live-Job, der aktiviert und deaktiviert werden kann, während die Einstiegspunkt-URLs und Wiedergabe-URLs statisch und wiederverwendbar bleiben. Mit dieser Funktion können Kunden ihren Encoder in ihren Einrichtungen oder im Außendienst konfigurieren und ihre eigene Planungslogik für Live-Kanäle oder -Programme erstellen. Sehen Statische Einstiegspunkte für Details.

Es gibt auch einen Zeitplaner, mit dem Sie die Aktivierung und/oder Deaktivierung von SEP-Aufträgen planen können. Sehen Überblick: Live-Terminplaner.

Bildunterschriften

Wenn Untertitel im h264-Eingangssignal enthalten sind (korrekt im user_data-Paket signalisiert), werden diese an die h264-Ausgänge durchgereicht.

Wenn Sie einen Broadcast-Elementar-Live-Encoder verwenden, können Sie Beschriftungen von SDI (EIA-608/CEA-608) oder anderen Quellen (SCTE-20, SCC, Teletext, DVB-Sub, Hilfs-, ARIB, TTML, SCTE-27, STL, SRT, SMI) abrufen und sie in den h264-Stream abrufen, den Sie uns senden. Andere Sendegeber können wahrscheinlich dasselbe tun, aber wir haben sie nicht formell getestet.

Fügen Sie zeitgesteuerte ID3-Metadaten ein

Diese Informationen wurden verschoben nach Fügen Sie zeitgesteuerte ID3-Metadaten ein.

Einschränkungen

  • Damit Live-Jobs, die mit der API erstellt wurden, angezeigt werden und nicht im Live-Modul verwendet werden können, müssen Sie das videocloud Objekt beim Erstellen des Jobs in den Anforderungstext aufnehmen.

    Zum Beispiel:

    {
      "live_stream": true,
      "region": "eu-central-1",
      "reconnect_time": 1800,
      "live_sliding_window_duration_ms": 0,
      "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 }
      ],
      "videocloud": {
        "video":
          { "name": "live event UI", "description": "live event UI", "long_description": "", "tags": [], "reference_id": "", "state": "ACTIVE" }
        }
      }
  • Die anfängliche Verbindung vom Encoder liefert die Bandbreiteninformationen, die mit der Live-Wiedergabeliste erstellt werden sollen. Wenn die anfängliche Verbindung niedrig ist, behält die Wiedergabeliste, selbst wenn die Jobkonfiguration eine hohe Ausgabe hatte, die gleichen Informationen in der Wiedergabeliste bei, bis Folgendes getan wird:
    • Encoder wird neu gestartet
    • Möglicherweise muss auch der CDN-Cache geleert werden
  • Derzeit ist die Framerate für Eingabestreams auf 30 FPS begrenzt. Wenn Sie eine höhere Framerate verwenden möchten, wenden Sie sich bitte an den Support.
  • Standardmäßig ist die Auflösung des Eingabestreams auf 1080p begrenzt.
  • Beim Trennen und erneuten Verbinden müssen die Stream-Einstellungen gleich bleiben. Alle Änderungen an der Anzahl der Audiokanäle, Auflösungen oder Codec-Einstellungen führen zu unvorhersehbarem Verhalten.
  • Obwohl Sie DASH und MP4 für Remote-Quellen für Video Cloud-Videos hinzufügen können, unterstützt Live derzeit HLS nur.
  • Für Eingabestreams wird nur AAC-Audio unterstützt.
  • Maximal 5 aktive wartend, nicht gestartet Arbeitsplätze sind jederzeit erlaubt.

    Zusätzliche Einschränkungen für gleichzeitige Jobs:

    • Die Anzahl der channel (24x7) Jobs ist auf 0 oder eine geringe Anzahl pro Region begrenzt (je nach Kontotyp).
    • Die Anzahl der gleichzeitig Laufen event Arbeitsplätze sind regional begrenzt, in der Regel auf 100.
    • Die Anzahl der gleichzeitig warten auf die Verbindung event Arbeitsplätze sind auf 5 begrenzt.
    • Die Anzahl der SEP-Jobs pro Region ist auf 3 oder 10 begrenzt (siehe Unterstützte AWS-Regionen).

    Jedes dieser Limits kann auf Kontoebene vom Support angepasst werden. Wenden Sie sich an Ihren Customer Success Manager, wenn Sie zusätzliche Kapazitäten benötigen.

  • Die als zurückgegebene "RTMP"-Adresse stream_url für Live-Jobs ist ein Akamai HD-Live-Stream, kein Legacy-FMS-RTMP-Stream – er wird von älteren Versionen von Internet Explorer nicht unterstützt.
  • Livestreams werden über HTTPS bereitgestellt, und wenn Ihr Brightcove-Konto nicht für HTTPS aktiviert ist, kann der Brightcove-Player den Livestream nicht laden. Wenn Ihr Konto keine HTTPS-Unterstützung für die Ursprungsbereitstellung aktiviert hat, bitte Brightcove-Support kontaktieren um die HTTPS-Unterstützung für die Ursprungsbereitstellung zu aktivieren, um Wiedergabeprobleme zu vermeiden.
  • Wenn Sie eine transmuxte Wiedergabe in einer HLS-Ausgabe mit mehreren Bitraten verwenden, segment_size kann beim Transmuxen enthalten sein, sollte aber so eingestellt werden, dass es ein Vielfaches der GOP Größe des Eingabestreams. Wenn die Eingabe also 30 fps mit Keyframes alle 60 Frames beträgt, wird die GOP Größe beträgt 2 Sekunden, und die Segmentgröße sollte ein Vielfaches von 2 sein. Wenn Sie dies nicht tun, haben die Stream-Segmente unterschiedliche Größen.

    Ebenfalls, keyframe_interval sollen nicht an beliebigen Ausgängen angegeben werden.

  • Wenn Sie Ihren eigenen FTP- oder S3-Ursprungsstandort verwenden, muss Ihr CDN so konfiguriert sein, dass er auf Ihren Ursprungsstandort zurückgreift. Das Brightcove Live-System überprüft nicht, ob die Ursprungsstandorte für die CDNs in der Auftragsanforderung angegeben sind.