入門
Playback API は、Web ページやモバイルアプリから動画や再生リストのデータを取得するときのクライアント側での使用を目的とした、低レイテンシー API です。ですnot Video CloudをCMSまたは他のシステムと統合する際に使用する一般的なメディア管理API-そのためには、 CMS API。
Playback APIの結果は、再生可能なビデオのみを返すようにフィルタリングされます(状態=アクティブ、取り込み完了フラグ= true、スケジュールされている場合は正しいデータ/時間)。これは、他のレンディションがまだ処理中である場合でも、1つのレンディションが存在するとすぐにプレーヤーがビデオを再生できることを意味します。現在再生できない動画を取得する必要がある場合は、もう一度CMS API代わりに。
パフォーマンスを最大化するために、PlaybackAPIによってアクセスされるビデオデータが短期間キャッシュされることにも注意してください。キャッシュされる特定のデータセットIDの長さは異なりますが、最大20分かかる場合があります。
「 API リファレンス」も参照してください。
ユースケース
ザ・BrightcoveプレーヤーそしてそのBrightcoveSDKプレーヤーPlayback APIのメソッドと同じカタログメソッドを含めます。実行時に動画やプレイリストを取得して再生する場合は、ほとんどの場合、これらのメソッドを使用できます。
ただし、プレーヤーが存在しないモバイルアプリ画面でビデオまたはプレイリストのビューを提供することをお勧めします。
さらに、たとえばビデオポータルのランディングページとして、画面にプレーヤーを表示せずに、ビデオまたはプレイリストを取得してそれらに関する情報を表示したい場合があります。
これらの場合、PlaybackAPIは便利です。
一般情報
ベース URL
Playback APIのベースURLは次のとおりです。
https://edge.api.brightcove.com/playback/v1
アカウントパス
いずれの場合も、特定の Video Cloud アカウントに対してリクエストが行われます。したがって、accounts
あなたは常にベースURLにアカウントIDが続く用語を追加します:
https://edge.api.brightcove.com/playback/v1/accounts/{account_id}
認証
要求はポリシーキーによって認証され、次の 3 つの方法のいずれかで渡すことができます。
Accept
ヘッダーの引数で:Accept: application/json;pk={policy_key}
ブラウザベースのクライアントでは、CORS の「プリフライト中」チェックの一部として、まず追加の要求なしで要求を進めることができるため、これはブラウザベースのクライアントに推奨される方法です。これにより、ブラウザ要求が初めて行われた時のレイテンシーが節約されます。
- realm
Authorization
キーワードを使用したヘッダーでBCOV-Policy
:Authorization: BCOV-Policy {policy_key}
BCOV-Policy
ヘッダー:BCOV-Policy: {policy_key}
ポリシーキーの取得
ポリシーキーを取得する方法は3つあります。
- すべてのBrightcoveプレーヤーには自動的に1人が割り当てられます。プレーヤーのポリシーキーを取得する手順については、このドキュメント。ポリシーキーはアカウント全体で優れているため、そのプレイヤーがページに埋め込まれているかどうかに関係なく、ポリシーキーを使用できます。
- ポリシーキークイックスタートを使用して、基本ポリシーキーを生成できます
- Policy API へのリクエストを行うことができます。
トークン認証
HLSおよびDASHコンテンツのトークン認証がサポートされています。トークン認証が必要な場合は、アカウントでトークン認証を有効にする方法についてアカウントマネージャーにお問い合わせください。
ハードコードされたURLを避ける
サムネイル、ポスター、動画ファイル、その他のメディアの URL は、ページやアプリケーションでハードコーディングしないでください。NS Playback APIメディアファイルのURLの最新のキャッシュバージョンを返しますが、URL自体は変更される可能性があります。あなたは使用する必要がありますCMS API( またPlayback API)ページが読み込まれるたびにこれらのURLを取得するか、6時間以内にキャッシュするように要求します。
動画および画像URLのキャッシュ
動画や画像の URL をキャッシュしてページのパフォーマンスを向上させることもできますが、キャッシュは定期的に更新する必要があります。ページのパフォーマンスを改善するため、取得したURLをキャッシュする場合、少なくとも6時間毎にAPI呼び出しを繰り返して、キャッシュをリフレッシュするようにしてください。
メソッド
APIは、次のタイプの次のGETリクエストのみをサポートします。
ビデオリクエスト
単一のビデオオブジェクトは、ビデオIDまたは参照IDのいずれかを使用して取得できます。
IDでビデオを取得
終点
https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/{video_id}
例
https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos/38467382999
レスポンスの例
{
"account_id": "107767373999",
"ad_keys": null,
"created_at": "2010-07-12T22:37:34.760Z",
"description": "Avatar_MakingAScene_Featurette",
"duration": 595560,
"id": "38467382999",
"long_description": null,
"name": "Avatar_MakingAScene_Featurette",
"published_at": "2010-07-12T22:37:34.760Z",
"reference_id": "AvatarMakingShort",
"text_tracks": [],
"updated_at": "2010-07-12T22:54:29.666Z",
"cue_points": [
{
"id": "111637107001",
"name": "Pre-roll",
"type": "AD",
"time": 0,
"metadata": null,
"force_stop": false
}
],
"custom_fields": {
"moretext": "this is the first video uploaded",
"mylist": "abc"
},
"link": {
"text": "Full Dvd at Amazon",
"url": "http://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
},
"tags": [
"copied"
],
"poster_sources": [
{
"src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
}
],
"thumbnail_sources": [
{
"src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
}
],
"poster": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
"thumbnail": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
"sources": [
{
"avg_bitrate": 379000,
"width": 320,
"duration": 595560,
"size": 28196307,
"stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
"codec": "H264",
"asset_id": "111728840001",
"container": "MP4",
"height": 180,
"app_name": "rtmp://cp150446.edgefcs.net/ondemand"
},
{
"avg_bitrate": 379000,
"width": 320,
"src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
"size": 28196307,
"height": 180,
"duration": 595560,
"container": "MP4",
"codec": "H264",
"asset_id": "111728840001"
}, ... 6 more sources ...
]
}
参照IDでビデオを取得
終点
https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/ref:{reference_id}
例
https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos/ref:nature_2010-07-12
レスポンスの例
{
"account_id": "107767373999",
"ad_keys": null,
"created_at": "2010-07-12T22:37:34.760Z",
"description": "Avatar_MakingAScene_Featurette",
"duration": 595560,
"id": "38467382999",
"long_description": null,
"name": "Avatar_MakingAScene_Featurette",
"published_at": "2010-07-12T22:37:34.760Z",
"reference_id": "nature_2010-07-12",
"text_tracks": [],
"updated_at": "2010-07-12T22:54:29.666Z",
"cue_points": [
{
"id": "111637107001",
"name": "Pre-roll",
"type": "AD",
"time": 0,
"metadata": null,
"force_stop": false
}
],
"custom_fields": {
"moretext": "this is the first video uploaded",
"mylist": "abc"
},
"link": {
"text": "Full Dvd at Amazon",
"url": "http://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
},
"tags": [
"copied"
],
"poster_sources": [
{
"src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
}
],
"thumbnail_sources": [
{
"src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
}
],
"poster": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
"thumbnail": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
"sources": [
{
"avg_bitrate": 379000,
"width": 320,
"duration": 595560,
"size": 28196307,
"stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
"codec": "H264",
"asset_id": "111728840001",
"container": "MP4",
"height": 180,
"app_name": "rtmp://cp150446.edgefcs.net/ondemand"
},
{
"avg_bitrate": 379000,
"width": 320,
"src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
"size": 28196307,
"height": 180,
"duration": 595560,
"container": "MP4",
"codec": "H264",
"asset_id": "111728840001"
}, ... 6 more sources ...
]
}
動画を検索する
あなたは使用する必要があります検索対応のポリシーキー、PlaybackAPIを使用して動画を検索する場合。詳細については、Playback APIリファレンス資料。
パラメーター
すべてのパラメータはオプションであることに注意してください。彼らはに適用されますGET Videos
リクエストのみ。
パラメーター | 説明 |
---|---|
q |
検索用のクエリ文字列-詳細については、検索ガイド |
limit |
返す動画数-1 ~ 100 の整数を指定してください。デフォルト: 20 |
offset |
スキップする動画の数(ページング結果用)。正の整数である必要があります。デフォルト: 0 |
sort |
並べ替えの基準となるフィールドを指定するストリング。 皮切りに - 降順で並べ替えます。の値が q が指定されている場合、デフォルトの並べ替えは「スコア」(検索結果と元のクエリの関連性)によるものです。の値がない場合 q が提供されている場合、デフォルトのソートはupdated_at 降順。次のフィールドは並べ替えに有効です。 name 、reference_id 、created_at 、published_at 、updated_at 、schedule_starts_at 、schedule_ends_at 、state 、plays_total 、およびplays_trailing_week 詳細については、ビデオを入手Playback APIリファレンスのセクション |
検索パラメータの使用
ブライトコーブのPlayback APIあなたのビデオを検索するためのプログラム的な方法を提供しますビデオクラウド図書館。
動画データの基本検索および複雑な検索を実行するには、q
パラメーターを使用します。
https://edge.api.brightcove.com/playback/v1/accounts/1752604051111/videos?q={search terms}
動画を検索する方法については、「ビデオの検索」ドキュメントを参照してください。
ページングの結果
使用limit
リクエストで返すアイテムの数を指定するパラメータ(最大100)。その後、を使用することができますoffset
より大きい結果セットをページスルーするパラメータlimit
。offset
はスキップする項目の数です。
たとえば、次の検索では、結果セットの合計に少なくとも 75 本の動画が含まれていると仮定して、結果セット全体の 51 ~ 75 の動画が返されます。
/videos?q=updated_at:2014-01-01..2014-06-30&limit=25&offset=50
ザ・limit
そしてoffset
パラメータは動画にのみ使用できます。
ページングのベストプラクティス
Playback APIから結果セットをページングするときは、次の手順に従うことをお勧めします。
- 使用
limit
そしてoffset
結果セットからデータのグループを返すパラメータ。/accounts/578380111111/videos?q=tags:nature&limit=20&offset=50
- 応答するたびに、
count
フィールドには、結果セット内のビデオの最大数が常に表示されます。{"count": 171, "videos": [ ... ] }
- 合計
count
最初のリクエストの動画の数を使用して、リクエストする必要のあるページ数を決定できます。
または、count
各応答で値を付け、count
ページサイズにページサイズを掛けた値以下であるlimit
。count <= page-number * limit
ビデオ結果のソート
パラメータを使用するsort=field_name
結果の並べ替え方法を指定します。次のビデオフィールドで並べ替えることができます。[1-1]
- name
- reference_id
- created_at
- published_at
- updated_at
- schedule_starts_at(注:これはソートフィールド- 検索フィールドは
schedule.starts_at
) - schedule_ends_at(注:これはソートフィールド- 検索フィールドは
schedule.ends_at
) - state
- Plays_total[1-2]
- Plays_trailing_week[1-2]
備考
- [1-1] ビデオ検索呼び出しに並べ替え値を指定しない場合、結果は関連性によって並べ替えられます。
GET
ビデオ呼び出しの並べ替え値を指定しない場合、updated_at
結果は降順でソートされます。 - [1-2] 並べ替えることができます
plays_total
またplays_trailing_week
、ただし、これらのフィールドは結果に含まれません
すべてのビデオと大きなデータセット
アカウント内のすべての動画、または多数の動画を取得する場合は、以下の点に注意する必要があります。
- 許可されている最大の
limit
(100)を使いたくなるかもしれませんが、API リクエストがタイムアウトする可能性を最小限に抑えるには、25 以下のバッチで動画を取得することをお勧めします。 - 大きなデータセットをページングすると、操作中にビデオデータが更新され、アイテムが応答にシフトする可能性があります。
- 連続したページで項目が繰り返し表示されることがあります
- 以前のレスポンスセットに移行したため、アイテムが見逃される可能性がある
最初の可能性を考慮するには、動画の取得が完了したら、アプリは項目リスト全体を重複排除する必要があります。2番目の可能性を処理するには、(重複除外後)取得されたアイテムの合計数を期待していた数と比較し、要求を再実行し、結果をlast_modified_date(降順)でソートする必要があります。欠落したアイテムをピックアップするために、複数のバッチを取得する必要はありません。
- 返された結果を適切に並べ替えることにより、前の項目のシナリオの可能性を減らすことができます。検索の関連性によるデフォルトの並べ替えは、キーワード、タグ、およびカスタムフィールド値の組み合わせを検索する複雑なアルゴリズムに基づいています。複数のキーワード、タグ、カスタムフィールドに基づいて動画を検索する場合は、関連性で並べ替える必要があります。ただし、すべての動画または大規模な動画セットを取得する場合は、
sort
パラメーターを明示的に設定することで、返されるアイテムの順序をより詳細に制御できます。
ビデオを入手する
終点
https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos
例
https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos?q=tags:nature,name:nature
レスポンスの例
{
"count": 123,
"videos":
[
{<video1 fields>},
{<video2 fields>},
...
]
}
エラー応答
検索が有効になっていないポリシーキーでGetVideosエンドポイントを使用しようとすると、PlaybackAPIから次のエラーメッセージが表示されます。
[
{
"api_call": "search",
"error_subcode": "API",
"error_code": "ACCESS_DENIED",
"message": "Access to this resource is forbidden by access policy."
}
]
関連動画を探す
Playback APIを使用すると、指定した動画に関連する動画をアカウントで検索できます。に基づくname
そしてshort description
指定されたビデオのうち、APIは次のフィールドで部分一致を検索します。
name
short description
long description
tags
地理的制限が有効になっている場合、結果の全ページが表示されない場合があります。
パラメーター
次のURLパラメータは、GET関連の動画リクエストに使用できます。
パラメーター | 説明 |
---|---|
limit |
返す動画の数 (既定値は 20、最大 = 100) |
ad_config_id |
ad_config_idを追加して返しますSSAIのビデオ |
デフォルトでは、応答には最大20本のビデオが含まれます。あなたは使用することができますlimit
最大100本の動画を返すパラメータですが、待ち時間が長くなります。
ないことに注意してくださいoffset
関連するビデオを見つけるときのパラメータ。これにより、ビデオの結果をページングできなくなります。
ビデオIDを使用して関連ビデオを取得する
終点
https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/{video_id}/related
例
https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/5565662146001/related
参照IDを使用して関連動画を取得する
終点
https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/ref:{reference_id}/related
例
https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/ref:nature/related
レスポンスの例
以下の応答では、count
フィールドとは異なり、ビデオを検索応答。
{
"videos":
[
{<video1 fields>},
{<video2 fields>},
...
]
}
エラー応答
検索が有効になっていないポリシーキーで関連するエンドポイントの検索を使用しようとすると、PlaybackAPIから次のエラーメッセージが表示されます。
[
{
"api_call": "search",
"error_subcode": "API",
"error_code": "ACCESS_DENIED",
"message": "Access to this resource is forbidden by access policy."
}
]
SSAIによるビデオリクエスト
アプリケーションでBrightcoveWebプレーヤーまたはBrightcoveネイティブSDKを使用していない場合でも、独自のプレーヤーでサーバー側広告挿入(SSAI)を使用できます。
SSAIでビデオを入手
SSAIを使用して動画を返すには、PlaybackAPIリクエストのURLパラメーターとして広告構成IDを追加します。このリクエストでは、動画IDまたは動画参照IDのいずれかを使用できます。
URLパラメーターを持つエンドポイント
追加するad_config_id
Playback APIリクエストの最後まで:
https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/{video_id}?ad_config_id={ad_config_id}
例
https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/5565662146001?ad_config_id=1234abcd
以下のサンプル応答では、次のことに気付くでしょう。
- 広告設定IDを含めなかった場合の応答と同様です。
- の要素
sources
配列には、という新しいプロパティが含まれますvmap
。 - 広告がコンテンツのどこにあるかを知りたい場合は、にリンクされているVMAPファイルを読むことができます。
vmap
プロパティ。 - ザ・
src
内のプロパティsources
配列には、HLSまたはDASHソースへのURLが含まれます。これは、広告設定IDが使用されていない場合の応答と同じですが、src
メインコンテンツに広告が組み込まれます。
レスポンスの例
{
"description": "The story of a giant rabbit with a heart bigger than himself. ",
"poster_sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/3723496277001/dd5bd69c-e962-4a43-9dbd-94faaaba1785/main/1280x720/5m17s130ms/match/image.jpg"
}
],
"tags": [],
"cue_points": [],
"custom_fields": {},
"account_id": "3723496277001",
"sources": [
{
"ext_x_version": "4",
"vmap": "http://ssaiplayback.prod.boltdns.net/playback/once/v1/vmap/hls/v4/clear/3723496277001/7a3316d9-1b06-4d62-bec8-3919b43fffbb/dd5bd69c-e962-4a43-9dbd-94faaaba1785/content.vmap?bc_token=NTllMTMxYjNfMTdkOTY2YThhNjU5MDk5ZTQ3NDBkNmUxOTYyOGRkNzM0ZjBiM2RjMGEwOThjOGFkYjk1MWQxMzFmNGYzMjA5YQ%3D%3D",
"type": "application/x-mpegURL",
"src": "http://ssaiplayback.prod.boltdns.net/playback/once/v1/hls/v4/clear/3723496277001/7a3316d9-1b06-4d62-bec8-3919b43fffbb/dd5bd69c-e962-4a43-9dbd-94faaaba1785/master.m3u8?bc_token=NTllMTMxYjNfZGM5ZDg0NGM2ZGJjZDcxZTFjOGYyODBlMzM2NmNmMmJkMWNhZDczNWViNzRiMjIwNjg5MjkzZGM0ZmJlMTc1Yw%3D%3D"
},
...
],
"created_at": "2017-05-15T17:09:11.171Z"
}
ad_config_idが必要
Policy APIを使用して、ポリシーキーを作成できます。ad_config_id
Playback APIにリクエストを送信するときのURLパラメータ。この機能の設定の詳細については、Policy APIリファレンス資料。
ポリシーキーが要求するように設定されている場合ad_config_id
、およびそれをPlayback APIリクエストに追加しない場合、次のエラーが発生します。
[
{
"error_subcode": "AD_CONFIG",
"error_code": "ACCESS_DENIED",
"message": "Missing required ad_config_id parameter"
}
]
プレイリストリクエスト
プレイリストビデオオブジェクトは、プレイリストIDまたはその参照IDのいずれかを使用して取得できます。
パラメーター
次のURLパラメータはプレイリストリクエストに使用できます
パラメーター | 説明 |
---|---|
制限量 | 返す動画の数 (既定値は 20、最大 = 100) |
offset | スキップするビデオの数(プレイリストの最初から、デフォルト= 0) |
たとえば、リクエストに追加されたこれらのパラメータ(?limit = 40&offset = 20)は、プレイリストに21〜60本の動画を返します(その数が多いと仮定します)。
IDでプレイリストを取得
終点
https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/playlists/{playlist_id}
例
https://edge.api.brightcove.com/playback/v1/accounts/57838016001/playlists/38467382999
レスポンスの例
{
"account_id": "107767373999",
"created_at": "2010-07-12T22:43:30.290Z",
"description": null,
"id": "111592530001",
"name": "Play One",
"reference_id": null,
"type": "EXPLICIT",
"updated_at": "2010-07-12T22:51:25.055Z",
"videos": [
{
"description": "Avatar_MakingAScene_Featurette",
"poster_sources": [
{
"src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
}
],
"tags": [
"copied"
],
"cue_points": [
{
"id": "111637107001",
"name": "Pre-roll",
"type": "AD",
"time": 0,
"metadata": null,
"force_stop": false
}
],
"custom_fields": {
"moretext": "this is the first video uploaded",
"mylist": "abc"
},
"account_id": "107767373999",
"sources": [
{
"avg_bitrate": 379000,
"width": 320,
"duration": 595560,
"size": 28196307,
"stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
"codec": "H264",
"asset_id": "111728840001",
"container": "MP4",
"height": 180,
"app_name": "rtmp://cp150446.edgefcs.net/ondemand"
},
{
"avg_bitrate": 379000,
"width": 320,
"src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
"size": 28196307,
"height": 180,
"duration": 595560,
"container": "MP4",
"codec": "H264",
"asset_id": "111728840001"
},
{
"avg_bitrate": 267000,
"width": 320,
"duration": 595560,
"size": 19894997,
"stream_name": "mp4:107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
"codec": "H264",
"asset_id": "111728852001",
"container": "MP4",
"height": 180,
"app_name": "rtmp://cp150446.edgefcs.net/ondemand"
},
{
"avg_bitrate": 267000,
"width": 320,
"src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
"size": 19894997,
"height": 180,
"duration": 595560,
"container": "MP4",
"codec": "H264",
"asset_id": "111728852001"
},
{
"avg_bitrate": 549000,
"width": 480,
"duration": 595567,
"size": 40889436,
"stream_name": "mp4:107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
"codec": "H264",
"asset_id": "111728860001",
"container": "MP4",
"height": 268,
"app_name": "rtmp://cp150446.edgefcs.net/ondemand"
},
{
"avg_bitrate": 549000,
"width": 480,
"src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
"size": 40889436,
"height": 268,
"duration": 595567,
"container": "MP4",
"codec": "H264",
"asset_id": "111728860001"
},
{
"avg_bitrate": 835000,
"width": 640,
"duration": 595567,
"size": 62142992,
"stream_name": "mp4:107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
"codec": "H264",
"asset_id": "111728865001",
"container": "MP4",
"height": 360,
"app_name": "rtmp://cp150446.edgefcs.net/ondemand"
},
{
"avg_bitrate": 835000,
"width": 640,
"src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
"size": 62142992,
"height": 360,
"duration": 595567,
"container": "MP4",
"codec": "H264",
"asset_id": "111728865001"
},
{
"avg_bitrate": 1744000,
"width": 640,
"duration": 595567,
"size": 129836869,
"stream_name": "mp4:107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
"codec": "H264",
"asset_id": "111735357001",
"container": "MP4",
"height": 360,
"app_name": "rtmp://cp150446.edgefcs.net/ondemand"
},
{
"avg_bitrate": 1744000,
"width": 640,
"src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
"size": 129836869,
"height": 360,
"duration": 595567,
"container": "MP4",
"codec": "H264",
"asset_id": "111735357001"
},
{
"avg_bitrate": 1249000,
"width": 640,
"duration": 595567,
"size": 92994065,
"stream_name": "mp4:107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
"codec": "H264",
"asset_id": "111735369001",
"container": "MP4",
"height": 360,
"app_name": "rtmp://cp150446.edgefcs.net/ondemand"
},
{
"avg_bitrate": 1249000,
"width": 640,
"src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
"size": 92994065,
"height": 360,
"duration": 595567,
"container": "MP4",
"codec": "H264",
"asset_id": "111735369001"
}
],
"name": "Avatar_MakingAScene_Featurette",
"reference_id": "AvatarMakingShort",
"long_description": null,
"duration": 595560,
"published_at": "2010-07-12T22:37:34.760Z",
"text_tracks": [],
"updated_at": "2010-07-12T22:54:29.666Z",
"thumbnail": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
"poster": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
"link": {
"text": "Full Dvd at Amazon",
"url": "http://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
},
"id": "38467382999",
"ad_keys": null,
"thumbnail_sources": [
{
"src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
}
],
"created_at": "2010-07-12T22:37:34.760Z"
}
],
}
参照IDでプレイリストを取得
終点
https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/playlists/ref:{reference_id}
例
https://edge.api.brightcove.com/playback/v1/accounts/57838016001/playlists/ref:nature_2010-07-12
レスポンスの例
{
"account_id": "107767373999",
"created_at": "2010-07-12T22:43:30.290Z",
"description": null,
"id": "111592530001",
"name": "Play One",
"reference_id": nature_2010-07-12,
"type": "EXPLICIT",
"updated_at": "2010-07-12T22:51:25.055Z",
"videos": [
{
"description": "Avatar_MakingAScene_Featurette",
"poster_sources": [
{
"src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
}
],
"tags": [
"copied"
],
"cue_points": [
{
"id": "111637107001",
"name": "Pre-roll",
"type": "AD",
"time": 0,
"metadata": null,
"force_stop": false
}
],
"custom_fields": {
"moretext": "this is the first video uploaded",
"mylist": "abc"
},
"account_id": "107767373999",
"sources": [
{
"avg_bitrate": 379000,
"width": 320,
"duration": 595560,
"size": 28196307,
"stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
"codec": "H264",
"asset_id": "111728840001",
"container": "MP4",
"height": 180,
"app_name": "rtmp://cp150446.edgefcs.net/ondemand"
},
{
"avg_bitrate": 379000,
"width": 320,
"src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
"size": 28196307,
"height": 180,
"duration": 595560,
"container": "MP4",
"codec": "H264",
"asset_id": "111728840001"
},
{
"avg_bitrate": 267000,
"width": 320,
"duration": 595560,
"size": 19894997,
"stream_name": "mp4:107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
"codec": "H264",
"asset_id": "111728852001",
"container": "MP4",
"height": 180,
"app_name": "rtmp://cp150446.edgefcs.net/ondemand"
},
{
"avg_bitrate": 267000,
"width": 320,
"src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
"size": 19894997,
"height": 180,
"duration": 595560,
"container": "MP4",
"codec": "H264",
"asset_id": "111728852001"
},
{
"avg_bitrate": 549000,
"width": 480,
"duration": 595567,
"size": 40889436,
"stream_name": "mp4:107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
"codec": "H264",
"asset_id": "111728860001",
"container": "MP4",
"height": 268,
"app_name": "rtmp://cp150446.edgefcs.net/ondemand"
},
{
"avg_bitrate": 549000,
"width": 480,
"src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
"size": 40889436,
"height": 268,
"duration": 595567,
"container": "MP4",
"codec": "H264",
"asset_id": "111728860001"
},
{
"avg_bitrate": 835000,
"width": 640,
"duration": 595567,
"size": 62142992,
"stream_name": "mp4:107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
"codec": "H264",
"asset_id": "111728865001",
"container": "MP4",
"height": 360,
"app_name": "rtmp://cp150446.edgefcs.net/ondemand"
},
{
"avg_bitrate": 835000,
"width": 640,
"src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
"size": 62142992,
"height": 360,
"duration": 595567,
"container": "MP4",
"codec": "H264",
"asset_id": "111728865001"
},
{
"avg_bitrate": 1744000,
"width": 640,
"duration": 595567,
"size": 129836869,
"stream_name": "mp4:107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
"codec": "H264",
"asset_id": "111735357001",
"container": "MP4",
"height": 360,
"app_name": "rtmp://cp150446.edgefcs.net/ondemand"
},
{
"avg_bitrate": 1744000,
"width": 640,
"src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
"size": 129836869,
"height": 360,
"duration": 595567,
"container": "MP4",
"codec": "H264",
"asset_id": "111735357001"
},
{
"avg_bitrate": 1249000,
"width": 640,
"duration": 595567,
"size": 92994065,
"stream_name": "mp4:107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
"codec": "H264",
"asset_id": "111735369001",
"container": "MP4",
"height": 360,
"app_name": "rtmp://cp150446.edgefcs.net/ondemand"
},
{
"avg_bitrate": 1249000,
"width": 640,
"src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
"size": 92994065,
"height": 360,
"duration": 595567,
"container": "MP4",
"codec": "H264",
"asset_id": "111735369001"
}
],
"name": "Avatar_MakingAScene_Featurette",
"reference_id": "AvatarMakingShort",
"long_description": null,
"duration": 595560,
"published_at": "2010-07-12T22:37:34.760Z",
"text_tracks": [],
"updated_at": "2010-07-12T22:54:29.666Z",
"thumbnail": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
"poster": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
"link": {
"text": "Full Dvd at Amazon",
"url": "http://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
},
"id": "38467382999",
"ad_keys": null,
"thumbnail_sources": [
{
"src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
}
],
"created_at": "2010-07-12T22:37:34.760Z"
}
],
}
キャプション
クローズドキャプションは、動画にアクセスしたい個人向けの追加情報を提供します。聴覚障害者や聴きにくい人が動画の音声部分にアクセスするためには、キャプションが必要です。キャプションを初めて使用する場合は、概要を参照してください。ビデオドキュメントにキャプションを追加する。
外部WebVTT
外部 WebVTT キャプションは、動画とは別のテキストファイルです。キャプションファイルをビデオに関連付けるには、次のようにします。
レスポンスの例
以下は、Mediaモジュールを使用してWebVTTキャプションファイルがビデオに追加されたPlaybackAPIからのサンプル応答です。テキストトラックに注意してくださいsrc
プロパティは、外部キャプションファイルを指します。
{
"text_tracks": [
{
"mime_type": null,
"account_id": "20318290001",
"default": true,
"sources": [
{
"src": "https://static.3playmedia.com/p/files/2240988/threeplay_transcripts/6418302.vtt?project_id=10127&format_id=51&refresh=1515241856"
}
],
"src": "https://static.3playmedia.com/p/files/2240988/threeplay_transcripts/6418302.vtt?project_id=10127&format_id=51&refresh=1515241856",
"asset_id": null,
"label": "English",
"id": "13d66def-d004-4e75-b160-4ac693eff7d7",
"kind": "captions",
"srclang": "en"
}
],
}
マニフェストの WebVTT
マニフェストの WebVTT キャプションは、動画とともに取り込まれています。これは、最初にビデオを取り込んだとき、またはビデオを取り込んだ後に行うことができます。マニフェスト内のキャプションは次のように作成できます。
レスポンスの例
以下は、Dynamicを使用してWebVTTキャプションファイルがビデオに追加されたPlaybackAPIからのサンプル応答です。 APIを取り込みます。テキストトラックに注意してくださいsrc
プロパティは、内部のBrightcoveファイルを指します。
{
"text_tracks": [
{
"mime_type": "text/webvtt",
"account_id": "1752604059001",
"default": false,
"sources": [
{
"src": "http://bcboltbde696aa-a.akamaihd.net/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt?akamai_token=exp=1518032480~acl=/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt*~hmac=5aa9f206a8e970efb4cab95278e2e9b16a29b3ccf82951a91245352d9149b173"
},
{
"src": "https://bcboltbde696aa-a.akamaihd.net/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt?akamai_token=exp=1518032480~acl=/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt*~hmac=5aa9f206a8e970efb4cab95278e2e9b16a29b3ccf82951a91245352d9149b173"
}
],
"src": "http://bcboltbde696aa-a.akamaihd.net/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt?akamai_token=exp=1518032480~acl=/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt*~hmac=5aa9f206a8e970efb4cab95278e2e9b16a29b3ccf82951a91245352d9149b173",
"asset_id": null,
"label": "EN",
"id": "92cb36a7-c836-4506-a87f-f649316c0cdf",
"kind": "captions",
"in_band_metadata_track_dispatch_type": "",
"srclang": "en"
}
],
}
マニフェスト
HLSまたはDASHビデオファイルのマニフェストには、WebVTTキャプションを含めるために必要な情報も含まれています。
HLS
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-0",NAME="en (Main)",DEFAULT=YES,AUTOSELECT=YES,LANGUAGE="en",URI="https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/8b12c808-c5ea-47f3-abfa-c23b023db297/10s/rendition.m3u8?fastly_token=NWE3YjU3ZThfNzAwNTczOWM4MWQ4Mzk2NjFkYjVjYmFhYjQwNzY2MWUzM2MyNDM5ZDA5ZGExYTFkMzRmYzA0MDdhOTlmZWJhMw%3D%3D"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subtitles-0",NAME="EN",DEFAULT=YES,AUTOSELECT=YES,LANGUAGE="en",URI="https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/rendition.m3u8?fastly_token=NWE3YjU3ZThfNDYzOThkZGJiZTU1NTlhOTdkYzA5OTA3M2UzZGRlYTgzMmRkZmUxMGIxYTJkY2Y5ZDQ1ODFiNTEyMmNiZDVhMw%3D%3D"
#EXT-X-STREAM-INF:PROGRAM-ID=0,BANDWIDTH=519200,CODECS="mp4a.40.2,avc1.420015",RESOLUTION=480x270,AUDIO="audio-0",CLOSED-CAPTIONS=NONE,SUBTITLES="subtitles-0"
https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/5f7850d9-9a65-4eee-8810-86a1e18e05fb/10s/rendition.m3u8?fastly_token=NWE3YjU3ZThfY2Q5YmE2ODc2OWFiNTgyZjUxMjc1MzRhNmQxMzA0ZmJmY2RlMGU4ZjBiNDExZGRmNjc3YjQ0OGQ5N2RiOTVmMA%3D%3D
ダッシュ
<AdaptationSet mimeType="text/vtt" lang="en">
<Representation bandwidth="256" id="92cb36a7-c836-4506-a87f-f649316c0cdf">
<BaseURL>http://bcboltbde696aa-a.akamaihd.net/media/v1/dash/live/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf.vtt?akamai_token=exp=1518032494~acl=/media/v1/dash/live/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a*~hmac=3e2edc412c273f1255f2c18bbbcee7afc6a2edb74573f9295b0f05feda69f0e2</BaseURL>
</Representation>
</AdaptationSet>