サポート問い合わせ先| システムステータス
ページコンテンツ

    JSONからのビデオおよびプレイリストオブジェクト

    このトピックでは、必要なJSON形式のデータを使用してBrightcove Native SDK for Androidのヘルパーメソッドを呼び出して、再生可能なビデオオブジェクトとプレイリストオブジェクトを作成する方法を学習します。

    概要

    バージョン 6.2.0 以降では、Android 版 Brightcove ネイティブ SDK では、JSON オブジェクトから動画および再生リストオブジェクトを作成するメソッドがサポートされています。

    これは、サーバー側のプロキシを使用して、Brightcove アカウントから動画と再生リストのデータを取得する場合に便利です。この方法では、アプリのクライアント側にポリシーキーを公開しません。

    再生可能なビデオおよび再生リストオブジェクトを作成するには、次の操作を行います。

    1. オプション:サーバー側で Playback API を呼び出して、動画またはプレイリストのデータを返します。
    2. 以下の必須フィールドに基づいて、JSON 形式のオブジェクトを作成します。
    3. JSON 形式のオブジェクトを渡し、適切なメソッドを呼び出して、次のものを作成します。
    4. 返された動画またはプレイリストをプレーヤーにロードします。

    ビデオオブジェクト

    ビデオオブジェクトを作成するには、buildVideoFromJSON()次の情報をメソッドに渡します。

    フィールド 説明
    account_id 動画に関連付けられたアカウント ID
    id 動画ID
    sources ビデオソースの JSON 配列。配列内の各ソースには、次のものが必要です。
    • コンテンツへの有効なURLを持つsrcフィールド
    • HLS または DASH コンテンツの場合、コンテンツの MIME タイプを持つタイプフィールド
    • MP4 コンテンツの場合、値 MP4 のオブジェクトフィールド
    duration ビデオの再生時間 (ミリ秒)

    サーバー側プロキシがビデオデータを返す場合は、上記の表で指定された値を使用して JSON オブジェクト文字列を作成します。

    {
      "account_id": "3636334163001",
      "sources": [
      {
        "src": "http://f1.media.brightcove.com/4/36356334163001/3636334163001_3637454559001_Cascada-Teaser.mp4",
        "container": "MP4"
      }, {
        "type": "application/x-mpegURL",
        "src": "http://c.brightcove.com/services/mobile/streaming/index/master.m3u8"
      }],
      "id": "3637780364001",
      "duration": 74700
    }

    JSON 文字列を JSON オブジェクトに変換し、buildVideoFromJSON()メソッドに渡します。

    try {
       JSONObject jsonObject = new JSONObject(response);
       Video video = VideoParser.buildVideoFromJSON(jsonObject, eventEmitter);
      } catch (JSONException e) {
        e.printStackTrace();
      } catch (VideoParseException e) {
        e.printStackTrace();
      }

    プレイリストオブジェクト

    プレイリストオブジェクトを作成するには、buildPlaylistFromJSON()次の情報をメソッドに渡します。

    フィールド 説明
    account_id 動画に関連付けられたアカウント ID
    id 動画ID
    videos ビデオオブジェクトの JSON 配列。これには、「 Video objects 」セクションで説明されている必須フィールドが含まれます。
    duration ビデオの再生時間 (ミリ秒)

    サーバー側プロキシがプレイリストデータを返したら、上記の表で指定された値を使用して JSON オブジェクト文字列を作成します。

    {
      "id": "4970066630001",
      "account_id": "3636335163001",
      "name": "token auth playlist",
      "videos": [{
        "account_id": "3636335763001",
        "id": "4973773347001",
        "sources": [{
          "type": "application/dash+xml",
          "src": "https://brightcove.hs.llnwd.net/v2/unsecured/media/3636334163001/201606/1923/3636334163001_4973820156001_4973773237001.mpd"
        }],
        "duration": 29000
        },
        {
        "account_id": "3636334463001",
        "id": "4973766826001",
        "sources": [{
          "type": "application/dash+xml",
          "src": "http://brightcove.vo.llnwd.net/v1/unsecured/media/3636334163001/201606/2933/3636334163001_4973816542001_4973737826001.mpd"
        }],
        "duration": 29000
        }
      ]
    }

    JSON 文字列を JSON オブジェクトに変換し、buildPlaylistFromJSON()メソッドに渡します。

    try {
       JSONObject jsonObject = new JSONObject(response);
       Playlist playlist = VideoParser.buildPlaylistFromJSON(jsonObject, eventEmitter);
      } catch (JSONException e) {
        e.printStackTrace();
      } catch (VideoParseException e) {
        e.printStackTrace();
      }

    コンテンツが TTL(Time to Live)によって管理されており、長期間有効な動画オブジェクトを作成する場合は、そのオブジェクトが引き続き再生可能であることを確認する必要があります。これは、使用している CDN 上で設定されます。


    ページの最終更新日04 Oct 2021