入門
に関連する2つのAPIがありますクラウドプレイアウト:
- EPG APIを使用すると、クラウドプレイアウトチャネルの電子番組ガイドを取得できます。Cloud Playoutは、次のスキーマで説明されているように、XMLTV標準に準拠したEPGを生成します。 https://repository.data2type.de/XMLTV/v_1.47/html/index.html。
- Channels APIを使用すると、UIまたはWebページに表示できるCloudPlayoutチャネルに関する情報を取得できます。見る概要:Channels API
認証
Cloud PlayoutAPIはBrightcoveOAuthシステムリクエストとともに認証ヘッダーで渡されるアクセストークンを介してリクエストを認証するには、次のようにします。
Authorization: Bearer {access token}
アクセストークンは、OAuthAPIを使用して取得されます-を参照してくださいアクセストークンの取得詳細については。アクセストークンのリクエストを認証するには、クライアントの資格情報も必要です。これらはStudioの管理セクションで作成できます-を参照してくださいAPI資格情報の管理。資格情報がEPG APIに必要とする権限は次のとおりです。
EPGリクエストパラメータ
次のオプションのクエリパラメータをEPGリクエストに追加できます。
パラメーター | デフォルト値 | 説明 |
---|---|---|
start |
(今から14日前) | EPG応答を照会し、ISO8601日付形式で返すことができる日時 |
end |
(現在-現在の日時) | EPG応答を照会してISO8601日付形式で返すことができる日時 |
limit |
(すべてのプログラム) | 1つの要求で返されるプログラムの数を制御する整数値。制限値(デフォルト:100)により、指定した期間のすべてのプログラムが返されなくなる場合があることに注意してください。見るEPG APIのベストプラクティス詳細については |
include_ads |
false | これをtrueに設定すると、応答に広告が含まれます |
注
- ザ・
start
/end
ウィンドウは14日を超えることはできません。履歴EPGを照会するには、開始が現在の日時から14日遅れることがあります。また、現在の日時から最大14日間の将来のEPGデータを取得できます。 - 終了時刻と開始時刻の差が14日を超える場合、APIは、要求された時刻から終了時刻までの14日または14日のいずれか早い方のみを生成します。
- どちらも
start
そしてend
タイムゾーンオフセットがある場合とない場合の日時値を受け入れることができます-タイムゾーンオフセットが含まれていない場合、UTCが想定されます。 -
どちらも
start
そしてend
URIエンコードする必要があります:URI エンコード ISO8601サンプル URIエンコード 2020-07-24 15:30:00
2020-07-24%2015%3A30%3A00
2020-07-24 15:30:00 +0530
2020-07-24%2015%3A30%3A00%20%2B0530
サンプルEPG API応答
以下は、APIからのサンプル応答です。
<?xml version="1.0" encoding="utf-8"?>
<tv source-info-name="Cloudplayout Schedules" source-info-url="http://www.cloudplayout.qa.brightcove.com">
<channel id="9fb8032ff2fe4f55b388d8969c22ca58">
<display-name>MyCloudChannel</display-name>
<icon src="https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png"/>
</channel>
<programme channel="9fb8032ff2fe4f55b388d8969c22ca58" start="20201120132000" stop="20201120132228">
<title>Frozen</title>
<desc>FrozenMultiLanguage</desc>
<length units="seconds">147.605</length>
<icon src="https://cf-images.us-east-1.qa.boltdns.net/v1/jit/6063799219001/43d57501-b98a-4708-bdd1-a09081f7a585/main/1280x720/1m13s802ms/match/image.jpg" width="1280" height="720"/>
<category>video</category>
<keyword>eyJ2aWRlb19pZCI6IjcwNzAwNDQxMDk2MjAyIiwib3JkZXIiOjEsInRhZ3MiOiJjaGlsZHJlbixjb21lZHkiLCJjdXN0b21fbWV0YWRhdGEiOnsicmVnaW9uIjoiYWZyaWNhIiwic29uZ3MiOjV9fQ==</keyword>
</programme>
<programme channel="9fb8032ff2fe4f55b388d8969c22ca58" start="20201120132228" stop="20201120133228">
<title>LiveDemo</title>
<desc>Live Demo</desc>
<length units="seconds">600.0</length>
<icon src="https://img.brightcove.com/cloudplayout/live-icon.jpg" width="1280" height="720"/>
<category>live</category>
<keyword>eyJ2aWRlb19pZCI6IjcwNzAxNDg0MjA3MjAyIiwib3JkZXIiOjIsInRhZ3MiOiJjcC1saXZlLXBsYWNlaG9sZGVyLGR1cmF0aW9uLTAwOjEwOjAwIiwiY3VzdG9tX21ldGFkYXRhIjp7InJlZ2lvbiI6Im5vcnRoIGFtZXJpY2EifX0=</keyword>
</programme>
<programme channel="9fb8032ff2fe4f55b388d8969c22ca58" start="20201120133228" stop="20201120133327">
<title>ChildrenComedy</title>
<desc>ChildrenComedy</desc>
<length units="seconds">59.164</length>
<icon src="https://cf-images.us-east-1.qa.boltdns.net/v1/jit/6063799219001/9430773f-76f5-476e-964d-a13b40cab90a/main/1280x720/29s582ms/match/image.jpg" width="1280" height="720"/>
<category>video</category>
<keyword>eyJ2aWRlb19pZCI6IjcwNzAxMjE2NDgyMjAyIiwib3JkZXIiOjMsInRhZ3MiOiJyb21hbmNlIiwiY3VzdG9tX21ldGFkYXRhIjp7InJlZ2lvbiI6ImFzaWEiLCJzb25ncyI6NX19</keyword>
</programme>
<programme>
...
</programme>
</tv>
注
- 開始タイムスタンプと終了タイムスタンプはUTC時間です。
- ザ・
category
そしてkeyword
エントリは内部目的です。
EPGデータには複数のプログラムデータが含まれており、各プログラムはビデオまたはライブアセットに関する詳細を表します。
<programme channel = "27963aa756294a7c98ca1c2c459d4ba2" start = "20201118232206" stop = "20201118232305"> <title> ChildrenComedy </ title> <desc> ChildrenComedy </ desc> <length> units = "seconds"> 59.164 </ length> <icon > src = "https://cf-images.us-east-1.qa.boltdns.net/v1/jit/6063799219001/9430773f-76f5-476e-964d-a13b40cab90a/main/1280x720/29s582ms/match/image JPG」幅= "1280" 高さ= "720"> </アイコン> <カテゴリ>ビデオ</カテゴリ> <キーワード> eyJ2aWRlb19pZCI6IjcwNzAxMjE2NDgyMjAyIiwib3JkZXIiOjEsInRhZ3MiOiJjaGlsZHJlbixjb21lZHkiLCJjdXN0b21fbWV0YWRhdGEiOnsicmVnaW9uIjoiYWZyaWNhIiwic29uZ3MiOjV9fQ == </キーワード> </プログラム>
ここでは、keyword
base64でエンコードされたjson値が含まれます。のデコードされた値keyword
以下に示します。
video_id
:は、VideoCloudの場合と同様にビデオの識別子です。order
:は、CloudPlayoutプログラムリスト内のアセットの順序です。tags
:カンマ区切り(存在する場合)-ビデオクラウド内の対応するビデオに関連付けられます。- カスタムメタデータ:(存在する場合は、名前と値のペアとして表されます)ビデオクラウド内の対応するビデオに関連付けられます。
{
"video_id":"70701216482202",
"order":1,
"tags":"children,comedy",
"custom_metadata":{
"region":"africa",
"songs":5
}
}
EPGとバンパー
EPGがバンパーを処理する方法
EPGにはバンパー自体は含まれません。バンパーの持続時間は次のように反映されます。
- プレロールバンパーの持続時間が追加されます以下ビデオの長さ
- ポストロールバンパーの持続時間がに追加されます前ビデオの長さ
潜在的な問題
EPGが不正確になる原因となる可能性のある2つのことがあります。
- 両方のプレロールになるようにビデオにタグを付ける(
cp-preroll-bumper
)そしてポストロール(cp-postroll-bumper
)期間を追加する場所を決定するのはタグに依存するため、EPGは不正確になります。動画に両方のタグがある場合、バンパーの長さは前の動画と次の動画の両方に追加されます。 - Cloud Playoutプログラムリストでバンパーを移動できますが、プレロールバンパーの直後にポストロールバンパーが続くように配置すると、両方のバンパーが再生されますが、EPG APIはそれらとそのスケジュールを無視します期間は空になります。
制限
- EPGは、ベストエフォート/ほぼ正確に生成されます。
- EPGが最初にプレイリストから作成されるとき、クラウドプレイアウトが切り替えを開始するのに時間がかかるため、開始時間エラーが発生する可能性があります。
- EPGは、保持している現在の情報に基づいて動的に構築されるため、プレイリストが変更されたときにすべての取得で一貫しているとは限りません。EPGを変更するアクションには、プレイリストの並べ替えやプレイリスト内のアセットの追加/削除などがあります。
- 切り替えで誤動作が発生し、切り替え時間が正確でない場合、将来のEPGでトランジットが不正確になる可能性があります。これを引き起こす可能性のあるアクションの例としては、プレイリストの切り替えや、プレイリスト内の現在アクティブなアセットの削除などがあります。
- EPGの消費者は、最も正確なバージョンを取得するために、可能な限りリアルタイムに近いものを要求する必要があります。