プレーヤー デバッグモード

このトピックでは、Brightcove プレーヤーのデバッグモードの使用方法について説明します。

Brightcove プレーヤー デバッグモードとは

デバッグモードを使用すると、プレーヤーやプラグインがコンソール上に一部のログ情報を表示し、問題のトラブルシューティングを行いやすくなります。現在のところ、すべてのプレーヤーコンポーネントがデバッグモードと連動しているわけではありませんが、今後さらに対応範囲が拡大される予定です。

デバッグモードがオンの場合、プレーヤーのVideo.js のログ レベルがデバッグに設定され、ログ履歴の追跡が有効になります。デバッグモードがオフの場合、ログレベルは off に設定され、ログ履歴の追跡は無効になります。

デバッグ情報はコンソールに表示されます。以下は、proxy-tracksIMA3 広告シークイベントに関するデバッグ情報の一例です。

コンソールの例

デバッグモードのオン/オフを切り替える方法はいくつかあり、次のセクションで詳しく説明します。

デバッグモードの有効化

デバッグモードを有効にする方法は4つあります。

プレーヤー設定

Studio でプレーヤーを編集し、JSON エディタ"debug": true, を追加するとデバッグモードを有効化できます。

プレーヤー設定

JSON の行を追加した後は、必ず保存してプレーヤーを公開してください。

クエリパラメータ

標準プレーヤーコード(iframe)を使用している場合は、クエリパラメータを追加してデバッグモードを有効にできます。次のように ?debug(ハイライト部分)を追加します。

<iframe src="https://players.brightcove.net/.../index.html?debug"></iframe>

属性

Videoタグ プレーヤー コードを使用している場合は、属性を追加してデバッグモードを有効にできます。以下のように data-debug 属性(ハイライト部分)を追加します。

<video-js id="myPlayerID"
        data-debug
        data-account="1507807800001"
        data-player="5qbwL2GCf"
        ...></video-js>
      <script src="https://players.brightcove.net/1507807800001/5qbwL2GCf_default/index.min.js">

手動で bc() メソッドを使用

bc() 関数を手動で呼び出す場合は、次のように debug オプションを渡すことでデバッグモードを有効化できます。

const player = bc('example', {debug: true});

実行時にプレーヤー デバッグモードを制御する

デバッグモードを実行時に制御する場合、player.debug() メソッドを使用できます。以下のコードでは、デバッグモードのオン/オフを切り替えることができます。

... 
      <button onclick="toggleDebug()">デバッグモード切り替え</button>
      ...
      <script>
        var myPlayer;
        videojs.getPlayer('myPlayerID').ready(function () {
          myPlayer = this;
        });
        function toggleDebug() {
          if (myPlayer.debug()) {
            myPlayer.debug(false);
          } else {
            myPlayer.debug(true);
          }
          console.log('debug state: ', myPlayer.debug());
        }
      </script>

デバッグモード イベント

デバッグモードが変更されると、対応するイベントがディスパッチされます:

  • debugon
  • debugoff

以下は、上記のコードにイベント ハンドラーを追加した例です。

... 
      <button onclick="toggleDebug()">デバッグモード切り替え</button>
      ...
      <script>
        var myPlayer;
        videojs.getPlayer('myPlayerID').ready(function () {
          myPlayer = this;
          myPlayer.on('debugon', function () { console.log('dispatch debugon') });
          myPlayer.on('debugoff', function () { console.log('dispatch debugoff') });
        });
        function toggleDebug() {
          if (myPlayer.debug()) {
            myPlayer.debug(false);
          } else {
            myPlayer.debug(true);
          }
          console.log('debug state: ', myPlayer.debug());
        }
      </script>