Überblick: Wiedergabe-API

Die Wiedergabe-API wird verwendet, um Video- und Wiedergabelistendaten von Video Cloud abzurufen. Es wird normalerweise verwendet, um Videodaten an einen Player auf einer Webseite oder in einer mobilen App zu übertragen.

Einleitung

Die Playback API ist eine API mit niedriger Latenz, die für die clientseitige Verwendung beim Abrufen von Video- oder Playlist-Daten von Webseiten oder mobilen Apps vorgesehen ist. Es ist nicht Eine allgemeine Medienverwaltungs-API zur Integration von Video Cloud in Ihr CMS oder andere Systeme CMS API.

Die Playback API-Ergebnisse werden gefiltert, um nur abspielbare Videos zurückzugeben (state=ACTIVE, Ingestion Complete Flag = true, und im korrekten Datum/Uhrzeit, falls geplant). Dies bedeutet, dass der Player das Video abspielen kann, sobald eine Wiedergabeversion vorhanden ist, auch wenn andere noch verarbeitet werden. Wenn Sie Videos abrufen müssen, die derzeit nicht abspielbar sind, sollten Sie erneut die CMS-API stattdessen.

Beachten Sie auch, dass zur Maximierung der Leistung die Videodaten, auf die von der Playback-API zugegriffen wird, für einen kurzen Zeitraum zwischengespeichert werden. Wie lange eine bestimmte Datensatz-ID zwischengespeichert wird, variiert, kann jedoch bis zu 20 Minuten betragen.

Siehe auch die API-Referenz.

Anwendungsfälle

Die Brightcove-Player und der Brightcove SDK-Player umfassen Katalogmethoden, die mit Methoden der Playback-API identisch sind, und größtenteils können Sie diese einfach verwenden, wenn Sie nur Videos oder Wiedergabelisten zur Laufzeit zum Abspielen abrufen.

Möglicherweise möchten Sie jedoch eine Ansicht von Videos oder Wiedergabelisten auf einem Bildschirm einer mobilen App bereitstellen, auf dem kein Player vorhanden ist.

Darüber hinaus kann es vorkommen, dass Sie Videos oder Playlists abrufen möchten, um Informationen darüber anzuzeigen, ohne einen Player auf dem Bildschirm zu haben, beispielsweise als Zielseite für ein Videoportal.

Die Wiedergabe-API ist in diesen Fällen nützlich.

Allgemeine Informationen

Basis-URL

Die Basis-URL für die Playback-API lautet:

https://edge.api.brightcove.com/playback/v1

Account-Pfad

In allen Fällen werden Anfragen für ein bestimmtes Video Cloud-Konto gestellt. Sie fügen also immer den Begriff accounts gefolgt von Ihrer Konto-ID zur Basis-URL hinzu:

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}

Authentifizierung

