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:
- 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.
- In einem (n
Authorization
Header mit dem Realm-SchlüsselwortBCOV-Policy
:Authorization: BCOV-Policy {policy_key}
- In einem
BCOV-Policy
Header:BCOV-Policy: {policy_key}
Abrufen eines Richtlinienschlüssels
Es gibt drei Möglichkeiten, einen Richtlinienschlüssel zu erhalten:
- 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.
- Sie können einen grundlegenden Richtlinienschlüssel mit dem Schnellstart für Richtlinienschlüssel generieren
- 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 | 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 |
Verwenden von Suchparametern
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:
- Verwenden Sie die
limit
undoffset
-Parameter, um Datengruppen aus Ihrer Ergebnismenge zurückzugeben./accounts/578380111111/videos?q=tags:nature&limit=20&offset=50
- Bei jeder Antwort sehen Sie, dass die
count
Das Feld zeigt immer die maximale Anzahl von Videos in Ihrem Resultset an.{"count": 171, "videos": [ ... ] }
- 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 abfragencount
Wert mit jeder Antwort und fahren Sie fort, bis diecount
ist kleiner oder gleich der Seitengröße mal derlimit
.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 Ergebnisseupdated_at
absteigend sortiert. - [1-2] Sie können weiter sortieren
plays_total
oderplays_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:
- 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. - 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.
- 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."
}
]
Verwandte Videos finden
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:
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.
-
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
-
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 namensvmap
. - 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" }
- Kopieren Sie eine der
vmap
URLs und fügen Sie sie in eine Browser-Suchleiste ein, um die VMAP-Antwort zu sehen. -
Die VMAP-Antwort enthält ein
<bc:Brightcove
Tag mit einemcontenturi
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 | 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>