Player カタログ
基本的な構文
使用するための基本的な構文 catalog
次のとおりです。
- メソッド:
playerName.catalog.methodName()
いくつかの catalog
メソッドは要求を定義するパラメータのオブジェクトを渡します。 ザ カタログ パラメータオブジェクト 次のセクションで定義され、該当する場合はメソッドの説明で参照されます。
カタログ パラメータオブジェクト
次の表は、 CatalogParams
オブジェクト。 この真のオブジェクト(コンストラクターではない)は、多くのカタログ要求で使用されるパラメーターの形式を定義します。
お名前 | 種類 | 説明 |
---|---|---|
type |
string |
行う要求の種類。 のいずれかにする必要があります ビデオ, プレイリストまたは サーチ. |
policyKey |
string |
このアカウントのポリシーキー。 これは、デフォルトで player.** パラメータとして別のアカウントIDを渡す場合は、そのアカウントに対応するポリシーキーも渡す必要があります。 |
deliveryConfigId |
string |
でliveryルールID。 見る 概要:Deliveryルール. |
[id] |
string |
「ref:」で始まるビデオまたはプレイリストIDまたは参照ID。 必須 動画や再生リストのリクエストの場合 非推奨: 後方互換性のために、これは検索クエリとしてサポートされています。 |
[q] |
string |
検索クエリ。 必須 検索リクエストでは、他のユーザーには無視されます。 |
[adConfigId] |
string |
ビデオSSAI広告構成ID。 |
[tveToken] |
string |
オプションのTVEトークンをクエリ文字列パラメータとして送信します。 |
[limit] |
string |
サポート対象 プレイリスト 更に サーチ タイプのみ。 返される動画の数を制限する |
[offset] |
string |
サポート対象 プレイリスト 更に サーチ タイプのみ。 スキップする動画の数。 |
[sort] |
string |
サポート対象 サーチ タイプのみ。 動画を検索用に並べ替える方法。 |
[bcovAuthToken] |
string |
との使用のため Brightcove 再生承認サービス(PAS)。 |
getVideo( )
方法
getVideo(params | videoID,callback,[adConfigId]) => XMLHttpRequest
メソッドは、 catalog
指定されたIDを持つビデオを要求し、要求が完了したときにコールバックを呼び出します。
パラメーター
-
params | videoID:型のオブジェクト カタログ パラメータ または、ビデオIDまたはプレフィックス付き参照IDを含む文字列 ref:.
-
折り返し電話:要求が成功したかどうかにかかわらず、要求が完了したときに呼び出される関数。 これは2つの引数で呼び出されます。
-
エラーが発生した場合、最初の引数にはエラーオブジェクトが含まれます。 このオブジェクトには、エラーの詳細が含まれます。 エラーが発生しなかった場合、このオブジェクトは次のようになります。 ヌル.
-
エラーが発生しなければ、2番目の引数は要求されたビデオオブジェクトです。 エラーが発生した場合、この値には空の文字列が含まれます。
-
-
[adConfigId]:DEPRECATED A Video Cloud 広告構成IDは、 Playback API。 代わりに、最初のparamsオブジェクトのadConfigIdを渡します。
戻り値
catalog
呼び出し自体が型のオブジェクトを返す XMLHttpRequestの。 このオブジェクトの例は次のとおりです。

