プレーヤーの例
このサンプルでは、ビデオを再生するためのパスワードを入力する必要があります。パスワードを入力したら、[ サインイン] ボタンをクリックするか、 Enter キーを押します。テストの場合、パスワードはですthepass
。間違ったパスワードを入力すると、JavaScript 警告ボックスがポップアップし、適切なメッセージが表示されます。
ペンを見るビデオを表示するためのパスワード Brightcove Learning Services( @ rcrooks1969) オンCodePen。
ソースコード
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 用の別のファイルを使用して、ページ内埋め込みコードを使用できます。これにより、ロジックがカプセル化され、複数のプレーヤーで簡単に使用できます。
軽いセキュリティ
このドキュメントには、ビデオを見るための軽いセキュリティを提供する 2 つの異なるアプローチのコードが含まれています。これらの実装のいずれも、動画を再生したくない視聴者から動画を保護する防弾的な方法ではありません。 彼らは正しいパスワードを見つけるためにいくつかの知識と労力を要する小さな障壁を提供します。動画を保護するために完全に安全な方法が必要な場合は、概要をご覧ください。コンテンツ保護と概要:Video Cloud ドキュメントのデジタル著作権管理 (DRM) を使用して、作業を開始できます。この文書の次の 2 つのセクションでは、2 つのアプローチについて詳しく説明します。
動画のカスタムフィールドにパスワードを保存する
このアプローチでは、パスワードカスタムフィールドがビデオから読み込まれ、プレーヤーをオーバーレイするフォームに入力されたパスワードと照合されます。カスタムフィールドの作成の詳細については、「カスタムメタデータフィールドの作成」ドキュメントを参照してください。
このアプローチの主な利点は次のとおりです。
- すべてのビデオは異なるパスワードを持つことができます。
- カスタムフィールドにパスワードが入力されていない場合、ビデオの視聴者はパスワードの入力を求められません。
主な欠点は次のとおりです。
- ビデオ設定にカスタムフィールドを追加する必要があります(ワンタイムアクト)。
- 視聴を制限する動画ごとに、パスワードを入力する必要があります。
このバージョンのプラグインのコードはこの文書で詳しく説明し、プラグインのバージョンはここにあります。
プラグインに資格情報を渡す
ここでは、実装ロジックは、カスタムプラグインに配置され、次のスクリーンショットに示すように、プラグインが関連付けられているプレーヤーで見たすべてのビデオのパスワードは、オプションとして渡されます。

このアプローチの主な利点は次のとおりです。
- 1 つのパスワードは、プラグインがロードされたプレーヤーで閲覧されたすべての動画について、有効な資格情報として機能します。
主な欠点は次のとおりです。
- 異なるパスワードを使用するには、異なるプレーヤーを使用する必要があります。
- プレーヤーで視聴されるすべてのビデオについて、ビデオを再生するには、パスワードを入力する必要があります。
このバージョンのプラグインのコードは、このドキュメントで詳述されているコードに非常に密接に続き (実際には少しシンプルです)、プラグインのバージョンはここにあります。
API/プラグインリソースを使用
API メソッド | API イベント | API プロパティ | プレイヤークラス |
---|---|---|---|
遊ぶ () | ロードスタート | MediaInfo.customFields | ModalDialog |
オン () | |||
つ () | |||
ミュート () | |||
addChild () |
プレーヤー/HTML構成
このセクションでは、プレーヤーの作成時に必要な特別な設定について詳しく説明します。さらに、ページ内埋め込みプレーヤー実装コード以外に、ページに追加する必要があるその他の HTML 要素についても説明します。
プレーヤーの設定
このサンプル用に作成した Brightcove Player には、特別な設定は必要ありません。
その他のHTML
他の HTML 要素はページに追加されません。
アプリケーションフロー
このアプリケーションの背後にある基本的なロジックは次のとおりです。
password
カスタムフィールドにパスワードがあるかどうかを確認します。はい、モーダルダイアログをポップアップし、そうでない場合は、ビデオを再生します。- ModalDialogで、ユーザーがパスワードを入力するためのフォームを表示します。
- パスワードを入力し、[ サインイン ] ボタンをクリックするか Enter キーを押した後、入力したパスワードとビデオのメタデータに保存されているパスワードを確認します。
- 正しいパスワードが入力されている場合は、ビデオを再生します。そうでない場合は、適切なメッセージを含む警告ボックスをポップアップします。
必要に応じてModalDialogを表示
ラベルが付いたコードを見つけます。
// ### Display ModalDialog if password in video's custom field ###
loadstart
mediainfo
オブジェクトが読み取れるようにイベントが送出されるのを待った後、パスワードを受け取り、未定義であるかどうかをチェックします。はいの場合は、ビデオを再生し、それ以外の場合は、パスワードフォームを含むModalDialogを表示します。uncloseable
このオプションは、ユーザーがESCキーを押してビデオを再生するだけではないように追加されます。
イベントリスナーを使用してパスワードチェックを設定する
ラベルが付いたコードを見つけます。
// ### Add event listeners to check password ###
2 つのイベントリスナーが設定され、1 つはユーザーがボタンをクリックした場合、もう 1 つはユーザーが Enter キーを押した場合です。動的に作成されたフォームがに配置されるとnewElement
、そのフォームは DOM で使用できます。したがって、JavaScript querySelector()
のメソッドを使用して、要素へのハンドルを取得し、イベントハンドラを割り当てることができます。
パスワードが正しいかどうかを確認する
ラベルが付いたコードを見つけます。
// ### Check entered password against saved password and act accordingly ###
パスワード入力要素のを取得したら、ビデオのカスタムフィールドのパスワードと比較できます。value
その後、ビデオまたはポップアップを再生し、パスワードが一致しなかったことを示す警告を再生します。
アプリケーションのスタイリング
プレイヤーのサイズとフォームの外観を制御するための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 レポ: password-to-view.js には、プラグインの JavaScript コードが表示されます。
プレーヤーでプラグインを使用する
プラグインの CSS ファイルと JavaScript ファイルをインターネットでアクセス可能な場所に保存したら、プレーヤーでプラグインを使用できます。Studio の PLAYERSモジュールでは、プレーヤーを選択し、[ プラグイン ] セクションで CSS ファイルと JavaScript ファイルに URL を追加し、名前を追加することもできます。オプションが必要な場合は、[Options] と [Options]