アニメーション サムネイル(動画プレビュー)

アニメーション サムネイルの概要と、Brightcove Player および API での使用方法を説明します。

アニメーション サムネイルとは?

アニメーション サムネイルは、本編動画から抽出された短いループ再生のプレビューです。静止画像の代わりに表示することで、より魅力的な視聴体験を提供します。

アニメーション サムネイルの特長:

  • 1つ以上の HLS マニフェストとして配信
  • デフォルトの長さ:約10秒
  • デフォルトの開始位置:先頭フレーム(カスタマイズ可)
  • グリッドやリストなどのプレビュー用途で、静止ポスター/サムネイル画像の代替として使用

Brightcove Player でアニメーション サムネイルを設定する

Brightcove Player でアニメーション サムネイルを使用するには、次の手順に従います。

  1. Players モジュールに移動し、対象のプレーヤーを選択するか、新しいプレーヤーを作成します。
  2. Player バージョンを 7.37.3 以降に設定します。
  3. 左側のナビゲーションで Plugins セクションをクリックします。
  4. プラグインを追加 ドロップダウン メニューから Video Poster を選択します。
  5. 必要に応じてプラグイン オプションを設定します(以下のプラグイン オプションを参照)。
  6. 保存 をクリックします。
  7. 公開 をクリックして変更を公開します。

プラグイン オプション

videoPoster プラグインのオプション
オプション タイプ 説明
playMode 文字列 "auto" – 読み込み時にプレビューを自動再生
"hover" – ホバー時のみプレビューを再生
loop 真偽値 true でプレビューをループ再生、false で1回のみ再生
delay 数値 プレビュー開始までの遅延(ミリ秒)。意図しない再生を避けるのに役立ちます。
playButtonVisible 真偽値 プレビュー中に再生ボタンを表示(true)/ 非表示(false)にします。
previewDuration 数値 プレビューの長さ(秒)。1 から 10 までの整数で指定します(デフォルトは 10)。
initialBandwidth 数値 開始時の HLS レンディションを選択するために使用する初期帯域幅の推定値(ビット/秒)。プレビューは最低レンディションではなく、この値に収まる最高レンディションから再生を開始します。デフォルトの 3000000(3 Mbps)は、標準的な Brightcove インジェストプロファイルにおける 720p レンディションを対象としています。0 に設定すると、プレーヤーが自動的にレンディションを選択します。
lockRendition ブール値 true の場合、プレビューはその再生中ずっと initialBandwidth で選択されたレンディションに固定され、プレーヤーのアダプティブビットレート(ABR)ロジックがより高帯域のレンディションに切り替わるのを防ぎます。initialBandwidth に収まるレンディションがない場合は、利用可能な最低レンディションが使用されます。これにより、1 つのプレビューが消費できる帯域幅に上限を設けられます(例:ホバー再生のサムネイルがグリッド状に多数同時再生される場合に有用です)。initialBandwidth が設定されていない場合は効果がありません。デフォルトは false です。

プラグイン設定例

ドロップダウン メニューから videoPoster プラグインを追加すると、以下の設定がプレーヤーに適用されます。

{
              "plugins": [
              {
                "name": "videoPoster",
                "options": {
                  "playMode": "hover",
                  "loop": true,
                  "delay": 300,
                  "playButtonVisible": true,
                  "previewDuration": 10,
                  "initialBandwidth": 3000000,
                  "lockRendition": false
                },
                "is_packaged": true
              }
            ]
      }
          

プレーヤー イベントでプレビューの操作を計測する

videoPoster プラグインは、Brightcove Player 上で 2 つのイベントを発行します。これにより、視聴者がアニメーション サムネイルをどのように操作したか(プレビューがどのくらい視聴されたか、そこから本編の再生にどのくらいつながったかなど)を計測できます。これらは標準のプレーヤー イベントであるため、Brightcove Analytics を使用しなくても、任意のサードパーティ分析ツール(Mixpanel、Adobe Analytics、Google Analytics、独自のエンドポイントなど)に送信できます。

イベント

アニメーション サムネイルのプレビュー イベント
イベント 発行されるタイミング
videopreview-start プレビューの再生が実際に開始したとき。1 回のプレビュー セッションごとにちょうど 1 回発行されます。再生が確認された後にのみ発行されるため、ブラウザーによって自動再生がブロックされた場合や、delay の経過前に視聴者のポインターがプレーヤーから離れた場合には発行されません。
videopreview-end プレビュー セッションが終了したとき(最後まで再生された場合と、中断された場合の両方)。1 回のプレビュー セッションごとにちょうど 1 回発行され、開始しなかったプレビューについては発行されません。