Anforderungen werden durch einen Richtlinienschlüssel authentifiziert, der auf drei Arten übergeben werden kann:

  1. In einem Argument zu einem Accept Header:
    Accept: application/json;pk={policy_key}

    Dies ist die empfohlene Methode für einen browserbasierten Client, da die Anforderung im Rahmen der CORS-Vorabprüfung des Browsers zunächst ohne eine zusätzliche Anforderung ausgeführt werden kann. Dies spart Latenz beim ersten Mal, wenn eine Browser-Anfrage gestellt wird.

  2. In einem (n Authorization Header mit dem Realm-Schlüsselwort BCOV-Policy:
    Authorization: BCOV-Policy {policy_key}
  3. In einem BCOV-Policy Header:
    BCOV-Policy: {policy_key}

Abrufen eines Richtlinienschlüssels

Es gibt drei Möglichkeiten, einen Richtlinienschlüssel zu erhalten:

  1. Jedem Brightcove-Player wird automatisch einer zugewiesen. Anweisungen zum Erhalten des Richtlinienschlüssels eines Spielers finden Sie in dieses Dokument. Da die Policy-Schlüssel für das gesamte Konto gültig sind, kannst du sie unabhängig davon verwenden, ob der Player auf der Seite eingebettet ist.
  2. Sie können einen grundlegenden Richtlinienschlüssel mit dem Schnellstart für Richtlinienschlüssel generieren
  3. Sie können eine Anfrage an die Policy-API stellen

Token-Authentifizierung

Die Token-Authentifizierung für HLS- und DASH-Inhalte wird unterstützt. Wenn Sie eine Token-Authentifizierung benötigen, wenden Sie sich an Ihren Customer Success Manager, um diese für Ihr Konto zu aktivieren.

Vermeiden Sie hartcodierte URLs

URLs für Miniaturansichten, Poster, Videodateien und andere Medien sollten niemals in Ihren Seiten oder Anwendungen fest codiert sein. Das Playback API gibt die neueste zwischengespeicherte Version von URLs für Mediendateien zurück, die URLs selbst können sich jedoch ändern. Sie sollten die CMS API(oder Playback API) -Anfragen verwenden, um diese URLs jedes Mal abzurufen, wenn die Seite geladen wird, oder sie nicht länger als sechs Stunden zwischenspeichern.

Zwischenspeichern von Video- und Bild-URLs

Sie können URLs für Videos und Bilder zwischenspeichern, um die Seitenleistung zu verbessern, aber der Cache muss regelmäßig aktualisiert werden. Wenn Sie die abgerufenen URLs zwischenspeichern, um die Leistung Ihrer Seiten zu verbessern, müssen Sie den Cache aktualisieren, indem Sie die API-Aufrufe mindestens alle sechs Stunden wiederholen.

Methoden

Die API unterstützt nur die folgenden GET-Anfragen der folgenden Typen:

Videoanfragen

Ein einzelnes Videoobjekt kann entweder mit der Video-ID oder der Referenz-ID abgerufen werden.

Video nach ID abrufen

Endpunkt

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/{video_id}

Beispiel

https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos/38467382999

Beispielantwort

{
  "account_id": "107767373999",
  "ad_keys": null,
  "created_at": "2010-07-12T22:37:34.760Z",
  "description": "Avatar_MakingAScene_Featurette",
  "duration": 595560,
  "id": "38467382999",
  "long_description": null,
  "name": "Avatar_MakingAScene_Featurette",
  "published_at": "2010-07-12T22:37:34.760Z",
  "reference_id": "AvatarMakingShort",
  "text_tracks": [],
  "updated_at": "2010-07-12T22:54:29.666Z",
  "cue_points": [
    {
      "id": "111637107001",
      "name": "Pre-roll",
      "type": "AD",
      "time": 0,
      "metadata": null,
      "force_stop": false
    }
  ],
  "custom_fields": {
    "moretext": "this is the first video uploaded",
    "mylist": "abc"
  },
  "link": {
    "text": "Full Dvd at Amazon",
    "url": "https://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
  },
  "tags": [
    "copied"
  ],
  "poster_sources": [
    {
      "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
    }
  ],
  "thumbnail_sources": [
    {
      "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
    }
  ],
  "poster": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
  "thumbnail": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
  "sources": [
    {
      "avg_bitrate": 379000,
      "width": 320,
      "duration": 595560,
      "size": 28196307,
      "stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
      "codec": "H264",
      "asset_id": "111728840001",
      "container": "MP4",
      "height": 180,
      "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
    },
    {
      "avg_bitrate": 379000,
      "width": 320,
      "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
      "size": 28196307,
      "height": 180,
      "duration": 595560,
      "container": "MP4",
      "codec": "H264",
      "asset_id": "111728840001"
    }, ... 6 more sources ...

  ]
}

Video nach Referenz-ID abrufen

Endpunkt

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/ref:{reference_id}

Beispiel

https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos/ref:nature_2010-07-12

Beispielantwort

{
  "account_id": "107767373999",
  "ad_keys": null,
  "created_at": "2010-07-12T22:37:34.760Z",
  "description": "Avatar_MakingAScene_Featurette",
  "duration": 595560,
  "id": "38467382999",
  "long_description": null,
  "name": "Avatar_MakingAScene_Featurette",
  "published_at": "2010-07-12T22:37:34.760Z",
  "reference_id": "nature_2010-07-12",
  "text_tracks": [],
  "updated_at": "2010-07-12T22:54:29.666Z",
  "cue_points": [
    {
      "id": "111637107001",
      "name": "Pre-roll",
      "type": "AD",
      "time": 0,
      "metadata": null,
      "force_stop": false
    }
  ],
  "custom_fields": {
    "moretext": "this is the first video uploaded",
    "mylist": "abc"
  },
  "link": {
    "text": "Full Dvd at Amazon",
    "url": "https://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
  },
  "tags": [
    "copied"
  ],
  "poster_sources": [
    {
      "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
    }
  ],
  "thumbnail_sources": [
    {
      "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
    }
  ],
  "poster": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
  "thumbnail": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
  "sources": [
    {
      "avg_bitrate": 379000,
      "width": 320,
      "duration": 595560,
      "size": 28196307,
      "stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
      "codec": "H264",
      "asset_id": "111728840001",
      "container": "MP4",
      "height": 180,
      "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
    },
    {
      "avg_bitrate": 379000,
      "width": 320,
      "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
      "size": 28196307,
      "height": 180,
      "duration": 595560,
      "container": "MP4",
      "codec": "H264",
      "asset_id": "111728840001"
    }, ... 6 more sources ...

  ]
}

Videos suchen

Sie müssen einen Policy Key mit aktivierter Suchfunktion verwenden, wenn Sie mit der Playback-API nach Videos suchen. Einzelheiten finden Sie im Wiedergabe-API-Referenz dokumentieren.

Parameter

Beachten Sie, dass alle Parameter Optional. Sie gelten für GET Videos nur Anfragen.

Parameter für die Anforderung von Videos abrufen
Parameter Beschreibung
q Abfragestring für Suchen - Details finden Sie im Suchanleitung
limit Anzahl der zurückzugebenden Videos - muss eine ganze Zahl zwischen 1 und 1000 sein. Standard: 20
offset Anzahl der zu überspringenden Videos (für Paging-Ergebnisse). Muss eine positive ganze Zahl sein. Standard: 0
sort Eine Zeichenfolge, die das Feld angibt, nach dem sortiert werden soll.
Beginnen mit - absteigend sortieren.
Wenn ein Wert für q bereitgestellt wird, lautet die Standardsortierung nach "Punktzahl" (Relevanz der Suchergebnisse für die ursprüngliche Abfrage).
Wenn kein Wert für q wird bereitgestellt, dann ist die Standardsortierung nach updated_at absteigend.
Die folgenden Felder sind für die Sortierung gültig: name , reference_id , created_at , published_at , updated_at , schedule_starts_at , schedule_ends_at , state , plays_total , Und plays_trailing_week
Einzelheiten finden Sie unter Holen Sie sich Videos Abschnitt der Wiedergabe-API-Referenz
config_id Siehe Lieferbedingungen
ad_config_id Siehe Videoanfragen mit SSAI

Brightcove's Playback API bietet eine programmatische Möglichkeit, nach Videos in Ihrem zu suchen Video Cloud Bibliothek.

Um einfache und komplexe Suchen in Ihren Videodaten durchzuführen, verwenden Sie die q Parameter:

https://edge.api.brightcove.com/playback/v1/accounts/1752604051111/videos?q={search terms}

Weitere Informationen zur Suche nach Videos finden Sie im Videos suchen dokumentieren.

Paging-Ergebnisse

Verwenden Sie den limit Parameter, um anzugeben, wie viele Artikel Sie auf eine Anfrage zurücksenden möchten — bis zu 1000. Sie können den offset Parameter dann verwenden, um Ergebnismengen zu durchsuchen, die größer als die sind limit. Die offset ist die Anzahl der zu überspringenden Elemente.

Die folgende Suche gibt beispielsweise Videos 51-75 der Gesamtergebnismenge zurück, vorausgesetzt, die Gesamtergebnismenge enthält mindestens 75 Videos:

/videos?q=updated_at:2014-01-01..2014-06-30&limit=25&offset=50

Die limit und offset Parameter können nur für Videos verwendet werden.

Best Practice beim Paging

Beim Blättern durch Ihre Ergebnismenge über die Playback-API wird empfohlen, die folgenden Schritte auszuführen:

  1. Verwenden Sie die limit und offset -Parameter, um Datengruppen aus Ihrer Ergebnismenge zurückzugeben.
    /accounts/578380111111/videos?q=tags:nature&limit=20&offset=50
  2. Bei jeder Antwort sehen Sie, dass die count Das Feld zeigt immer die maximale Anzahl von Videos in Ihrem Resultset an.
    {"count": 171,
      "videos": [ ... ]
    }
  3. Die Summe count der Videos aus Ihrer ersten Anfrage können verwendet werden, um zu bestimmen, wie viele weitere Seiten Sie anfordern müssen.

    Alternativ können Sie die abfragen count Wert mit jeder Antwort und fahren Sie fort, bis die count ist kleiner oder gleich der Seitengröße mal der limit.
    count <= page-number * limit

Sortieren von Videoergebnissen

Verwenden Sie den Parameter sort=field_name um anzugeben, wie die Ergebnisse sortiert werden sollen. Sie können nach folgenden Videofeldern sortieren:[1-1]

  • Name
  • reference_id
  • hergestellt in
  • veröffentlicht_at
  • aktualisiert am
  • schedule_starts_at (Hinweis: Dies ist die Sortieren Feld - das Suchfeld ist schedule.starts_at)
  • schedule_ends_at (Hinweis: Dies ist der Sortieren Feld - das Suchfeld ist schedule.ends_at)
  • Bundesstaat
  • play_total[1-2]
  • play_trailing_week[1-2]

Anmerkungen

  • [1-1] Wenn Sie keinen Sortierwert für einen Videosuchanruf angeben, werden die Ergebnisse nach Relevanz sortiert. Wenn Sie keinen Sortierwert für einen GET Videoanruf angeben, werden die Ergebnisse updated_at absteigend sortiert.
  • [1-2] Sie können weiter sortieren plays_total oder plays_trailing_week Diese Felder sind jedoch nicht in den Ergebnissen enthalten

Alle Videos und große Datensätze

Wenn Sie alle Videos in Ihrem Konto oder eine große Anzahl von Videos abrufen, müssen Sie einige Dinge beachten:

  1. Sie könnten versucht sein, die maximal zulässige Menge limit(1000) zu verwenden, aber es ist besser, Videos in Stapeln von 25 oder weniger abzurufen, um die Möglichkeit eines Timeouts bei API-Anfragen zu minimieren.
  2. Beim Blättern durch große Datensätze ist es möglich, dass die Videodaten während des Vorgangs aktualisiert werden, was dazu führen kann, dass sich Elemente in den Antworten verschieben:
    • Möglicherweise wird ein Element auf aufeinanderfolgenden Seiten wiederholt
    • Ein Element kann übersehen werden, da es in einen vorherigen Antwortsatz verschoben wurde

    Um die erste Möglichkeit zu berücksichtigen, sollte Ihre App die vollständige Artikelliste deduplizieren, nachdem Sie das Abrufen von Videos abgeschlossen haben. Um die zweite Möglichkeit zu handhaben, müssen Sie die Gesamtzahl der abgerufenen Elemente (nach der Deduplizierung) mit der erwarteten Anzahl vergleichen und dann die Anforderungen erneut ausführen und die Ergebnisse nach last_modified_date (absteigend) sortieren - das sollte nicht nötig sein mehr als einen Stapel abrufen, um verpasste Artikel abzuholen.

  3. Sie können die Wahrscheinlichkeit der Szenarien im vorherigen Element verringern, indem Sie die zurückgegebenen Ergebnisse entsprechend sortieren. Die Standardsortierung nach Relevanz for searchs basiert auf einem komplexen Algorithmus, der nach Kombinationen von Schlüsselwörtern, Tags und benutzerdefinierten Feldwerten sucht. Wenn Sie auf der Grundlage mehrerer Schlüsselwörter, Tags und/oder benutzerdefinierter Felder nach Videos suchen, ist die Sortierung nach Relevanz genau das Richtige für Sie. Wenn Sie jedoch nur versuchen, alle oder einen großen Satz Ihrer Videos abzurufen, stellen Sie die sort Parameter gibt Ihnen explizit mehr Kontrolle über die Reihenfolge der zurückgegebenen Elemente.

Videos abrufen

Endpunkt

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos

Beispiel

https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos?q=tags:nature,name:nature

Beispielantwort

{
  "count": 123,
  "videos":
    [
      {<video1 fields>},
      {<video2 fields>},
      ...
    ]
}

Fehlerreaktion

Wenn Sie versuchen, den Endpunkt Get Videos mit einem Policy Key zu verwenden, der NICHT suchfähig ist, erhalten Sie die folgende Fehlermeldung von der Playback-API:

[
  {
    "api_call": "search",
    "error_subcode": "API",
    "error_code": "ACCESS_DENIED",
    "message": "Access to this resource is forbidden by access policy."
  }
]

Mit der Wiedergabe-API können Sie Ihr Konto nach Videos durchsuchen, die sich auf das angegebene Video beziehen. Basierend auf name und short description des angegebenen Videos sucht die API in den folgenden Feldern nach teilweisen Übereinstimmungen:

  • name
  • short description
  • long description
  • tags

Wenn eine geografische Beschränkung in Kraft ist, erhalten Sie möglicherweise keine vollständige Ergebnisseite.

Parameter

Die folgenden URL-Parameter können für GET-bezogene Videoanfragen verwendet werden:

ERHALTEN Ähnliche Videos Parameter anfordern
Parameter Beschreibung
limit Die Anzahl der zurückzugebenden Videos (Standard=20; Maximum=1000)
ad_config_id Hängen Sie Ihre ad_config_id an, um zurückzukehren Videos mit SSAI

Standardmäßig enthält die Antwort bis zu 20 Videos. Sie können den limit Parameter verwenden, um bis zu 1000 Videos zurückzugeben, was mit einer erhöhten Latenz verbunden ist.

Beachten Sie, dass es keine gibt offset Parameter, wenn Sie ähnliche Videos finden, sodass Sie nicht durch Ihre Videoergebnisse blättern können.

Ähnliche Videos mit der Video-ID abrufen

Endpunkt

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/{video_id}/related

Beispiel

https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/5565662146001/related

Ähnliche Videos mithilfe der Referenz-ID abrufen

Endpunkt

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/ref:{reference_id}/related

Beispiel

https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/ref:nature/related

Beispielantwort

Beachten Sie in der Antwort unten, dass es keine count Feld, im Gegensatz zu den Videos suchen Antwort.

{
  "videos":
    [
      {<video1 fields>},
      {<video2 fields>},
      ...
    ]
}

Fehlerreaktion

Wenn Sie versuchen, den suchbezogenen Endpunkt mit einem Richtlinienschlüssel zu verwenden, der NICHT für die Suche aktiviert ist, erhalten Sie die folgende Fehlermeldung von der Playback-API:

[
  {
    "api_call": "search",
    "error_subcode": "API",
    "error_code": "ACCESS_DENIED",
    "message": "Access to this resource is forbidden by access policy."
  }
]

Regeln für die Lieferung

Um Übermittlungsregeln auf die Antworten auf Playback-API-Anfragen anzuwenden, fügen config_id={DELIVERY_RULES_ID} Sie die an die Anfrage an.

Beispiel

https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/6026822730001?config_id=9869b9f8-59a1-4490-a092-c28b6cf79764

Videoanfrage mit SSAI

Auch wenn Sie KEINEN Brightcove-Webplayer oder die nativen Brightcove-SDKs in Ihrer Anwendung verwenden, können Sie die serverseitige Anzeigeneinfügung (SSAI) mit Ihrem eigenen Player verwenden.

Holen Sie sich Videos mit SSAI

Um ein Video mit SSAI zurückzugeben, fügen Sie Ihre Anzeigenkonfigurations-ID als URL-Parameter an Ihre Playback-API-Anfrage an. Bei dieser Anfrage können Sie entweder eine Video-ID oder eine Videoreferenz-ID verwenden.

  1. Hängen Sie Ihre ad_config_id bis zum Ende der Playback API-Anfrage:

    Endpunkt mit URL-Parameter

    https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/{video_id}?ad_config_id={ad_config_id}

    Beispiel

    https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/5565662146001?ad_config_id=1234abcd
  2. In der folgenden Beispielantwort werden Sie Folgendes feststellen:

    • Die Antwort ähnelt der, wenn Sie keine Anzeigenkonfigurations-ID angegeben haben.
    • Die Elemente der sources Array enthält eine neue Eigenschaft namens vmap.
    • Wenn Sie wissen möchten, wo sich die Anzeigen im Inhalt befinden, können Sie die im verlinkte VMAP-Datei lesen vmap Eigentum.

    Beispielantwort für die Wiedergabe-API

        {
          "description": "The story of a giant rabbit with a heart bigger than himself. ",
          "poster_sources": [
            {
              "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/3723496277001/dd5bd69c-e962-4a43-9dbd-94faaaba1785/main/1280x720/5m17s130ms/match/image.jpg"
            }
          ],
          "tags": [],
          "cue_points": [],
          "custom_fields": {},
          "account_id": "3723496277001",
          "sources": [
            {
              "ext_x_version": "4",
              "vmap": "https://ssaiplayback.prod.boltdns.net/playback/once/v1/vmap/hls/v4/clear/3723496277001/7a3316d9-1b06-4d62-bec8-3919b43fffbb/dd5bd69c-e962-4a43-9dbd-94faaaba1785/content.vmap?bc_token=NTllMTMxYjNfMTdkOTY2YThhNjU5MDk5ZTQ3NDBkNmUxOTYyOGRkNzM0ZjBiM2RjMGEwOThjOGFkYjk1MWQxMzFmNGYzMjA5YQ%3D%3D",
              "type": "application/x-mpegURL",
              "src": "https://ssaiplayback.prod.boltdns.net/playback/once/v1/hls/v4/clear/3723496277001/7a3316d9-1b06-4d62-bec8-3919b43fffbb/dd5bd69c-e962-4a43-9dbd-94faaaba1785/master.m3u8?bc_token=NTllMTMxYjNfZGM5ZDg0NGM2ZGJjZDcxZTFjOGYyODBlMzM2NmNmMmJkMWNhZDczNWViNzRiMjIwNjg5MjkzZGM0ZmJlMTc1Yw%3D%3D"
            },
            ...
          ],
          "created_at": "2017-05-15T17:09:11.171Z"
        }
  3. Kopieren Sie eine der vmap URLs und fügen Sie sie in eine Browser-Suchleiste ein, um die VMAP-Antwort zu sehen.
  4. Die VMAP-Antwort enthält ein <bc:Brightcove Tag mit einem contenturi Attribut. Dies ist die URL, die Sie zum Laden Ihres Players verwenden sollten.

    Beispiel für eine VMAP-Antwort

    Hier ist ein Beispiel für eine vmap-Antwort:

    <vmap:VMAP xmlns:bc="bc" xmlns:vmap="https://www.iab.net/vmap-1.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" version="1.0">
            <vmap:Extensions>
              <bc:Brightcove ttl="3600" contenturi="https://ssaimanifest.prod.boltdns.net/us-east-1/playback/once/v1/hls/v4/clear/1752604059001/d6190656-2095-4ff3-8afe-1a0b60d67ed2/dca41ae8-d8f5-48a6-9853-564764d60b84/6830b2e4-3298-439d-beef-e04abef9f23c/content.m3u8?bc_token=NWZkMTE5NTlfZWQxNDAzNDRkNTAxNDRlMWEwODU3MTI1MzY2YjAyZWQ5YzlmZTkzY2UwMjM5NTM1MmI2NGRjZDNhNjE2ZDhlOA%3D%3D"
              contentlength="24.0574" payloadlength="50.1835" contenttype="application/x-mpegURL" />
              <bc:thumbnailURL type="thumbnail" width="480" height="270" bandwidth="0">https://ssai.playback.us-east-1.prod.deploys.brightcove.com/v1/thumbnail/1752604059001/dca41ae8-d8f5-48a6-9853-564764d60b84/low-res/6830b2e4-3298-439d-beef-e04abef9f23c/thumbnail.vtt?bc_token=NWZkMTE5NTlfMmVmODIzZDJjMGZkMDBjZjY1YWIxNDQ4Y2YyZmUxYTExNzg5YmIxZDI5ZTdkMjgyODBmMDBmYTViMTE2Yzc0MQ%3D%3D</bc:thumbnailURL>
            </vmap:Extensions>
            <vmap:AdBreak breakType="linear" breakId="PreRoll_0_0" timeOffset="start">
              <vmap:AdSource allowMultipleAds="true" followRedirects="true" id="0">
                <vmap:VASTData>
                  <VAST xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
                    <Ad id="1">
                      <InLine>
                        <AdSystem>Test Ad Server</AdSystem>
                        <AdTitle>Portals</AdTitle>
                        <Description>Demo ad number 6</Description>
                        <Error></Error>
                        <Creatives>
                          <Creative>
                            <Linear>
                              <CreativeExtensions>
                                <CreativeExtension>
                                  <BrightcoveForeignKey>1</BrightcoveForeignKey>
                                </CreativeExtension>
                              </CreativeExtensions>
                              <Duration>00:00:05.9392</Duration>
                              <AdParameters>
                                <xml></xml>
                              </AdParameters>
                              <VideoClicks/>
                            </Linear>
                          </Creative>
                        </Creatives>
                        <Extensions>
                          <Extension>
                            <xml>data</xml>
                          </Extension>
                        </Extensions>
                      </InLine>
                    </Ad>
                  </VAST>
                </vmap:VASTData>
              </vmap:AdSource>
            </vmap:AdBreak>
            <vmap:AdBreak breakType="linear" breakId="MidRoll_5_0" timeOffset="00:00:04.8381">
              <vmap:AdSource allowMultipleAds="true" followRedirects="true" id="1">
                <vmap:VASTData>
                  <VAST xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
                    <Ad id="2">
                      <InLine>
                        <AdSystem>Test Ad Server</AdSystem>
                        <AdTitle>Marketing</AdTitle>
                        <Description>Demo ad number 4</Description>
                        <Error></Error>
                        <Creatives>
                          <Creative>
                            <Linear skipoffset="00:00:05">
                              <CreativeExtensions>
                                <CreativeExtension>
                                  <BrightcoveForeignKey>2</BrightcoveForeignKey>
                                </CreativeExtension>
                              </CreativeExtensions>
                              <Duration>00:00:12.1788</Duration>
                              <AdParameters>
                                <xml></xml>
                              </AdParameters>
                              <VideoClicks/>
                            </Linear>
                          </Creative>
                        </Creatives>
                        <Extensions>
                          <Extension>
                            <xml>data</xml>
                          </Extension>
                        </Extensions>
                      </InLine>
                    </Ad>
                  </VAST>
                </vmap:VASTData>
              </vmap:AdSource>
            </vmap:AdBreak>
            <vmap:AdBreak breakType="linear" breakId="PostRoll_24_0" timeOffset="end">
              <vmap:AdSource allowMultipleAds="true" followRedirects="true" id="2">
                <vmap:VASTData>
                  <VAST xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
                    <Ad id="3">
                      <InLine>
                        <AdSystem>Test Ad Server</AdSystem>
                        <AdTitle>Brand</AdTitle>
                        <Description>Demo ad number 1</Description>
                        <Error></Error>
                        <Creatives>
                          <Creative>
                            <Linear>
                              <CreativeExtensions>
                                <CreativeExtension>
                                  <BrightcoveForeignKey>3</BrightcoveForeignKey>
                                </CreativeExtension>
                              </CreativeExtensions>
                              <Duration>00:00:08.0080</Duration>
                              <AdParameters>
                                <xml></xml>
                              </AdParameters>
                              <VideoClicks/>
                            </Linear>
                          </Creative>
                        </Creatives>
                        <Extensions>
                          <Extension>
                            <xml>data</xml>
                          </Extension>
                        </Extensions>
                      </InLine>
                    </Ad>
                  </VAST>
                </vmap:VASTData>
              </vmap:AdSource>
            </vmap:AdBreak>
          </vmap:VMAP>

    Einzelheiten finden Sie unter Implementieren von SSAI mit Playern und SDKs, die nicht von Brightcove stammen dokumentieren.

Konfigurieren Sie Ihren Player

Ad_config_id erforderlich

Mit der Richtlinien-API können Sie einen Richtlinienschlüssel erstellen, der erfordert, dass Sie die ad_config_id URL-Parameter bei Anfragen an die Playback-API. Einzelheiten zum Einstellen dieser Funktion finden Sie im Richtlinien-API-Referenz dokumentieren.

Wenn der Richtlinienschlüssel so eingestellt ist ad_config_id, dass er erforderlich ist, und Sie ihn nicht an eine Playback-API-Anfrage anhängen, wird die folgende Fehlermeldung angezeigt:

[
  {
    "error_subcode": "AD_CONFIG",
    "error_code": "ACCESS_DENIED",
    "message": "Missing required ad_config_id parameter"
  }
]

Playlist-Anfragen

Ein Playlist-Videoobjekt kann entweder mit der Playlist-ID oder seiner Referenz-ID abgerufen werden.

Wiedergabelisten können bis zu 1000 Videos enthalten, aber standardmäßig werden nur die ersten 20 zurückgegeben. Mit den unten beschriebenen Parametern können Sie bis zu 1000 Videos gleichzeitig zurückgeben oder ein kleineres verwenden limit und den offset Parameter verwenden, um die gewünschte Gruppe von Videos abzurufen, oder mehrere Anfragen stellen, um sie alle zurückzugeben.

Parameter

Die folgenden URL-Parameter können für Playlist-Anfragen verwendet werden

Parameter für Playlist-Anforderungen
Parameter Beschreibung
Begrenzung Die Anzahl der zurückzugebenden Videos (Standard=20; Maximum=1000)
Offset Anzahl der zu überspringenden Videos (vom Anfang der Playlist; Standard=0)

Diese Parameter wurden beispielsweise an Ihre Anfrage angehängt -? limit=100&offset=200 - würde die Videos 201-300 in der Playlist zurückgeben (vorausgesetzt, es gibt so viele).

Playlist nach ID abrufen

Endpunkt

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/playlists/{playlist_id}

Beispiel

https://edge.api.brightcove.com/playback/v1/accounts/57838016001/playlists/38467382999

Beispielantwort

{
  "account_id": "107767373999",
  "created_at": "2010-07-12T22:43:30.290Z",
  "description": null,
  "id": "111592530001",
  "name": "Play One",
  "reference_id": null,
  "type": "EXPLICIT",
  "updated_at": "2010-07-12T22:51:25.055Z",

  "videos": [
    {
      "description": "Avatar_MakingAScene_Featurette",
      "poster_sources": [
        {
          "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
        }
      ],
      "tags": [
        "copied"
      ],
      "cue_points": [
        {
          "id": "111637107001",
          "name": "Pre-roll",
          "type": "AD",
          "time": 0,
          "metadata": null,
          "force_stop": false
        }
      ],
      "custom_fields": {
        "moretext": "this is the first video uploaded",
        "mylist": "abc"
      },
      "account_id": "107767373999",
      "sources": [
        {
          "avg_bitrate": 379000,
          "width": 320,
          "duration": 595560,
          "size": 28196307,
          "stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728840001",
          "container": "MP4",
          "height": 180,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 379000,
          "width": 320,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 28196307,
          "height": 180,
          "duration": 595560,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728840001"
        },
        {
          "avg_bitrate": 267000,
          "width": 320,
          "duration": 595560,
          "size": 19894997,
          "stream_name": "mp4:107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728852001",
          "container": "MP4",
          "height": 180,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 267000,
          "width": 320,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 19894997,
          "height": 180,
          "duration": 595560,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728852001"
        },
        {
          "avg_bitrate": 549000,
          "width": 480,
          "duration": 595567,
          "size": 40889436,
          "stream_name": "mp4:107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728860001",
          "container": "MP4",
          "height": 268,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 549000,
          "width": 480,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 40889436,
          "height": 268,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728860001"
        },
        {
          "avg_bitrate": 835000,
          "width": 640,
          "duration": 595567,
          "size": 62142992,
          "stream_name": "mp4:107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728865001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 835000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 62142992,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728865001"
        },
        {
          "avg_bitrate": 1744000,
          "width": 640,
          "duration": 595567,
          "size": 129836869,
          "stream_name": "mp4:107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111735357001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 1744000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 129836869,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111735357001"
        },
        {
          "avg_bitrate": 1249000,
          "width": 640,
          "duration": 595567,
          "size": 92994065,
          "stream_name": "mp4:107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111735369001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 1249000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 92994065,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111735369001"
        }
      ],
      "name": "Avatar_MakingAScene_Featurette",
      "reference_id": "AvatarMakingShort",
      "long_description": null,
      "duration": 595560,
      "published_at": "2010-07-12T22:37:34.760Z",
      "text_tracks": [],
      "updated_at": "2010-07-12T22:54:29.666Z",
      "thumbnail": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
      "poster": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
      "link": {
        "text": "Full Dvd at Amazon",
        "url": "https://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
      },
      "id": "38467382999",
      "ad_keys": null,
      "thumbnail_sources": [
        {
          "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
        }
      ],
      "created_at": "2010-07-12T22:37:34.760Z"
    }
  ],
}

Playlist nach Referenz-ID abrufen

Endpunkt

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/playlists/ref:{reference_id}

Beispiel

https://edge.api.brightcove.com/playback/v1/accounts/57838016001/playlists/ref:nature_2010-07-12

Beispielantwort

{
  "account_id": "107767373999",
  "created_at": "2010-07-12T22:43:30.290Z",
  "description": null,
  "id": "111592530001",
  "name": "Play One",
  "reference_id": nature_2010-07-12,
  "type": "EXPLICIT",
  "updated_at": "2010-07-12T22:51:25.055Z",

  "videos": [
    {
      "description": "Avatar_MakingAScene_Featurette",
      "poster_sources": [
        {
          "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
        }
      ],
      "tags": [
        "copied"
      ],
      "cue_points": [
        {
          "id": "111637107001",
          "name": "Pre-roll",
          "type": "AD",
          "time": 0,
          "metadata": null,
          "force_stop": false
        }
      ],
      "custom_fields": {
        "moretext": "this is the first video uploaded",
        "mylist": "abc"
      },
      "account_id": "107767373999",
      "sources": [
        {
          "avg_bitrate": 379000,
          "width": 320,
          "duration": 595560,
          "size": 28196307,
          "stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728840001",
          "container": "MP4",
          "height": 180,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 379000,
          "width": 320,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 28196307,
          "height": 180,
          "duration": 595560,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728840001"
        },
        {
          "avg_bitrate": 267000,
          "width": 320,
          "duration": 595560,
          "size": 19894997,
          "stream_name": "mp4:107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728852001",
          "container": "MP4",
          "height": 180,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 267000,
          "width": 320,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 19894997,
          "height": 180,
          "duration": 595560,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728852001"
        },
        {
          "avg_bitrate": 549000,
          "width": 480,
          "duration": 595567,
          "size": 40889436,
          "stream_name": "mp4:107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728860001",
          "container": "MP4",
          "height": 268,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 549000,
          "width": 480,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 40889436,
          "height": 268,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728860001"
        },
        {
          "avg_bitrate": 835000,
          "width": 640,
          "duration": 595567,
          "size": 62142992,
          "stream_name": "mp4:107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728865001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 835000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 62142992,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728865001"
        },
        {
          "avg_bitrate": 1744000,
          "width": 640,
          "duration": 595567,
          "size": 129836869,
          "stream_name": "mp4:107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111735357001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 1744000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 129836869,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111735357001"
        },
        {
          "avg_bitrate": 1249000,
          "width": 640,
          "duration": 595567,
          "size": 92994065,
          "stream_name": "mp4:107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111735369001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 1249000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 92994065,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111735369001"
        }
      ],
      "name": "Avatar_MakingAScene_Featurette",
      "reference_id": "AvatarMakingShort",
      "long_description": null,
      "duration": 595560,
      "published_at": "2010-07-12T22:37:34.760Z",
      "text_tracks": [],
      "updated_at": "2010-07-12T22:54:29.666Z",
      "thumbnail": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
      "poster": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
      "link": {
        "text": "Full Dvd at Amazon",
        "url": "https://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
      },
      "id": "38467382999",
      "ad_keys": null,
      "thumbnail_sources": [
        {
          "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
        }
      ],
      "created_at": "2010-07-12T22:37:34.760Z"
    }
  ],
}

Bildunterschriften

Untertitel bieten zusätzliche Informationen zu deinem Video für Personen, die darauf zugreifen möchten. Für Gehörlose und Schwerhörige sind Untertitel erforderlich, um auf den Audioteil Ihrer Videos zugreifen zu können. Wenn Sie mit Untertiteln noch nicht vertraut sind, lesen Sie die Überblick: Hinzufügen von Untertiteln zu einem Video dokumentieren.

Externes WebVTT

Externe WebVTT-Untertitel sind vom Video getrennte Textdateien. Sie können Untertiteldateien wie folgt mit einem Video verknüpfen:

Beispielantwort

Unten sehen Sie eine Beispielantwort der Playback-API, bei der eine WebVTT-Untertiteldatei mithilfe des Medienmoduls zu einem Video hinzugefügt wurde. Beachten Sie, dass die Textspur src Eigenschaften zeigen auf eine externe Untertiteldatei.

{
"text_tracks": [
{
  "mime_type": null,
  "account_id": "20318290001",
  "default": true,
  "sources": [
    {
      "src": "https://static.3playmedia.com/p/files/2240988/threeplay_transcripts/6418302.vtt?project_id=10127&format_id=51&refresh=1515241856"
    }
  ],
  "src": "https://static.3playmedia.com/p/files/2240988/threeplay_transcripts/6418302.vtt?project_id=10127&format_id=51&refresh=1515241856",
  "asset_id": null,
  "label": "English",
  "id": "13d66def-d004-4e75-b160-4ac693eff7d7",
  "kind": "captions",
  "srclang": "en"
}
],
}

WebVTT im Manifest

In-manifest WebVTT-Untertitel werden mit Ihren Videos aufgenommen. Dies kann erfolgen, wenn Sie Ihr Video zum ersten Mal aufnehmen oder nachdem Ihr Video aufgenommen wurde. Sie können in-Manifest-Beschriftungen wie folgt erstellen:

Beispielantwort

Unten sehen Sie eine Beispielantwort der Playback-API, bei der eine WebVTT-Untertiteldatei zu einem Video mithilfe von Dynamic hinzugefügt wurde Ingest-API. Beachten Sie, dass die Textspur src Eigenschaften verweisen auf interne Brightcove-Dateien.

{
"text_tracks": [
{
  "mime_type": "text/webvtt",
  "account_id": "1752604059001",
  "default": false,
  "sources": [
    {
      "src": "https://bcboltbde696aa-a.akamaihd.net/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt?akamai_token=exp=1518032480~acl=/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt*~hmac=5aa9f206a8e970efb4cab95278e2e9b16a29b3ccf82951a91245352d9149b173"
    },
    {
      "src": "https://bcboltbde696aa-a.akamaihd.net/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt?akamai_token=exp=1518032480~acl=/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt*~hmac=5aa9f206a8e970efb4cab95278e2e9b16a29b3ccf82951a91245352d9149b173"
    }
    ],
  "src": "https://bcboltbde696aa-a.akamaihd.net/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt?akamai_token=exp=1518032480~acl=/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt*~hmac=5aa9f206a8e970efb4cab95278e2e9b16a29b3ccf82951a91245352d9149b173",
  "asset_id": null,
  "label": "EN",
  "id": "92cb36a7-c836-4506-a87f-f649316c0cdf",
  "kind": "captions",
  "in_band_metadata_track_dispatch_type": "",
  "srclang": "en"
}
],
}

Manifest

Das Manifest für die HLS- oder DASH-Videodateien enthält auch die erforderlichen Informationen, um die WebVTT-Untertitel einzuschließen.

HLS
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-0",NAME="en (Main)",DEFAULT=YES,AUTOSELECT=YES,LANGUAGE="en",URI="https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/8b12c808-c5ea-47f3-abfa-c23b023db297/10s/rendition.m3u8?fastly_token=NWE3YjU3ZThfNzAwNTczOWM4MWQ4Mzk2NjFkYjVjYmFhYjQwNzY2MWUzM2MyNDM5ZDA5ZGExYTFkMzRmYzA0MDdhOTlmZWJhMw%3D%3D"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subtitles-0",NAME="EN",DEFAULT=YES,AUTOSELECT=YES,LANGUAGE="en",URI="https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/rendition.m3u8?fastly_token=NWE3YjU3ZThfNDYzOThkZGJiZTU1NTlhOTdkYzA5OTA3M2UzZGRlYTgzMmRkZmUxMGIxYTJkY2Y5ZDQ1ODFiNTEyMmNiZDVhMw%3D%3D"
#EXT-X-STREAM-INF:PROGRAM-ID=0,BANDWIDTH=519200,CODECS="mp4a.40.2,avc1.420015",RESOLUTION=480x270,AUDIO="audio-0",CLOSED-CAPTIONS=NONE,SUBTITLES="subtitles-0"
https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/5f7850d9-9a65-4eee-8810-86a1e18e05fb/10s/rendition.m3u8?fastly_token=NWE3YjU3ZThfY2Q5YmE2ODc2OWFiNTgyZjUxMjc1MzRhNmQxMzA0ZmJmY2RlMGU4ZjBiNDExZGRmNjc3YjQ0OGQ5N2RiOTVmMA%3D%3D
BINDESTRICH
<AdaptationSet mimeType="text/vtt" lang="en">
<Representation bandwidth="256" id="92cb36a7-c836-4506-a87f-f649316c0cdf">
  <BaseURL>https://bcboltbde696aa-a.akamaihd.net/media/v1/dash/live/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf.vtt?akamai_token=exp=1518032494~acl=/media/v1/dash/live/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a*~hmac=3e2edc412c273f1255f2c18bbbcee7afc6a2edb74573f9295b0f05feda69f0e2</BaseURL>
</Representation>
</AdaptationSet>