Spielerkatalog
Grundlegende Syntax
Die grundlegende Syntax für die Verwendung von catalog
ist wie folgt:
- Methoden:
playerName.catalog.methodName()
Einige der catalog
Methoden übergeben ein Objekt mit Parametern, die die Anforderung definieren. Das catalog Parameter Objekt wird im nächsten Abschnitt definiert und wird gegebenenfalls in den Methodenbeschreibungen angegeben.
catalog Parameter Objekt
Die folgende Tabelle beschreibt die Eigenschaften in der CatalogParams
Objekt. Dieses echte Objekt (kein Konstruktor) definiert das Format für Parameter, die bei vielen Kataloganforderungen verwendet werden sollen.
Nennen | Typ | Beschreibung |
---|---|---|
type |
string |
Die Art der Anfrage. Muss einer von sein Video , Wiedergabeliste , oder Suche. |
policyKey |
string |
Der Richtlinienschlüssel für dieses Konto. Dies ist standardmäßig der Richtlinienschlüssel des Players.** Beachten Sie, dass Sie, wenn Sie eine andere Konto-ID als Parameter übergeben, auch den entsprechenden Richtlinienschlüssel für dieses Konto übergeben müssen. |
deliveryConfigId |
string |
Die Lieferregeln id. Sehen Überblick: Lieferregeln. |
[id] |
string |
Eine Video- oder Wiedergabelisten-ID oder Referenz-ID mit dem Präfix "ref:". Required für Video- und Wiedergabelistenanfragen. DEPRECATED: Aus Gründen der Abwärtskompatibilität wird dies stattdessen als Suchabfrage unterstützt |
[q] |
string |
Eine Suchabfrage. Required für Suchanfragen, für andere ignoriert. |
[adConfigId] |
string |
Ein Video könnte SSAI-Anzeigenkonfigurations-ID. |
[tveToken] |
string |
Ein optionales TVE-Token, das als Abfragezeichenfolgenparameter gesendet werden soll. |
[limit] |
string |
Unterstützt für playlist und search nur Typen. Begrenzen Sie die Anzahl der zurückgegebenen Videos. |
[offset] |
string |
Unterstützt für playlist und search nur Typen. Die Anzahl der zu überspringenden Videos. |
[sort] |
string |
Unterstützt für search Nur eingeben. Wie die Videos für die Suche sortiert werden sollen. |
[bcovAuthToken] |
string |
Zur Verwendung mit dem Brightcove Playback Authorization Service (PAS). |
getVideo( )
method
Das getVideo(params | videoID,callback,[adConfigId]) => XMLHttpRequest
Methode macht a catalog
Anforderung für das Video mit der angegebenen ID und Aufruf eines Rückrufs, wenn die Anforderung abgeschlossen ist.
Parameter
-
params | videoID:: Ein Objekt vom Typ catalog Parameter ODER eine Zeichenfolge, die die Video-ID oder eine Referenz-ID enthält, der ein Präfix vorangestellt ist ref:.
-
callback:: Eine Funktion, die aufgerufen wird, wenn die Anforderung abgeschlossen ist, unabhängig davon, ob sie erfolgreich ist oder nicht. Es wird mit zwei Argumenten aufgerufen:
-
Das erste Argument enthält ein Error-Objekt, wenn ein Fehler auftritt. Dieses Objekt enthält Details zum Fehler. Wenn kein Fehler auftritt, ist dieses Objekt null.
-
Wenn kein Fehler auftritt, ist das zweite Argument das angeforderte Videoobjekt. Wenn ein Fehler auftritt, enthält dieser Wert die leere Zeichenfolge.
-
-
[adConfigId]:: VERALTET Eine Video Cloud-Anzeigenkonfigurations-ID, die an die Playback-API weitergegeben wird. Übergeben Sie stattdessen die adConfigId im ersten params-Objekt.
Wert zurückgegeben
Das catalog
Der Aufruf selbst gibt ein Objekt vom Typ zurück XMLHttpRequest. Ein Beispiel für dieses Objekt folgt:

Obwohl der Anruf ein zurückgibt XMLHttpRequest Objekt, werden Sie höchstwahrscheinlich nie mit diesem Objekt beschäftigen. Der Grund ist, dass in der Rückruffunktion die JSON-Antwort automatisch analysiert wird und ein verwendbares Objekt an die Rückruffunktion übergeben wird, in diesem Fall ein Videoobjekt.
Beispiel: Video-ID als Zeichenfolge
Das folgende Beispiel zeigt eine Verwendung von getVideo()
Methode:
<video-js id="myPlayerID"
data-account="1507807800001"
data-player="3bc25a34-086a-4060-8745-dd87af3d53b4"
data-embed="default"
data-video-id=""
controls=""></video-js>
<script src="https://brightcove.net/1507807800001/3bc25a34-086a-4060-8745-dd87af3d53b4_default/index.min.js"></script>
<script type="text/javascript">
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this;
myPlayer.catalog.getVideo('2114345471001', function(error, video){
//deal with error
myPlayer.catalog.load(video);
});
});
</script>
Beispiel: Verwenden von catalogParams
Das Äquivalent des obigen Codes, jedoch unter Verwendung des CatalogParams-Objekts, sieht wie folgt aus:
<script>
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this,
catalogParams = {};
catalogParams.type = 'video';
catalogParams.id = '2114345471001';
myPlayer.catalog.getVideo(catalogParams, function(error, video){
//deal with error
myPlayer.catalog.load(video);
});
});
</script>
getPlaylist( )
method
Das getPlaylist(params | playlistID,callback,[adConfigId]) => XMLHttpRequest
Methode macht a catalog
Anforderung der Wiedergabeliste mit der angegebenen ID und Aufruf eines Rückrufs, wenn die Anforderung abgeschlossen ist.
Parameter
-
params | playlistID:: Ein Objekt vom Typ catalog Parameter ODER eine Zeichenfolge, die die Wiedergabelisten-ID oder eine Referenz-ID enthält, der ein Präfix vorangestellt ist ref:.
-
callback:: Eine Funktion, die aufgerufen wird, wenn die Anforderung abgeschlossen ist, unabhängig davon, ob sie erfolgreich ist oder nicht. Es wird mit zwei Argumenten aufgerufen:
-
Das erste Argument enthält ein Error-Objekt, wenn ein Fehler auftritt. Dieses Objekt enthält Details zum Fehler. Wenn kein Fehler auftritt, ist dieses Objekt null.
-
Wenn kein Fehler auftritt, ist das zweite Argument das angeforderte Videoobjekt. Wenn ein Fehler auftritt, enthält dieser Wert die leere Zeichenfolge.
-
-
[adConfigId]:: VERALTET Eine Video Cloud-Anzeigenkonfigurations-ID, die an die Playback-API weitergegeben wird. Übergeben Sie stattdessen die adConfigId im ersten params-Objekt.
Wert zurückgegeben
Das catalog
Aufruf selbst gibt eine zurück XMLHttpRequest. Obwohl der Anruf ein zurückgibt XMLHttpRequest Objekt, werden Sie höchstwahrscheinlich nie mit diesem Objekt beschäftigen. Der Grund ist, dass in der Rückruffunktion die JSON-Antwort automatisch analysiert wird und ein verwendbares Objekt an die Rückruffunktion übergeben wird, in diesem Fall ein Wiedergabelistenobjekt.
Beispiel
Das folgende Beispiel zeigt eine Verwendung von getPlaylist()
Methode folgt:
<video-js id="myPlayerID"
data-account="1752604059001"
data-player="f50a2d3c-af51-4d8c-84e3-0c7cdec0edbe"
data-embed="default"
controls=""></video-js>
<script src="https://players.brightcove.net/1752604059001/f50a2d3c-af51-4d8c-84e3-0c7cdec0edbe_default/index.min.js"></script>
<script type="text/javascript">
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this;
myPlayer.catalog.getPlaylist('1754200320001', function(error, playlist){
//deal with error
myPlayer.catalog.load(playlist);
})
});
</script>
load () -Methode
Das load(mediaobject)
Methode lädt ein Video- oder Wiedergabelistenobjekt in den Player. Diese Methode aktualisiert den Player mediainfo
Eigenschaft, und aktualisieren Sie die Videoquelle und das Poster. In den meisten Fällen würden Sie diese Methode mit dem Ergebnis eines Aufrufs von aufrufen getVideo()
oder getPlaylist()
. Wenn Sie benachrichtigt werden möchten, wann mediainfo
wurde aktualisiert, hören Sie auf die loadstart
Veranstaltung.
Parameter
-
mediaobject:: Ein zu ladendes Video- oder Wiedergabelistenobjekt. Dieses Objekt sollte das gleiche Format haben wie das Antwortobjekt von einem Aufruf an
getVideo()
odergetPlaylist()
Methode.
Beispiel
Im folgenden Beispiel wird ein Video abgerufen und in den Player geladen.
<video-js id="myPlayerID"
data-account="1507807800001"
data-player="3bc25a34-086a-4060-8745-dd87af3d53b4"
data-embed="default"
data-video-id=""
controls=""></video-js>
<script src="https://players.brightcove.net/1507807800001/3bc25a34-086a-4060-8745-dd87af3d53b4_default/index.min.js"></script>
<script type="text/javascript">
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this;
myPlayer.catalog.getVideo('2114345471001', function(error, video) {
//deal with error
myPlayer.catalog.load(video);
});
});
</script>
get () Methode
Das get(params, [callback]) ⇒ Promise | XMLHttpRequest
Methode ermöglicht die Suche in der catalog
mit CMS / Playback-API: Videos Suche Syntax. Unter der Haube verwendet diese Methode die Playback-API.
Parameter
-
params:: Ein Objekt vom Typ catalog Parameter.
-
callback:: Eine Funktion, die aufgerufen wird, wenn die Anforderung abgeschlossen ist, unabhängig davon, ob sie erfolgreich ist oder nicht. Es wird mit zwei Argumenten aufgerufen:
-
Das erste Argument enthält ein Error-Objekt, wenn ein Fehler auftritt. Dieses Objekt enthält Details zum Fehler. Wenn kein Fehler auftritt, ist dieses Objekt null.
-
Wenn kein Fehler auftritt, ist das zweite Argument das angeforderte Videoobjekt. Wenn ein Fehler auftritt, enthält dieser Wert die leere Zeichenfolge.
-
Wert zurückgegeben
Die Methode gibt a zurück Promise oder ein Objekt vom Typ XMLHttpRequest. Wenn Sie eine Rückruffunktion verwenden, wird die JSON-Antwort automatisch analysiert und ein verwendbares Objekt wird an die Rückruffunktion übergeben. Die genaue Struktur der zurückgegebenen Daten im Callback hängt davon ab, wonach gesucht wurde.
Rückrufbeispiel
Das folgende Beispiel führt wie folgt aus:
-
Erstellt ein catalogParams-Objekt, das als Argument mit der Funktion übergeben wird. Bei der Suche werden Videos mit der Zeichenfolge abgefragt Desert in den Videos name.
-
Führt die Suche mit dem durch
get()
Methode. Beachten Sie, dass die Callback-Funktion die Parameter namenserrorObj
und verwendetvideosReturned
. -
Verwenden Sie die
playlist()
Methode, um die zurückgegebenen Videos dem Brightcove Player zuzuweisen.
<script type="text/javascript">
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this,
catalogParams = {};
catalogParams.type = 'search';
catalogParams.policyKey = 'BCpkADawqM3dv_...Cv8-nlTX';
catalogParams.q = 'name:Desert';
console.log('catalogParams',catalogParams);
myPlayer.catalog.get(catalogParams,function(errorObj,videosReturned){
console.log('videosReturned',videosReturned);
myPlayer.playlist(videosReturned);
});
});
</script>
Der folgende Screenshot zeigt die beiden console.log()
Ergebnisse im obigen Code. Das catalogParams
zeigt die Parameter für die Suche und die videosReturned
Array zeigt die drei von der Suche zurückgegebenen Videos.