イベントのプロパティ

どちらのイベントにも videoId プロパティが含まれます。さらに次のプロパティがあります。

イベントのプロパティ
イベント プロパティ タイプ 説明
videopreview-start playMode 文字列 このプレーヤーに適用されている playMode オプション("auto" または "hover"
videopreview-start loop 真偽値 このプレーヤーに適用されている loop オプション
videopreview-start previewDuration 数値 このプレーヤーに適用されている previewDuration オプション(秒)
videopreview-end reason 文字列 セッションが終了した理由。以下の終了理由を参照してください。
videopreview-end secondsViewed 数値 そのセッションでプレビューが視聴された累計時間(秒)。ループをまたいで累計されるため、ループ再生のプレビューを 25 秒視聴した場合は、ループごとにリセットされるのではなく 25 と報告されます。

終了理由

videopreview-endreason の値
意味
complete プレビューが最後まで再生されました。これは loopfalse の場合にのみ発生します。以下の注を参照してください。
hover-out hover モードで、視聴者のポインターがプレーヤーから離れました
click-through 視聴者がプレビューをクリックして本編の再生を開始しました。プレビューから再生へのコンバージョン率を計測する場合は、この値を使用します。
main-play 再生ボタンや player.play() API 呼び出しなど、他の方法で本編の再生が開始されました
error プレビューの開始後に再生エラーが発生しました
teardown プレビューの再生中に、動画が切り替わった、カタログ エラーが発生した、またはプレーヤーが破棄されました

イベントをリッスンする

プレーヤーの埋め込みコードと同じページにリスナーを追加します。myAnalytics は、使用している分析ツールに置き換えてください。

videojs.getPlayer('myPlayerId').ready(function() {
  var player = this;

  player.on('videopreview-start', function(event) {
    myAnalytics.track('preview_started', {
      video: event.videoId,
      mode: event.playMode
    });
  });

  player.on('videopreview-end', function(event) {
    myAnalytics.track('preview_ended', {
      video: event.videoId,
      reason: event.reason,
      seconds: event.secondsViewed
    });

    // プレビューから再生へのコンバージョン
    if (event.reason === 'click-through') {
      myAnalytics.track('preview_click_through', { video: event.videoId });
    }
  });
});
          

Media モジュールでアニメーション サムネイルを取得する

アニメーション サムネイルを取得するには、次の手順に従います。

  1. Media モジュールを開き、対象の動画を選択します。
  2. プレビューを開始したいフレームにスクラバー(再生ヘッド)を合わせ、キャプチャー をクリックします。

  3. 動画プレビュー を選択し、保存 をクリックします。

API を使用してアニメーションサムネイルを確認する

video_preview フィールドは、Playback APICMS API の両方で利用できます。これにより、アニメーションサムネイルの取得や管理をプログラムから行えます。

Playback API

次のリクエストでは、Playback API の動画オブジェクトのトップレベル プロパティとして video_preview フィールドが返されます。

例:video_preview(プレイリスト Playback API)

{
          "account_id": "...",
          "id": "...",
          "videos": [
            {
              "account_id": "...",
              "sources": [ "..." ],
              "video_preview": [
                {
                  "ext_x_version": "7",
                  "src": "http://manifest.prod.boltdns.net/.../preview.m3u8?...",
                  "type": "application/x-mpegURL"
                },
                {
                  "ext_x_version": "7",
                  "src": "https://manifest.prod.boltdns.net/.../preview.m3u8?...",
                  "type": "application/x-mpegURL"
                }
              ]
            }
          ]
        }
          

CMS API

Playback API に加えて、CMS API でも video_preview フィールドにより、動画プレビューの取得と更新が可能です。

リクエスト例

https://cms.api.brightcove.com/v1/accounts/<account_id>/videos/<video_id>?include_video_preview=true
          

レスポンス例

{
          ...
          "video_preview": {
            "start": 10000,
            "sources": [ ... ]  // Playback API と同形式
          }
          ...
        }
              
  • PATCH Update Video by ID
    {
              "video_preview": {
                "start": new_value
              }
            }