制約事項
プレーヤーの例
ビデオデータが取得されるとすぐに、プレイリストが自動的に表示されます。へのリクエストAnalytics API過去24時間に最も視聴された6本の動画を取得するために、API応答とともに表示されます。
ペンを見る18183-人気のある動画-再生リスト Brightcove Learning Services( @ bcls1969) オンCodePen。
ソースコード
概要
この例では、Analytics API を使用して、アカウントから、過去 1 日以内に最も閲覧された動画を返します。それはに似ています最も視聴されたビデオプレイリスト例、 BrightcovePlayerカタログ再生APIにアクセスします。覚えておいておくべきいくつかの違いがあります。
アナリティクス API
from
パラメーターと値を指定しない場合、デフォルトは過去 30 日間です。- から同じ結果を取得するにはAnalytics API再生APIから取得するものは、
?alltime
APIリクエストのURLパラメータ。
Brightcoveプレーヤーカタログ (再生 API)
plays_total
このフィールドは、ビデオのオールタイムビデオビューです。- catalog.getSearch () メソッドを使用すると、再生 API からデータを簡単に取得できます。
CodePen を使用する
上記のCodePenを効果的に使用するためのヒントは次のとおりです。
- [ 結果]ボタンをクリックして、プレーヤーの実際の表示を切り替えます。
- HTML/CSS/JSボタンをクリックして、いずれかのコードタイプを表示します。
- このドキュメントの後半では、アプリケーションで使用されるロジック、フロー、およびスタイル設定については、 Player/HTML設定、アプリケーションフロー、およびアプリケーションのスタイル設定で説明されます。セクション。これらのセクションの情報に沿って従う最も良い方法は、次のとおりです。
- CodePen の [ EDIT ON CODEPEN]ボタンをクリックし、1 つのブラウザ/ブラウザタブでコードを使用できるようにします。
- CodePen で、表示するコードを調整します。CodePen 内の異なるコードセクションの幅を変更できます。
- を見るプレーヤー/ HTML構成、アプリケーションフローおよび/またはアプリケーションのスタイリング別のブラウザ/ブラウザタブのセクション。これで、コードの説明に従い、同時にコードを表示できるようになります。
開発シーケンス
推奨される開発順序は次のとおりです。
- インページ埋め込みプレーヤーの実装を使用して、プレーヤー、プラグイン、CSS の機能をテストします (CSS が必要な場合)
- ローカルテストのためにプラグインのJavaScriptとCSSを別々のファイルに置く
- エラーを解決したら、プラグインコードとCSSをサーバーにデプロイします
- Studio を使用してプラグインと CSS をプレイヤーに追加する
- iframe の実装が適切であると判断した場合は、インページ埋め込みプレーヤーの実装を置き換えます (次のセクションで詳しく説明します)。
これらの手順の詳細については、「ステップバイステップ」を参照してください。プラグイン開発ガイド。
iframe またはページ内埋め込み
Brightcove Player の拡張機能を開発する際には、コードが iframe 実装またはページ内埋め込み実装に最も適しているかどうかを判断する必要があります。ベストプラクティスの推奨事項は、iframe 実装で使用するプラグインを構築することです。iframe プレーヤーを使用する利点は次のとおりです。
- 既存のJavaScriptおよび/またはCSSとの衝突はありません
- 自動応答性
- iframe は、ソーシャルメディアアプリ(または動画が他のアプリに「移動」する必要があるとき)での使用を容易にします。
インページ埋め込みプレーヤーの統合はより複雑になりますが、その実装に関するコードを計画する場合もあります。一般化するために、このアプローチは、包含ページがプレイヤーと通信する必要がある場合に最適です。具体的には、いくつかの例を挙げます。
- 含まれているページのコードは、プレイヤーイベントをリッスンして行動する必要があります
- プレーヤーは包含ページのスタイルを使用します
- iframe は、含まれているページからのリダイレクトのように、アプリロジックが失敗します。
最終実装で iframe コードを使用しない場合でも、JavaScript 用のプラグインと CSS 用の別のファイルを使用して、ページ内埋め込みコードを使用できます。これにより、ロジックがカプセル化され、複数のプレーヤーで簡単に使用できます。
認証情報の取得
client_id
とを取得するにはclient_secret
、OAuth UI にアクセスしてこのアプリを登録する必要があります。
必要な権限は次のとおりです。

