サポートに連絡する| システムステータス
ページコンテンツ

    mediainfo からのビデオメタデータ

    このトピックでは、ビデオ(メタデータ)に関する情報をから取得する方法を学習します。mediainfoオブジェクト。プロパティは、loadstartイベントが送出された後に設定されます。

    mediainfo プロパティ

    mediainfoプロパティは、プレーヤー内の現在のビデオに関する情報(メタデータ)を含むオブジェクトです。

    mediainfoプロパティは、プレーヤー内の現在のビデオの情報(メタデータ)を含むオブジェクトです。CMS(コンテンツ管理システム)またはデータベースのビデオ情報をオブジェクトに設定します。

    mediainfoオブジェクトを設定した後は、ビデオの名前や説明などのビデオ情報を表示するときに便利なデータ取得に使用できます。このオブジェクトは、分析のコレクションでも使用されます。

    mediainfo のフィールド

    mediainfoプロパティに存在するフィールドは次のとおりです。

    フィールド名 説明 データタイプ
    accountId ブライトコーブのアカウント ひも
    adKeys 今後のサポートのために なし
    createdAt 作成日時 UTC (2011-09-28T 20:06:37 .879Z)
    cuePoints オブジェクトの配列としてのキューポイントのリスト オブジェクトの配列
    customFields カスタムフィールド名と関連する値のキーと値のペア オブジェクト
    description 短い説明、最大250文字 ひも
    duration ビデオの長さ (秒) 数値
    economics AD_SUPPORTEDまたは FREE のいずれかが含まれています。メディアが FREE とマークされている場合、IMA3 広告も FreeWheel 広告も再生されません。 ひも
    id 動画 ID 動画に関連付けられた一意の識別子 ひも
    link リンクテキストと URLプロパティを含むオブジェクト 対象
    longDescription 説明、最大 5000 文字 ひも
    name ビデオタイトル ひも
    poster ポスター画像へのURL ひも
    posterSources ポスターソースを含む配列 アレイ
    publishedAt 公開日時 UTC (2011-09-28T 20:06:37 .879Z)
    rawSources レンディション情報 アレイ
    referenceId ビデオ参照 ID 外部データベースまたは CMS からのキーまたは識別子 ひも
    sources オブジェクトの配列としてのレンディションのリスト。各オブジェクトには少なくとも 2 つの要素 ( type src) が含まれます。 オブジェクトの配列
    tags 動画に関連付けられたタグ(メタデータ) 文字列の配列
    textTracks キャプションやキューポイントなどのテキストトラックを保持する配列 アレイ
    thumbnail サムネイル画像の URL ひも
    thumbnailSources ポスターサムネイルを含むデータ構造 ひも
    variants 動画の多言語メタデータを含むオブジェクトの配列。オブジェクトのプロパティ: 言語名前説明long_descriptionおよびカスタムフィールド 配列

    mediainfo を移入する

    on()loadstartイベントが送出されるのを待つメソッドを使用して、対応するイベントハンドラでmediainfoオブジェクト。以下のコードから、console.logmediainfoオブジェクトが表示されていることに注意してください(111-113行)。

    <video-js id="myPlayerID"
      data-video-id="4093643993001"
      data-account="1752604059001"
      data-player="VJvZIueYx"
      data-embed="default"
      class="video-js" controls=""></video-js>
    <script src="https://players.brightcove.net/1752604059001/VJvZIueYx_default/index.min.js"></script>
    
    <script type="text/javascript">
      videojs.getPlayer('myPlayerID').ready(function() {
        var myPlayer = this;
        myPlayer.on('loadstart',function(){
          console.log('mediainfo', myPlayer.mediainfo);
        })
      });
    </script>

    コンソールからの表示例を次に示します。

    console display

    オブジェクトにデータを入力します

    CMS mediainfoまたはデータベースのメタデータをプロパティに手動で入力できます。その後、を使用することができますmediainfoオブジェクトのsourcesプレーヤーにビデオレンディションを入力するプロパティ。

    • 32〜37行目:インページ埋め込みプレーヤーの実装
    • 40~52行目です:ビデオオブジェクトを手動で作成します。実際のデータはCMSまたはデータベースから取得され、動的に構築されたオブジェクト
    • 54-55号線:プレーヤーが使用できる状態であることを保証し、プレーヤーインスタンスを変数に割り当てます
    • 56行目です:mediainfo手動で作成したビデオオブジェクトをプレーヤーのオブジェクトに割り当てます
    • 57行線:srcプレーヤーのメソッドを使用して、1 つまたは複数のビデオレンディションを割り当てます。ビデオレンディションは、mediainfoオブジェクトのsourcesプロパティを、プレイヤーに
      <video-js id="myPlayerID"
        data-account="3676484086001"
        data-player="2433352b-a2e2-4b7e-9a15-2d9ec7f07e9d"
        data-embed="default"
        class="video-js" controls></video-js>
      <script src="https://players.brightcove.net/3676484086001/2433352b-a2e2-4b7e-9a15-2d9ec7f07e9d_default/index.min.js"></script>
    
      <script type="text/javascript">
        //Populate video object (normally from database or CMS)
        var videoObject = new Object();
        videoObject.name = "Hand made video object test";
        videoObject.id = "1234msb";
        videoObject.description = "short description for hand made video object";
        videoObject.accountId = "1507807800001";
        videoObject.sources = [{
            "src": "http://solutions.brightcove.com/bcls/assets/videos/Tiger.m3u8",
            "type": "application/x-mpegURL"
          }, {
            "src": "http://solutions.brightcove.com/bcls/assets/videos/Tiger.mp4",
            "type": "video/mp4"
          }];
    
        videojs.getPlayer('myPlayerID').ready(function() {
          var myPlayer = this;
          myPlayer.mediainfo = videoObject;
          myPlayer.src(myPlayer.mediainfo.sources);
        });
      </script>

    タグとカスタムフィールドを表示する

    タグとカスタムフィールドの両方が複雑なデータ構造に格納されます。NS カスタムフィールドオブジェクト内とタグ配列で。次のスクリーンショットは、で強調表示されているカスタムフィールドとタグを示しています。mediainfoオブジェクト。

    tags and custom fields in console display

    これらの複雑なデータ構造からのデータを表示するには、2種類のループが必要です。forループは、タグ配列(16〜20行)を反復処理し、動的に構築されたHTML順序なしのリストを<div>(行で定義された9)。for-inループを使用して、カスタムフィールドオブジェクト (24 ~ 27 行) を繰り返し、動的に構築された HTML 順序なしリストをに挿入します<div>

    <video-js id="myPlayerID"
      data-video-id="4093643993001"
      data-account="1752604059001"
      data-player="VJvZIueYx"
      data-embed="default"
      class="video-js" controls=""></video-js>
    <script src="https://players.brightcove.net/1752604059001/VJvZIueYx_default/index.min.js"></script>
    
    <div id="displayInfo"></div>
    
    <script type="text/javascript">
      videojs.getPlayer('myPlayerID').ready(function() {
        var myPlayer = this;
        myPlayer.on('loadstart',function(){
          //Use JavaScript to display the tags
          var numTags = myPlayer.mediainfo.tags.length;
          displayInfo.innerHTML += "<h1>Tags:</h1><ul>";
          for (var i = 0; i < numTags; i++) {
            displayInfo.innerHTML += "<li>" + myPlayer.mediainfo.tags[i] + "</li>";
          };
          displayInfo.innerHTML += "</ul><br />";
    
          //Use JavaScript to display custom fields
          displayInfo.innerHTML += "<h1>Custom Fields:</h1><ul>";
          for (var key in myPlayer.mediainfo.customFields) {
           displayInfo.innerHTML += "<li><strong>" + key + "</strong>: " + myPlayer.mediainfo.customFields[key] + "</li>";
          }
          displayInfo.innerHTML += "</ul>";
        })
      });
    </script>

    レンダリングされたHTMLは、このスクリーンショットに示すように表示されます。

    tags and custom display in HTML

    ページの最終更新日30 Sep 2021