この呼び出しは XMLHttpRequestの そのオブジェクトを扱うことはほとんどありません。 その理由は、コールバック関数でJSON応答が自動的に解析され、使用可能なオブジェクトがコールバック関数(この場合はビデオオブジェクト)に渡されるためです。
例:文字列としてのビデオID
次の例は、 getVideo()
方法:
<video-js id="myPlayerID"
data-account="1507807800001"
data-player="3bc25a34-086a-4060-8745-dd87af3d53b4"
data-embed="default"
data-video-id=""
class="video-js" 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>
例:catalogParamsの使用
上のコードと同じですが、CatalogParamsオブジェクトを使用すると、次のようになります。
<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( )
方法
getPlaylist(params | playlistID,callback,[adConfigId]) => XMLHttpRequest
メソッドは、 catalog
指定されたidを持つプレイリストを要求し、要求が完了したときにコールバックを呼び出します。
パラメーター
-
params | playlistIDプレイリストID:型のオブジェクト カタログ パラメータ または、プレイリストIDまたはプレフィックス付き参照IDを含む文字列 ref:.
-
折り返し電話:要求が成功したかどうかにかかわらず、要求が完了したときに呼び出される関数。 これは2つの引数で呼び出されます。
-
エラーが発生した場合、最初の引数にはエラーオブジェクトが含まれます。 このオブジェクトには、エラーの詳細が含まれます。 エラーが発生しなかった場合、このオブジェクトは次のようになります。 ヌル.
-
エラーが発生しなければ、2番目の引数は要求されたビデオオブジェクトです。 エラーが発生した場合、この値には空の文字列が含まれます。
-
-
[adConfigId]:DEPRECATED A Video Cloud 広告構成IDは、 Playback API。 代わりに、最初のparamsオブジェクトのadConfigIdを渡します。
戻り値
catalog
呼び出し自身が XMLHttpRequestの。 この呼び出しは XMLHttpRequestの そのオブジェクトを扱うことはほとんどありません。 その理由は、コールバック関数ではJSON応答が自動的に解析され、使用可能なオブジェクトがコールバック関数(この場合はプレイリストオブジェクト)に渡されるためです。
例
次の例は、 getPlaylist()
メソッドは次のとおりです。
<video-js id="myPlayerID"
data-account="1752604059001"
data-player="f50a2d3c-af51-4d8c-84e3-0c7cdec0edbe"
data-embed="default"
class="video-js" 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()メソッド
load(mediaobject)
メソッドは、動画またはプレイリストオブジェクトを player。 このメソッドは、 player's mediainfo
ビデオソースとポスターを更新します。 ほとんどの場合、このメソッドを呼び出す結果を呼び出します getVideo()
or getPlaylist()
。 いつ通知を受けるか mediainfo
更新されました。 loadstart
イベント。
パラメーター
-
mediaobjectロードするビデオオブジェクトまたはプレイリストオブジェクト。 このオブジェクトは、呼び出し元の応答オブジェクトと同じ形式でなければなりません
getVideo()
orgetPlaylist()
方法。
例
次の例では、ビデオを取得して、 player.
<video-js id="myPlayerID"
data-account="1507807800001"
data-player="3bc25a34-086a-4060-8745-dd87af3d53b4"
data-embed="default"
data-video-id=""
class="video-js" 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()メソッド
get(params, [callback]) ⇒ Promise | XMLHttpRequest
メソッドは、 catalog
使用して CMS / Playback API:動画検索 構文。 この方法では、この方法では Playback API.
パラメーター
-
paramsは:型のオブジェクト カタログ パラメータ.
-
折り返し電話:要求が成功したかどうかにかかわらず、要求が完了したときに呼び出される関数。 これは2つの引数で呼び出されます。
-
エラーが発生した場合、最初の引数にはエラーオブジェクトが含まれます。 このオブジェクトには、エラーの詳細が含まれます。 エラーが発生しなかった場合、このオブジェクトは次のようになります。 ヌル.
-
エラーが発生しなければ、2番目の引数は要求されたビデオオブジェクトです。 エラーが発生した場合、この値には空の文字列が含まれます。
-
戻り値
このメソッドは、 約束 またはタイプのオブジェクト XMLHttpRequestの。 コールバック関数を使用している場合は、JSON応答が自動的に解析され、使用可能なオブジェクトがコールバック関数に渡されます。 コールバックで返されるデータの正確な構造は、検索された内容によって異なります。
コールバックの例
次の例では、次の操作を行います。
-
関数で引数として渡されるcatalogParamsオブジェクトを構築します。 検索では、文字列を含む動画が検索されます デザート ビデオの中で 名.
-
を使用して検索を実行します。
get()
方法。 コールバック関数は、以下の名前のパラメータを使用します。errorObj
更にvideosReturned
. -
使用
playlist()
返された動画を Brightcove Player.
<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>
次のスクリーンショットは、2つの console.log()
上記のコードになります。 ザ catalogParams
検索のパラメータを示しています。 videosReturned
配列には、検索によって返された3つの動画が表示されます。

