サポート サポート問い合わせ先 | システムステータス システムステータス
ページ内容

    Player カタログ

    このトピックでは、 Brightcove Player's カタログ へのリクエストを行うためのメソッドのライブラリ Video Cloud カタログ。 カタログのライブラリを使用すると、簡単に情報を入手できます Video Cloud メディアを読み込んで player.

    基本的な構文

    使用するための基本的な構文 catalog 次のとおりです。

    • メソッド: playerName.catalog.methodName()

    いくつかの catalog メソッドは要求を定義するパラメータのオブジェクトを渡します。 ザ カタログ パラメータオブジェクト 次のセクションで定義され、該当する場合はメソッドの説明で参照されます。

    カタログ パラメータオブジェクト

    次の表は、 CatalogParams オブジェクト。 この真のオブジェクト(コンストラクターではない)は、多くのカタログ要求で使用されるパラメーターの形式を定義します。

    お名前 種類 説明
    type string

    行う要求の種類。 のいずれかにする必要があります ビデオ, プレイリストまたは サーチ.

    policyKey string

    このアカウントのポリシーキー。 これは、デフォルトで player.** パラメータとして別のアカウントIDを渡す場合は、そのアカウントに対応するポリシーキーも渡す必要があります。

    deliveryConfigId string

    配信ルールID。 見る 概要:配信ルール.

    [id] string

    「ref:」で始まるビデオまたはプレイリストIDまたは参照ID。 必須 動画や再生リストのリクエストの場合 非推奨: 後方互換性のために、これは検索クエリとしてサポートされています。 q。 これは、サブオブジェクトとして提供することができます。 CatalogParams オブジェクトを使用してパラメータを提供することができます。

    [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() or getPlaylist()方法。

    次の例では、ビデオを取得して、 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応答が自動的に解析され、使用可能なオブジェクトがコールバック関数に渡されます。 コールバックで返されるデータの正確な構造は、検索された内容によって異なります。

    コールバックの例

    次の例では、次の操作を行います。

    1. 関数で引数として渡されるcatalogParamsオブジェクトを構築します。 検索では、文字列を含む動画が検索されます デザート ビデオの中で .

    2. を使用して検索を実行します。 get() 方法。 コールバック関数は、以下の名前のパラメータを使用します。 errorObjvideosReturned.

    3. 使用 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メソッド呼び出しからコンソール内のオブジェクト

    約束の例

    このコードでは、同じ検索が 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応答が自動的に解析され、使用可能なオブジェクトがコールバック関数に渡されるためです。 コールバックで返されるデータの正確な構造は、検索された内容によって異なります。

    次の例では、次の操作を行います。

    1. ビルドする CatalogParams 関数で引数として渡されるオブジェクト。 検索可能なポリシーキーが渡されます。 検索では、文字列を含む動画が検索されます 砂漠 ビデオの中で .

    2. を使用して検索を実行します。 getSearch() 方法。 コールバック関数は、以下の名前のパラメータを使用します。 errorObjvideosReturned.

    3. 使用 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つの動画が表示されます。

    コンソール内のgetSearchメソッド呼び出しからのオブジェクト

    getSequence()メソッド

    getSequence(sequences, callback, [adConfigId]) ⇒ Array.<XMLHttpRequest> メソッドは、複数回 catalog これらの複数のビデオオブジェクトからすべてのビデオオブジェクトを取り出す catalog オペレーション。 次の3つのタイプの操作を行うことができます。

    1. サーチ
    2. ビデオ
    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 配列、その後に返されるビデオオブジェクトの配列

    myStructuresのデータ構造

    getLazySequence()メソッド

    getLazySequence(sequences, callback, [adConfigId]) ⇒ XMLHttpRequest メソッドは、 getSequence()メソッドただし、ビデオの遅延読み込みが使用される点が異なります。 これは、シーケンス操作のビデオが取り出されると、前の操作からの最後のビデオに達するまで、次のシーケンス操作のビデオは取り出されないことを意味する。 シーケンスが単一のビデオのみを返す場合、次のシーケンス操作が実行され、より多くのビデオが取得される場合に特別なケースが存在します。

    autoFindAndLoadMedia()メソッド

    autoFindAndLoadMedia([opts]) ⇒ Object | undefined メソッドは、最後に定義された動画またはプレイリストIDを探し、APIからリクエストし、それを player。 このメソッドは、 Brightcove Player.

    パラメーター

    • options以下のオプションのいずれかが認識されます。
      • adConfigId (数値):再生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 イベントは typeURL.

    以下は、コンソールログを示しています。 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 リクエスト。


    ページの最終更新日:13年2020月XNUMX日