Versprich ein Beispiel
In diesem Code wird dieselbe Suche mit durchgeführt get()
Methode wie oben gezeigt, aber das Ergebnis wird als Versprechen behandelt.
<script type="text/javascript">
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this,
catalogParams = {};
catalogParams.type = 'search';
catalogParams.policyKey = 'BCpkADawqM3dv_...Cv8-nlTX';
catalogParams.q = 'name:Desert';
myPlayer.catalog.get(catalogParams).then(function(videosReturned){
console.log('videosReturned',videosReturned);
myPlayer.playlist(videosReturned);
}).catch(function(errorObj){
console.log('errorObj',errorObj);
})
});
</script>
Weitere Informationen zu Versprechen finden Sie unter Verwenden von JavaScript-Versprechen.
Methode getSearch ()
Das getSearch(params, [callback], [adConfigId]) ⇒ XMLHttpRequest
Methode ermöglicht das Durchsuchen des Katalogs mit CMS / Playback-API: Videos Suche Syntax. Unter der Haube verwendet diese Methode die Playback-API.
Parameter
-
params:: Ein Objekt vom Typ catalog Parameter.
-
callback:: Eine Funktion, die aufgerufen wird, wenn die Anforderung abgeschlossen ist, unabhängig davon, ob sie erfolgreich ist oder nicht. Es wird mit zwei Argumenten aufgerufen:
-
Das erste Argument enthält ein Error-Objekt, wenn ein Fehler auftritt. Dieses Objekt enthält Details zum Fehler. Wenn kein Fehler auftritt, ist dieses Objekt null.
-
Wenn kein Fehler auftritt, ist das zweite Argument das angeforderte Videoobjekt. Wenn ein Fehler auftritt, enthält dieser Wert die leere Zeichenfolge.
-
- [adConfigId]:: VERALTET Eine Video Cloud-Anzeigenkonfigurations-ID, die an die Playback-API weitergegeben wird. Übergeben Sie stattdessen die adConfigId im ersten params-Objekt.
Wert zurückgegeben
Das catalog
Der Aufruf selbst gibt ein Objekt vom Typ zurück XMLHttpRequest. Obwohl der Anruf ein zurückgibt XMLHttpRequest Objekt, werden Sie höchstwahrscheinlich nie mit diesem Objekt beschäftigen. Der Grund dafür ist, dass in der Callback-Funktion die JSON-Antwort automatisch analysiert wird und ein brauchbares Objekt an die Callback-Funktion übergeben wird. Die genaue Struktur der zurückgegebenen Daten im Callback hängt davon ab, wonach gesucht wurde.
Beispiel
Das folgende Beispiel führt wie folgt aus:
-
Baut a CatalogParams Objekt, das als Argument mit der Funktion übergeben wird. Der suchfähige Richtlinienschlüssel wird übergeben. Bei der Suche werden Videos mit der Zeichenfolge abgefragt desert in den Videos name.
-
Führt die Suche mit dem durch
getSearch()
Methode. Beachten Sie, dass die Callback-Funktion die Parameter namenserrorObj
und verwendetvideosReturned
. -
Verwenden Sie die
playlist()
Methode, um die zurückgegebenen Videos dem Brightcove Player zuzuweisen.
<script type="text/javascript">
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this,
catalogParams = {};
catalogParams.type = 'search';
catalogParams.policyKey = 'BCpkADawqM3dv_...-rSSaDpwCVfj0vsWCv8-nlTX';
catalogParams.q = 'name:Desert';
console.log('catalogParams',catalogParams);
myPlayer.catalog.getSearch(catalogParams,function(errorObj,videosReturned){
console.log('videosReturned',videosReturned);
myPlayer.playlist(videosReturned);
});
});
</script>
Der folgende Screenshot zeigt die beiden console.log()
Ergebnisse im obigen Code. Das catalogParams
zeigt die erforderlichen Parameter für die Suche und die videosReturned
Array zeigt die drei von der Suche zurückgegebenen Videos.