約束の例
このコードでは、同じ検索が get()
メソッドを使用しますが、結果はPromiseとして処理されます。
<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>
約束の詳細については、 JavaScriptの約定を使用する.
getSearch()メソッド
getSearch(params, [callback], [adConfigId]) ⇒ XMLHttpRequest
メソッドは、 CMS / Playback API:動画検索 構文。 この方法では、この方法では Playback API.
パラメーター
-
paramsは:型のオブジェクト カタログ パラメータ.
-
折り返し電話:要求が成功したかどうかにかかわらず、要求が完了したときに呼び出される関数。 これは2つの引数で呼び出されます。
-
エラーが発生した場合、最初の引数にはエラーオブジェクトが含まれます。 このオブジェクトには、エラーの詳細が含まれます。 エラーが発生しなかった場合、このオブジェクトは次のようになります。 ヌル.
-
エラーが発生しなければ、2番目の引数は要求されたビデオオブジェクトです。 エラーが発生した場合、この値には空の文字列が含まれます。
-
- [adConfigId]:DEPRECATED A Video Cloud 広告構成IDは、 Playback API。 代わりに、最初のparamsオブジェクトのadConfigIdを渡します。
戻り値
catalog
呼び出し自体が型のオブジェクトを返す XMLHttpRequestの。 この呼び出しは XMLHttpRequestの そのオブジェクトを扱うことはほとんどありません。 その理由は、コールバック関数ではJSON応答が自動的に解析され、使用可能なオブジェクトがコールバック関数に渡されるためです。 コールバックで返されるデータの正確な構造は、検索された内容によって異なります。
例
次の例では、次の操作を行います。
-
ビルドする CatalogParams 関数で引数として渡されるオブジェクト。 検索可能なポリシーキーが渡されます。 検索では、文字列を含む動画が検索されます 砂漠 ビデオの中で 名.
-
を使用して検索を実行します。
getSearch()
方法。 コールバック関数は、以下の名前のパラメータを使用します。errorObj
更にvideosReturned
. -
使用
playlist()
返された動画を Brightcove Player.
<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>
次のスクリーンショットは、2つの console.log()
上記のコードになります。 ザ catalogParams
検索に必要なパラメータを示しています。 videosReturned
配列には、検索によって返された3つの動画が表示されます。

getSequence()メソッド
getSequence(sequences, callback, [adConfigId]) ⇒ Array.<XMLHttpRequest>
メソッドは、複数回 catalog
これらの複数のビデオオブジェクトからすべてのビデオオブジェクトを取り出す catalog
オペレーション。 次の3つのタイプの操作を行うことができます。
- サーチ
- ビデオ
- プレイリスト
実際には、次の組み合わせを取得でき、返されるデータはビデオオブジェクトの配列です。
- 複数のプレイリスト
- プレイリストとその他の個別の動画
- 検索を使用すると、名前、説明、またはタグに特定の文字列を含むすべての動画が表示されます。
もちろん、上に列挙したシーケンスは、ほぼ無限の数の組み合わせのほんの一部にすぎません。
パラメーター
-
シーケンス:型のオブジェクト カタログ パラメータ ORのシーケンスを表すオブジェクトの配列
catalog
操作。 -
折り返し電話:要求が成功したかどうかにかかわらず、要求が完了したときに呼び出される関数。 これは2つの引数で呼び出されます。
-
エラーが発生した場合、最初の引数にはエラーオブジェクトが含まれます。 このオブジェクトには、エラーの詳細が含まれます。 エラーが発生しなかった場合、このオブジェクトは次のようになります。 ヌル.
-
エラーが発生しなければ、2番目の引数は要求されたビデオオブジェクトです。 エラーが発生した場合、この値には空の文字列が含まれます。
-
-
[adConfigId]:リクエストごとに渡される広告設定ID。
特定の動画が複数の操作で返された場合、結果は複数回表示されます。
戻り値
catalog
呼び出し自体が型のオブジェクトを返す XMLHttpRequestの。 この呼び出しは XMLHttpRequestの そのオブジェクトを扱うことはほとんどありません。 その理由は、コールバック関数ではJSON応答が自動的に解析され、使用可能なオブジェクトがコールバック関数に渡されるためです。 コールバックで返されるデータの正確な構造は、検索された内容によって異なります。
例
次の例では、3つのシーケンス catalog
オペレーション。 最初は、10で最も古い動画を検索します catalog
、2番目に個別のビデオが追加され、最後にプレイリストのビデオが結果に追加されます。
<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>
次のスクリーンショットは、 mySequences
配列、その後に返されるビデオオブジェクトの配列

