比較:XMLおよびAPIコールでのスケジュール作成

ここでは、XMLおよびAPIコールによるスケジュール作成の比較を行います。

この仮のスケジュールには、特定の日の3時間分だけが含まれています。現実では、 スケジュールは丸1日分もしくはそれより長くなります。

スケジュールXML

  1. /v2/track コールでトラックを作成:
         [POST] /v2/tracks
         {
            "name" : "Sample schedule"
         }
        
  2. <NETWORK> 要素の値として Sample schedule を使ってXMLを構築します。連続するタイムブロックに、3つの異なるトラック セグメント/バーチャルアセットの組み合わせが定義されました。
    <?xml version="1.0"?>
    <EPG>
      <BROADCAST_DAY>
        <TX_DAY>2013-04-15</TX_DAY>
        <PROGRAM>
          <VIRTUAL_ASSET_ID>VirtualAsset1</VIRTUAL_ASSET_ID>
          <TRACK_SEGMENT_ID>TrackSegment1</TRACK_SEGMENT_ID>
          <NETWORK>Sample schedule</NETWORK>
          <SHORT_TITLE>A Nice Title</SHORT_TITLE>
          <EPISODE_NAME>Episode 1</EPISODE_NAME>
          <EPISODE_ID>1</EPISODE_ID>
          <DESCRIPTION>A Nice Description</DESCRIPTION>
          <PROGRAM_TYPE>Some Type</PROGRAM_TYPE>
          <START_TIME>2013-04-15T19:00Z</START_TIME>
          <END_TIME>2013-04-15T20:00Z</END_TIME>
          <DURATION>01:00</DURATION>
          <TV_RATING>PG</TV_RATING>
          <PROGRAM_STATUS>offline</PROGRAM_STATUS>
          <CUSTOM_METADATA>
              <FIELD NAME="MYFIELD1">My value</FIELD>
              <FIELD NAME="another_field_name">another field value<FIELD> 
          </CUSTOM_METADATA>
        </PROGRAM>
        <PROGRAM>
          <VIRTUAL_ASSET_ID>VirtualAsset2</VIRTUAL_ASSET_ID>
          <TRACK_SEGMENT_ID>TrackSegment2</TRACK_SEGMENT_ID>
          <NETWORK>Sample schedule</NETWORK>
          <SHORT_TITLE>Another Nice Title</SHORT_TITLE>
          <EPISODE_NAME>Episode 2</EPISODE_NAME>
          <EPISODE_ID>2</EPISODE_ID>
          <DESCRIPTION>Another Nice Description</DESCRIPTION>
          <PROGRAM_TYPE>Some Type</PROGRAM_TYPE>
          <START_TIME>2013-04-15T20:00Z</START_TIME>
          <END_TIME>2013-04-15T21:00Z</END_TIME>
          <DURATION>01:00</DURATION>
          <TV_RATING>PG</TV_RATING>
          <PROGRAM_STATUS>offline</PROGRAM_STATUS>
          <CUSTOM_METADATA>
              <FIELD NAME="MYFIELD1">My value</FIELD>
              <FIELD NAME="another_field_name">another field value<FIELD> 
          </CUSTOM_METADATA>
        </PROGRAM>
        <PROGRAM>
          <VIRTUAL_ASSET_ID>VirtualAsset3</VIRTUAL_ASSET_ID>
          <TRACK_SEGMENT_ID>TrackSegment3</TRACK_SEGMENT_ID>
          <NETWORK>Sample schedule</NETWORK>
          <SHORT_TITLE>Another Nice Title</SHORT_TITLE>
          <EPISODE_NAME>Episode 3</EPISODE_NAME>
          <EPISODE_ID>3</EPISODE_ID>
          <DESCRIPTION>Another Nice Description</DESCRIPTION>
          <PROGRAM_TYPE>Some Type</PROGRAM_TYPE>
          <START_TIME>2013-04-15T21:00Z</START_TIME>
          <END_TIME>2013-04-15T22:00Z</END_TIME>
          <DURATION>01:00</DURATION>
          <TV_RATING>PG</TV_RATING>
          <PROGRAM_STATUS>offline</PROGRAM_STATUS>
          <CUSTOM_METADATA>
              <FIELD NAME="MYFIELD1">My value</FIELD>
              <FIELD NAME="another_field_name">another field value<FIELD> 
          </CUSTOM_METADATA>
        </PROGRAM>
      </BROADCAST_DAY>
    </EPG> 
        
  3. Ooyala FTPサーバーにファイルを設置します。
    ftp epg-ftp.us-east-1.ooyala.com
    put filename
    exit
        

相当するAPIコール

  1. /v2/track コールでトラックを作成:
         [POST] /v2/tracks
         {
            "name" : "Sample schedule"
         }
        
  2. myfield1 メタデータを含む3つのバーチャルアセットを作成します。
         [POST] /v2/virtual_assets
         {
              "name" : "VirtualAsset1"
              "myfield1" : "My value"
         }
         [POST] /v2/virtual_assets
         {
              "name" : "VirtualAsset2"
              "myfield1" : "My value"
         }
         [POST] /v2/virtual_assets
         {
              "name" : "VirtualAsset3"
              "myfield1" : "My value"
         }     
        

    各コールで返ってきた virtual_asset_id を記録します。

  3. Sample schedule トラックの3つのトラックセグメントを作成します。それぞれが異なるバーチャルアセットを参照します。
         [POST] /v2/track_segments
         {
         "track_id": "Sample schedule",
         "start_time": "2013-04-15T19:00Z", 
         "end_time": "2013-04-15T20:00Z",
         "status": "offline", 
         "virtual_asset_id": "id_for_virtualasset1"
         }
         [POST] /v2/track_segments
         {
         "track_id": "Sample schedule",
         "start_time": "2013-04-15T20:00Z", 
         "end_time": "2013-04-15T21:00Z",
         "status": "offline", 
         "virtual_asset_id": "id_for_virtualasset2"
         }
         [POST] /v2/track_segments
         {
         "track_id": "Sample schedule",
         "start_time": "2013-04-15T23:00Z", 
         "end_time": "2013-04-15T22:00Z",
         "status": "offline", 
         "virtual_asset_id": "id_for_virtualasset3"
         }
        

この記事はお役にたちましたか?