Methode getSequence ()
Das getSequence(sequences, callback, [adConfigId]) ⇒ Array.<XMLHttpRequest>
Methode erlaubt das Übergeben mehrerer catalog
Operationen und ruft alle Videoobjekte von diesen mehreren ab catalog
Operationen. Sie können drei Arten von Operationen ausführen:
- suche
- Video
- Wiedergabeliste
In der Praxis bedeutet dies, dass Sie die folgenden Kombinationen abrufen können und die zurückgegebenen Daten ein Array von Videoobjekten sind:
- Mehrere Wiedergabelisten
- Eine Wiedergabeliste und mehrere zusätzliche, individuelle Videos
- Bei der Suche werden alle Videos mit einer bestimmten Zeichenfolge im Namen, der Beschreibung oder dem Tag angezeigt.
Natürlich sind die gerade aufgelisteten Sequenzen nur einige von nahezu unendlich vielen Kombinationen.
Parameter
-
sequences:: Ein Objekt vom Typ catalog Parameter ODER ein Array von Objekten, die eine Folge von darstellen
catalog
Operationen. -
callback:: Eine Funktion, die aufgerufen wird, wenn die Anforderung abgeschlossen ist, unabhängig davon, ob sie erfolgreich ist oder nicht. Es wird mit zwei Argumenten aufgerufen:
-
Das erste Argument enthält ein Error-Objekt, wenn ein Fehler auftritt. Dieses Objekt enthält Details zum Fehler. Wenn kein Fehler auftritt, ist dieses Objekt null.
-
Wenn kein Fehler auftritt, ist das zweite Argument das angeforderte Videoobjekt. Wenn ein Fehler auftritt, enthält dieser Wert die leere Zeichenfolge.
-
-
[adConfigId]:: Eine Anzeigenkonfigurations-ID, die bei jeder Anforderung weitergegeben wird.
Beachten Sie, dass ein bestimmtes Video, das in mehr als einem der Vorgänge zurückgegeben wird, mehrmals im Ergebnis enthalten ist.
Wert zurückgegeben
Das catalog
Der Aufruf selbst gibt ein Objekt vom Typ zurück XMLHttpRequest. Obwohl der Anruf ein zurückgibt XMLHttpRequest Objekt, werden Sie höchstwahrscheinlich nie mit diesem Objekt beschäftigen. Der Grund dafür ist, dass in der Callback-Funktion die JSON-Antwort automatisch analysiert wird und ein brauchbares Objekt an die Callback-Funktion übergeben wird. Die genaue Struktur der zurückgegebenen Daten im Callback hängt davon ab, wonach gesucht wurde.
Beispiel
Im folgenden Beispiel wird eine Folge von drei verwendet catalog
Operationen. Das erste ist eine Suche nach den 10 ältesten Videos in der catalog
In der Sekunde, in der ein einzelnes Video hinzugefügt wird, werden zuletzt die Videos einer Wiedergabeliste zum Ergebnis hinzugefügt.
<script>
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this,
// Declare object for catalog search
catalogParams = {};
// Declare mySequences array which will hold
// three different types of catalog operations
mySequences = [];
// Declare 3 objects for different catalog operations
mySequences[0]={};
mySequences[1]={};
mySequences[2]={};
// Define the object for catalog search
// Search will retrieve 10 oldest videos in catalog
catalogParams.policyKey = 'BCpkADawqM3dv_-rSSaDpwCVfj0vsWCv8-nlTX';
catalogParams.q = 'type:*';
catalogParams.sort = 'created_at';
catalogParams.limit = 10;
catalogParams.type = 'search';
mySequences[0] = catalogParams;
// Create a video retrieval catalog operation
catalogParams = {};
catalogParams.type = 'video';
catalogParams.id = '5755775186001';
mySequences[1] = catalogParams;
// Create a playlist retrieval catalog operation
catalogParams = {};
catalogParams.type = 'playlist';
catalogParams.id = '5531423971001';
mySequences[2] = catalogParams;
// Display mySequences array
console.log('mySequences',mySequences);
// Perform sequence of catalog operations
myPlayer.catalog.getSequence(mySequences,function(errorObj,videosReturned){
// Display video objects returned
console.log('videosReturned',videosReturned);
// Assign video objects as a playlist
myPlayer.playlist(videosReturned);
});
});
</script>
Der folgende Screenshot zeigt die Struktur des mySequences
Array, gefolgt von dem Array der zurückgegebenen Videoobjekte:

Methode getLazySequence ()
Das getLazySequence(sequences, callback, [adConfigId]) ⇒ XMLHttpRequest
Methode verhält sich genauso wie die Methode getSequence () , außer dass das verzögerte Laden von Videos verwendet wird. Dies bedeutet, dass beim Abrufen der Videos für eine Sequenzoperation die Videos der nächsten Sequenzoperation erst abgerufen werden, wenn das letzte Video der vorherigen Operation erreicht ist. Ein Sonderfall liegt vor, wenn eine Sequenz nur ein einziges Video zurückgibt. In diesem Fall wird die nächste Sequenzoperation ausgeführt und es werden mehr Videos abgerufen.
autoFindAndLoadMedia () -Methode
Das autoFindAndLoadMedia([opts]) ⇒ Object | undefined
Die Methode sucht nach der zuletzt definierten Video- oder Wiedergabelisten-ID, fordert sie von der API an und lädt sie in den Player. Diese Methode definiert das Standardverhalten für den Brightcove Player.
Parameter
options
: Alle folgenden Optionen werden erkannt:-
adConfigId
(number): Ein numerischer Wert für eine Anzeigenkonfiguration, der an die Wiedergabe-API übergeben wird. Wird am Ende ad_config_id genannt. -
embedHasPoster
(boolean): Ob die ursprüngliche Einbettung ein Poster hatte oder nicht. -
embedHasSources
(boolean): Ob die ursprüngliche Einbettung Quellen hatte oder nicht. -
embedHasTracks
(boolean): Ob die ursprüngliche Einbettung Spuren hatte oder nicht. -
playlistId
(string): Eine Wiedergabelisten-ID, die in der Player-Konfiguration angegeben ist. -
search
(string | Object): Eine Suchzeichenreihung/Objekt, die in der Player-Konfiguration oder Einbettung bereitgestellt wurde. Weitere Informationen zu den unterstützten Parametern finden Sie unterget()
Methode. -
sequence
(Object | Array.Object): Eine Suchzeichenreihung/Objekt, die in der Player-Konfiguration oder Einbettung bereitgestellt wurde. Weitere Informationen zu den unterstützten Parametern finden Sie unterget()
Methode. -
videoId
(string): Eine Video-ID, die in der Player-Konfiguration angegeben ist.
-
Im folgenden Beispiel wird das Videoobjekt basierend auf dem abgerufen videoId
und lädt es in den Player:
<script type="text/javascript">
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this,
options = {};
options.videoId = '5141730843001';
myPlayer.catalog.autoFindAndLoadMedia(options);
});
</script>
Im folgenden Beispiel wird das Wiedergabelistenobjekt basierend auf abgerufen playlistId
und lädt es in den Player. Es erhält auch das Videoobjekt basierend auf playlistVideoId
und lädt es als erstes Video, das in der Wiedergabeliste abgespielt wird:
<script type="text/javascript">
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this,
options = {};
options.playlistId = '4845949311001';
options.playlistVideoId = '4845831078001'
myPlayer.catalog.autoFindAndLoadMedia(options);
});
</script>
transformVideoResponse () -Methode
Das transformVideoResponse(data)
Methode konvertiert ein rohes Videoobjekt von einem der beiden CMS API oder der Wiedergabe-API in ein Format, das mit dem Player und den Browsern kompatibel ist. Dies umfasst die Dauer und die https-Bildkompatibilität. Außerdem werden die Quellen neu angeordnet, um sicherzustellen, dass zuerst versucht wird, die Quellen zu ermitteln, von denen erwartet wird, dass sie auf dieser Plattform das höchste Seherlebnis bieten.
Parameter
-
data
: Ein rohes Videoobjekt, das aus a analysiert wurdecatalog
API-Antwort.
Ein Beispiel für die Verwendung der Methode lautet:
for (var i=0; i<limitValue; i++) {
mediaData.videos[i] = myPlayer.catalog.transformVideoResponse (mediaData.videos[i], myPlayer);
}
Das vollständige Codebeispiel finden Sie in der Wiedergabe-API-Paging Dokument.
Wert zurückgegeben
Ein Objekt, das mit der Player- und Browserumgebung konsistenter ist.
catalog Veranstaltungen
Es gibt drei Katalogevents, auf die Sie hören können. Sie sind:
-
catalog_request
: Ein Ereignis, das ausgelöst wird, wenn eine Anfrage an diecatalog
gemacht wird. -
catalog_response
: Ein Ereignis, das ausgelöst wird, wenn eine Antwort von dercatalog
Ist angekommen. Die JSON-formatierte Antwort enthält die Rohdaten der catalog API zurückgegeben. Siehe die Antwortinformationen Inhalt später in diesem Abschnitt für weitere Details. -
catalog_request_error
: Ein Ereignis, das ausgelöst wird, wenn bei der Interaktion mit dem ein Fehler auftrittcatalog
.
Im Folgenden wird das Konsolenprotokoll der Ereignisse von einer Anforderung an und eine Antwort von der angezeigt catalog
::