また、CURL または Postman 経由で資格を取得することもできます。以下を参照してください。
API から直接認証情報を取得する場合は、次の権限が必要です。
[
"video-cloud/analytics/read",
"video-cloud/video/read"
]
API/プラグインリソースを使用
プレーヤー API メソッド | REST API |
---|---|
catalog.getVideo () | このサンプルでは、 Analytics API経由PHPで構築されたプロキシ。 |
プレイリスト () |
プレーヤー/HTML構成
このセクションでは、プレーヤーの作成時に必要な特別な設定について詳しく説明します。さらに、ページ内埋め込みプレーヤー実装コード以外に、ページに追加する必要があるその他の HTML 要素についても説明します。
プレーヤーの設定
このサンプル用に作成した Brightcove Player には、特別な設定は必要ありません。
その他のHTML
詳細設定 (ページ内埋め込み) プレーヤーを使用する場合は、HTML 要素を追加してプレイリストの場所を指定する必要があります。詳細については、「プレイリストの実装」ドキュメントを参照してください。
<div class="vjs-playlist"></div>
追加することを忘れないでくださいid
に属性video
プレーヤーの埋め込みコードにタグを付けます。
<video-js id="myPlayerID"
...
テストの目的で、プレーヤーの下にHTML要素を追加して、 Analytics APIリクエストとレスポンス。
<p>
<strong>Analytics API request:</strong>
</p>
<pre id="apiRequest"></pre>
<p>
<strong>Analytics Response data</strong>
</p>
<pre id="responseData"></pre>
アプリケーションフロー
このアプリケーションの背後にある基本的なロジックは次のとおりです。
- アナリティクス APIリクエストを設定する
- 分析 API からデータを取得する
- 動画 ID を抽出する
- ビデオオブジェクトを取得する
- プレイリストを読み込みます
を設定しますAnalytics APIリクエスト
ラベルが付いたコードを見つけます。
// +++ Set up Analytics API request +++
のURLパラメータを設定しますAnalytics APIリクエスト。このリクエストでは、過去 24 時間以内に最も多くの動画再生回数を持つ Brightcove アカウントから 6 本の動画が返されます。それらは降順でソートされます。
分析 API からデータを取得する
ラベルが付いたコードを見つけます。
// +++ Get data from Analytics API +++
この例では、PHP で記述されたサーバー側プロキシを呼び出して、HTTP リクエストを Analytics API に送信します。
動画 ID を抽出する
ラベルが付いたコードを見つけます。
// +++ Extract the video ids +++
API レスポンスデータからビデオ ID を抽出し、配列に格納します。
ビデオオブジェクトを取得する
ラベルが付いたコードを見つけます。
// +++ Get the video objects +++
Analytics API から返された動画 ID ごとに、catalog.getVideo()
メソッドを使用してビデオオブジェクトを取得します。
プレイリストを読み込みます
ラベルが付いたコードを見つけます。
// +++ Load the playlist +++
ビデオオブジェクトの配列を使用して、playlist()
メソッドを使用して、プレーヤーのプレイリストにビデオをロードします。
アプリケーションのスタイリング
CSS は、プレーヤーとプレイリストのスタイルを設定するために使用されます。テストの目的で、 Analytics APIリクエストフィールドとレスポンスフィールドもCSSでスタイル設定されています。
プラグインコード
通常、JavaScript を Brightcove Player プラグインに変換する場合は、公称の変更が必要です。必要な変更の 1 つは、ready()
メソッドの標準使用をプラグインを定義するコードに置き換えることです。
ここでは、プレーヤーで動作するJavaScriptコードへの非常に一般的に使用されるスタートです:
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this;
...
});
最初の行を変更して、標準の構文を使用して Brightcove Player プラグインを起動します。
videojs.registerPlugin('pluginName', function(options) {
var myPlayer = this;
...
});
前述のように、このドキュメントの対応する GitHub レポ: popular-videos.js には、プラグインの JavaScript コードが表示されます。
プレーヤーでプラグインを使用する
プラグインの CSS ファイルと JavaScript ファイルをインターネットでアクセス可能な場所に保存したら、プレーヤーでプラグインを使用できます。Studio の PLAYERSモジュールでは、プレーヤーを選択し、[ プラグイン ] セクションで CSS ファイルと JavaScript ファイルに URL を追加し、名前を追加することもできます。オプションが必要な場合は、[Options] と [Options]
プロキシコード
このページのサンプルアプリを独自のバージョンで作成するには、独自のプロキシを作成してホストする必要があります。(Brightcoveラーニングサービスで使用されるプロキシは、Brightcoveのドメインからのリクエストのみを受け付けます)。サンプルプロキシは、使用するものとよく似ていますが、BrightCove 以外のドメインからのリクエストをブロックするチェックがないと、この GitHub リポジトリにあります。また、そこで使用するための基本的な手順と、プロキシを使用してアプリケーションを構築するためのより詳細なガイドについては、「REST API の使用」を参照してください。