getLazySequence()メソッド
getLazySequence(sequences, callback, [adConfigId]) ⇒ XMLHttpRequest
メソッドは、 getSequence()メソッドただし、ビデオの遅延読み込みが使用される点が異なります。 これは、シーケンス操作のビデオが取り出されると、前の操作からの最後のビデオに達するまで、次のシーケンス操作のビデオは取り出されないことを意味する。 シーケンスが単一のビデオのみを返す場合、次のシーケンス操作が実行され、より多くのビデオが取得される場合に特別なケースが存在します。
autoFindAndLoadMedia()メソッド
autoFindAndLoadMedia([opts]) ⇒ Object | undefined
メソッドは、最後に定義された動画またはプレイリストIDを探し、APIからリクエストし、それを player。 このメソッドは、 Brightcove Player.
パラメーター
options
以下のオプションのいずれかが認識されます。-
adConfigId
(数値):に渡される広告構成の数値 playback API。 最終的にはad_config_idと呼ばれます。 -
embedHasPoster
(ブール値):元の埋め込みにポスターがあるかどうか。 -
embedHasSources
(ブール値):元の埋め込みにソースがあるかどうか。 -
embedHasTracks
(ブール値):元の埋め込みにトラックがあるかどうか。 -
playlistId
(文字列):で提供されるプレイリストID player 構成。 -
search
(文字列|オブジェクト):で提供された検索文字列/オブジェクト player 構成または埋め込み。 見るget()
サポートされるパラメータの詳細については、メソッドを参照してください。 -
sequence
(Object | Array.Object):で提供された検索文字列/オブジェクト player 構成または埋め込み。 見るget()
サポートされるパラメータの詳細については、メソッドを参照してください。 -
videoId
(文字列):で提供される動画ID player 構成。
-
次の例では、ビデオオブジェクトを videoId
そしてそれを player:
<script type="text/javascript">
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this,
options = {};
options.videoId = '5141730843001';
myPlayer.catalog.autoFindAndLoadMedia(options);
});
</script>
次の例では、 playlistId
そしてそれを player。 また、それに基づいてビデオオブジェクトを取得します playlistVideoId
プレイリストで再生する最初のビデオとしてロードします。
<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()メソッド
transformVideoResponse(data)
メソッドは、生ビデオオブジェクトを CMS API または Playback API と互換性のある形式に player とブラウザ。 これには、継続時間とhttps画像の互換性が含まれます。 また、ソースを再配置して、このプラットフォームで最高品質の視聴体験を提供することが期待されるソースが最初に試行されるようにします。
パラメーター
-
data
:aから解析された生のビデオオブジェクトcatalog
APIレスポンス
このメソッドの使用例は次のとおりです。
for (var i=0; i<limitValue; i++) {
mediaData.videos[i] = myPlayer.catalog.transformVideoResponse (mediaData.videos[i], myPlayer);
}
完全なコードサンプルについては、 Playback APIページング の資料をご参照ください。
戻り値
より一貫性のあるオブジェクト player およびブラウザ環境。
カタログ イベント
あなたが聞くことができる3つのカタログイベントがあります。 彼らです:
-
catalog_request
:イベントが発生したときに送出されるイベント。catalog
作成されます。 -
catalog_response
:イベントが発生したときに送出されるイベント。catalog
が受信される。 JSON形式のレスポンスには、 カタログ APIが返されました。 を参照してください 応答情報 詳細については、このセクションの後半のコンテンツを参照してください。 -
catalog_request_error
:イベントとの対話の際にエラーが発生したときに送出されるイベント。catalog
.
以下は、イベントのコンソールログです。 catalog
:

イベントオブジェクトの多くの標準プロパティが表示されます。 特に興味のある catalog
イベントは type 更に URL.
以下は、コンソールログを示しています。 catalog
要求エラーオブジェクト:

応答情報
catalog_response
イベントオブジェクトにはJSON形式が含まれています response
からの生データを含むプロパティ カタログ APIレスポンス 応答プロパティのコンソールログを以下に示します。