Sie sehen viele Standardeigenschaften eines Ereignisobjekts. Von besonderem Interesse für catalog
Ereignisse ist type und url.
Das Folgende zeigt ein Konsolenprotokoll von a catalog
Anforderungsfehlerobjekt:

Antwortinformationen
Das catalog_response
Ereignisobjekt enthält einen JSON-formatierten response
Eigenschaft, die die Rohdaten aus dem enthält catalog API-Antwort. Im Folgenden wird das Konsolenprotokoll der Antworteigenschaft angezeigt:

Um tatsächlich Daten aus der Antworteigenschaft zu verwenden, müssen Sie die JSON-formatierte Rohzeichenfolge in ein Objekt analysieren. Das Folgende zeigt den Zugriff auf die name
Eigentum:
myPlayer.on('catalog_response',function(evt){
var api_response = JSON.parse(evt.response.response);
console.log('api_response.name',api_response.name);
});
Unten ist der JSON eines Beispiels response
Eigentum:
{
"description": null,
"poster_sources": [{
"src": "http://brightcove.vo.llnwd.net/e1/pd/1507807800001/1507807800001_4784518686001_4784463159001-vs.jpg?pubId=1507807800001&videoId=4784463159001"
}, {
"src": "https://brightcove.hs.llnwd.net/e1/pd/1507807800001/1507807800001_4784518686001_4784463159001-vs.jpg?pubId=1507807800001&videoId=4784463159001"
}],
"tags": [],
"cue_points": [{
"id": "4784326156001",
"name": "First cue point",
"type": "CODE",
"time": 3.0,
"metadata": "5;This is the first CTA;http://www.brightcove.com",
"force_stop": false
}, {
"id": "4784326155001",
"name": "Second cue point",
"type": "CODE",
"time": 13.0,
"metadata": "3;This is the second CTA;http://docs.brightcove.com/",
"force_stop": false
}],
"custom_fields": {},
"account_id": "1507807800001",
"sources": [{
"avg_bitrate": 513000,
"width": 480,
"duration": 21098,
"size": 1357587,
"stream_name": "mp4:1507807800001/1507807800001_4784519206001_4784463159001.mp4&1483545600000&c190f37500f15373c964858e54b4e2a1",
"codec": "H264",
"asset_id": "4784519206001",
"container": "MP4",
"height": 270,
"app_name": "rtmp://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand"
}, {
"avg_bitrate": 513000,
"width": 480,
"src": "http://brightcove.vo.llnwd.net/e1/uds/pd/1507807800001/1507807800001_4784519206001_4784463159001.mp4?pubId=1507807800001&videoId=4784463159001",
"size": 1357587,
"height": 270,
"duration": 21098,
"container": "MP4",
"codec": "H264",
"asset_id": "4784519206001"
}, {
"avg_bitrate": 1804000,
"width": 960,
"src": "https://brightcove.hs.llnwd.net/e1/uds/pd/1507807800001/1507807800001_4784519221001_4784463159001.mp4?pubId=1507807800001&videoId=4784463159001",
"size": 4752091,
"height": 540,
"duration": 21098,
"container": "MP4",
"codec": "H264",
"asset_id": "4784519221001"
}, {
"type": "application/x-mpegURL",
"src": "http://c.brightcove.com/services/mobile/streaming/index/master.m3u8?videoId=4784463159001&pubId=1507807800001",
"container": "M2TS",
"codec": "H264"
}, {
"type": "application/x-mpegURL",
"src": "https://secure.brightcove.com/services/mobile/streaming/index/master.m3u8?videoId=4784463159001&pubId=1507807800001&secure=true",
"container": "M2TS",
"codec": "H264"
}],
"name": "small-waterfall.mp4",
"reference_id": null,
"long_description": null,
"duration": 21098,
"economics": "AD_SUPPORTED",
"published_at": "2016-03-03T14:56:42.982Z",
"text_tracks": [],
"updated_at": "2016-05-03T18:53:43.573Z",
"thumbnail": "http://brightcove.vo.llnwd.net/e1/pd/1507807800001/1507807800001_4784518327001_4784463159001-th.jpg?pubId=1507807800001&videoId=4784463159001",
"poster": "http://brightcove.vo.llnwd.net/e1/pd/1507807800001/1507807800001_4784518686001_4784463159001-vs.jpg?pubId=1507807800001&videoId=4784463159001",
"link": null,
"id": "4784463159001",
"ad_keys": "key1%3Dvalue1%26key2%3Dvalue2",
"thumbnail_sources": [{
"src": "http://brightcove.vo.llnwd.net/e1/pd/1507807800001/1507807800001_4784518327001_4784463159001-th.jpg?pubId=1507807800001&videoId=4784463159001"
}, {
"src": "https://brightcove.hs.llnwd.net/e1/pd/1507807800001/1507807800001_4784518327001_4784463159001-th.jpg?pubId=1507807800001&videoId=4784463159001"
}],
"created_at": "2016-03-03T14:56:42.982Z"
}
catalog Fehler
Das catalog
wird Fehler auslösen, wenn beim Abrufen oder ersten Abspielen des Videos oder der Wiedergabeliste Probleme auftreten. Die Fehler sind unten aufgeführt.
catalog Error | Beschreibung |
---|---|
Video ID as string |
Der Player wurde mit einer ungültigen Video Cloud-Konto-ID konfiguriert. |
VIDEO_CLOUD_ERR_RESOURCE_NOT_FOUND |
Die Standard-Wiedergabelisten-ID ist ungültig. |
VIDEO_CLOUD_ERR_VIDEO_NOT_FOUND |
Das Standardvideo ist ungültig. |
VIDEO_CLOUD_ERR_NOT_PLAYABLE |
Das Video Cloud-Video kann nicht abgespielt werden. Häufige Ursachen für diesen Fehler sind das Deaktivieren einer Video-ID oder das Ablaufen der geplanten Verfügbarkeit. |
Griff bc-catalog-error
Es ist möglich, dass die Handhabung von Fehlern im normalen ready()
Abschnitt im script
Block Probleme verursachen kann. Zum Beispiel kann es vorkommen, dass das bc-catalog-error
Ereignis ausgelöst werden könnte, bevor der Spieler bereit ist, und wenn Sie auf den Fehler im ready()
Abschnitt hören, Sie können den Fehler nicht behandeln. Dieses Problem kann auftreten, wenn die Geo-Filterung verwendet wird, ein Video nicht veröffentlicht wird, ein Video außerhalb des Zeitplanungsbereichs liegt oder in einem anderen Konto. Möglicherweise stellen Sie fest, dass Ihr Code kein Problem enthält, das Problem kann jedoch vom Browser abhängen. Testen Sie es daher gründlich.
Wenn dies in Ihrer Implementierung möglich ist, sollte Ihr Fehlerbehandlungscode das verwenden one()
Ereignisbehandlungsmethode zum Abhören der bc-catalog-error
in einem separaten Codeblock anstatt innerhalb der ready()
Sektion.
Im folgenden Codebeispiel sehen Sie einen Codeblock, der das behandelt bc-catalog-error
(Zeile 62) und auch einen Codeblock für ready
(Zeile 71).
<video-js id="myPlayerID"
data-account="1486906377"
data-player="77a8e8b7-e8d1-4a3c-8a1b-292ba8233006"
data-embed="default"
data-video-id="4040394419001"
controls=""></video-js>
<p id="textTarget"></p>
<script src="https://players.brightcove.net/1486906377/77a8e8b7-e8d1-4a3c-8a1b-292ba8233006_default/index.min.js"></script>
<script type="text/javascript">
videojs.getPlayer('myPlayerID').one('bc-catalog-error', function(){
var myPlayer = this,
specificError;
if (myPlayer.catalog.error !== undefined) {
specificError = myPlayer.catalog.error.data[0];
console.log('bc-catalog-error:', specificError);
};
});
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this;
console.log('in ready');
});
</script>
Benutzerdefinierten Fehler verwenden
Die beste Lösung, um eine bestimmte zu behandeln bc-catalog-error Möglicherweise wird ein benutzerdefinierter Fehler verwendet. Der folgende Code zeigt ein Plugin, das einen benutzerdefinierten Fehler verwendet, um einen Betrachter über ein inaktives Video zu informieren, warum das Video nicht abgespielt wird:
videojs.registerPlugin('inactiveErrorCheck', function(options) {
var myPlayer = this;
myPlayer.one('bc-catalog-error', function(){
var specificError;
myPlayer.errors({
'errors': {
'inactive-error': {
'headline': options.inactiveMessage,
'dismiss': false
}
}
});
if (typeof(myPlayer.catalog.error) !== 'undefined') {
specificError = myPlayer.catalog.error.data[0];
if (specificError !== 'undefined' & specificError.error_code == "VIDEO_NOT_PLAYABLE") {
myPlayer.error({code:'inactive-error'});
};
};
});
});
Der Code zur Verwendung des Plugins unter Verwendung einer In-Page-Embed-Player-Implementierung lautet wie folgt:
<video-js id="myPlayerID" data-video-id="5350958927001"
data-account="1507807800001"
data-player="default"
data-embed="default"
data-application-id=""
controls=""></video-js>
<script src="https://players.brightcove.net/1507807800001/default_default/index.min.js"></script>
<script type="text/javascript" src="inactive-error-check.js"></script>
<script type="text/javascript">
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this,
options =[];
options.inactiveMessage = "This is the message to display for inactive videos.";
myPlayer.inactiveErrorCheck(options);
});</script>
Wenn Sie das Plugin über das hinzufügen PLUGINS In diesem Abschnitt in Studio würden Sie die richtige URL angeben, unter der Sie Ihren JavaScript-Code gespeichert haben, und dann in der Name, Option (JSON) Eintrittsangebot:
-
Name: inactiveErrorCheck
-
Optionen: { "inactiveMessage": "This is the message to display for inactive videos." }
Behandeln Sie Geofilterungsfehler
Wie bereits erwähnt, kann die Geofilterung zu Katalogfehlern führen. Sie können sehr ähnlich mit dem umgehen, was gerade gezeigt wurde. Es wird ein Code angezeigt, der eine Meldung unter den "fehlerhaften" Spieler einfügt, wie hier gezeigt:

Der folgende Code fängt den Katalogfehler ab und prüft dann, ob es sich um ein Geofilterungsproblem handelt. Wenn dies der Fall ist, wird auf der HTML-Seite direkt unter dem Player eine entsprechende Meldung angezeigt, wie im Screenshot gezeigt.
<video-js id="myPlayerID"
data-video-id="4040394419001"
data-account="1486906377"
data-player="XJhO7JGxY"
data-embed="default"
data-application-id=""
controls=""
width="640"
height="360"></video-js>
<script src="//players.brightcove.net/1486906377/XJhO7JGxY_default/index.min.js"></script>
<br>
<div id="textTarget"></div>
<script type="text/javascript">
videojs.getPlayer('myPlayerID').one('bc-catalog-error', function() {
var myPlayer = this,
specificError;
if (myPlayer.catalog.error !== undefined) {
specificError = myPlayer.catalog.error.data[0];
console.log('myPlayer.catalog.error', myPlayer.catalog.error);
if (specificError !== undefined & specificError.error_subcode == 'CLIENT_GEO') {
document.getElementById('textTarget').innerHTML = '<strong>The video you are trying to watch cannot be viewed from your current country or location.</strong>';
};
};
});
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this;
console.log('in ready');
});
</script>
Behandeln Sie den IP-Einschränkungsfehler
Der folgende Code entspricht dem oben gezeigten Code für die Geofilterung, mit Ausnahme von IP-Einschränkungen:
<video-js id="myPlayerID"
data-video-id="5981021521001"
data-account="5977711152001"
data-player="iYNDnCGt9"
data-embed="default"
data-application-id=""
controls=""
width="640"
height="360"></video-js>
<script src="//players.brightcove.net/5977711152001/iYNDnCGt9_default/index.min.js"></script>
<br>
<div id="textTarget"></div>
<script type="text/javascript">
videojs.getPlayer('myPlayerID').one('bc-catalog-error', function() {
var myPlayer = this,
specificError;
if (myPlayer.catalog.error !== undefined) {
specificError = myPlayer.catalog.error.data[0];
console.log('myPlayer.catalog.error', myPlayer.catalog.error);
if (specificError !== undefined & specificError.error_subcode == 'CLIENT_IP') {
document.getElementById('textTarget').innerHTML = '<strong>The video you are trying to watch cannot be viewed from your current IP address.</strong>';
};
};
});
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this;
console.log('in ready');
});
</script>
Anforderungslimit
Da die API-Antworten zwischengespeichert werden, gibt es keine Ratenbeschränkung für catalog
Anfragen.