応答プロパティのデータを実際に使用するには、生のJSON形式の文字列をオブジェクトに解析する必要があります。 以下は、 name
プロパティ:
myPlayer.on('catalog_response',function(evt){
var api_response = JSON.parse(evt.response.response);
console.log('api_response.name',api_response.name);
});
以下はJSONの例です response
プロパティ:
{
"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
ビデオやプレイリストを取得したり最初に再生したりする際に問題が発生すると、エラーが発生します。 エラーの詳細は以下のとおりです。
カタログ エラー | 説明 |
---|---|
Video ID as string |
player 無効で構成されています Video Cloud アカウントID。 |
VIDEO_CLOUD_ERR_RESOURCE_NOT_FOUND |
デフォルトのプレイリストIDは無効です。 |
VIDEO_CLOUD_ERR_VIDEO_NOT_FOUND |
デフォルトのビデオは無効です。 |
VIDEO_CLOUD_ERR_NOT_PLAYABLE |
Video Cloud ビデオは再生できません。 このエラーのよくある原因には、ビデオIDが非アクティブ化されたとき、またはスケジュールされた可用性が期限切れになったときが含まれます。 |
ハンドル bc-catalog-error
正常時のエラー処理 ready()
のセクション script
ブロックによって問題が発生する可能性があります。 たとえば、 bc-catalog-error
イベントは、 player 準備ができています。エラーをリッスンすると ready()
エラーを処理することはできません。 この問題は、ジオフィルタリングを使用している、ビデオが未公開、ビデオがスケジューリング範囲外にある、または別のアカウントで発生している可能性があります。 あなたのコードに問題はないが、ブラウザに依存する可能性があるので、徹底的にテストしてください。
これが実装上の可能性がある場合は、エラー処理コードで one()
イベントを処理するメソッド bc-catalog-error
コードブロック内ではなく別のコードブロックで ready()
の項目を検索します。
下のコードサンプルでは、コードブロックが bc-catalog-error
(62行)、およびコードブロック ready
(71線)。
<video-js id="myPlayerID"
data-account="1486906377"
data-player="77a8e8b7-e8d1-4a3c-8a1b-292ba8233006"
data-embed="default"
data-video-id="4040394419001"
class="video-js" 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>
カスタムエラーの使用
特定の問題を処理する最適なソリューション bc-catalog-error おそらくカスタムエラーを使用しています。 次のコードは、カスタムエラーを使用して、非アクティブなビデオを視聴者に通知して、ビデオが再生されない理由を示すプラグインを示しています。
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'});
};
};
});
});
ページはめ込みを利用したプラグインを使用するコード player 実装は次のとおりです。
<video-js id="myPlayerID" data-video-id="5350958927001"
data-account="1507807800001"
data-player="default"
data-embed="default"
data-application-id
class="video-js"
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>
プラグインを追加する場合は、 PLUGINS のセクション Studio、JavaScriptコードを保存した正しいURLを指定し、次に 名前、オプション(JSON) エントリ供給:
-
お名前: activeErrorCheck
-
オプション: {"inactiveMessage": "これは非アクティブな動画に対して表示するメッセージです。" }
地域フィルタリングエラーを処理する
前述のように、ジオフィルタリングはカタログエラーを引き起こす可能性があります。 表示されたものと非常によく似た方法で処理できます。 「エラー」の下にメッセージを置くコードが表示されます playerここに示すように、

次のコードは、カタログエラーをキャッチし、地理フィルタリングの問題かどうかを確認します。 もしそうなら、適切なメッセージがHTMLページのすぐ下に表示されます player、スクリーンショットに示すように。
<video-js id="myPlayerID"
data-video-id="4040394419001"
data-account="1486906377"
data-player="XJhO7JGxY"
data-embed="default"
data-application-id
class="video-js"
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>
ハンドルIP制限エラー
次のコードは、IPの制限を除いて、地理フィルタリングについて上記で示したものと似ています。
<video-js id="myPlayerID"
data-video-id="5981021521001"
data-account="5977711152001"
data-player="iYNDnCGt9"
data-embed="default"
data-application-id
class="video-js"
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>
リクエストの制限
APIレスポンスはキャッシュされるため、レート制限はありません catalog
リクエスト。