Media API で動画コンテンツにアクセスする

Product
Video Cloud
対象となる役割
開発者
バージョン
Brightcove 5
モジュール
Media API
エディション
Pro, Enterprise

Video Cloud Media API の読み取りメソッドの基本的な使用例では、Video Cloud アカウントにある動画やプレイリストのメタデータへのアクセスに焦点を当てています。このトピックでは、メタデータだけでなく動画ファイル自体にアクセスするために Media API をどのように使用するかを説明します。たとえばこのテクニックを使い、Video Cloud から動画のコピーをダウンロードできます。このトピックで説明した方法では、プログレッシブ ダウンロード (PD) によって動画を配信できますが、ストリーミング (FMS) では配信できません。ご利用の Video Cloud アカウントがストリーミング動画配信向けに設定されている場合、ストリーミング アカウントからプログレッシブ ダウンロードによって動画を配信する方法について、このトピックのストリーミング アカウントから動画コンテンツにアクセスするのセクションを参照してください。

Media API に関する重要なお知らせ

Media API を使用する際、下記の点にご注意ください。

動画や画像ファイルへの URL はハードコードしないでください サムネイル、スチル画像、動画などのメディアファイルへの URL は、ご使用のwebページやアプリケーションにハードコードすべきではありません。 Media API では、メディアファイルへの現在の正しい URL を常に返しますが、このメディアファイルへの URL は、変更される場合があります。 メディアファイルへの URLは、毎回 Media API を使用して取得するようにするか、キャッシュする場合でも、6 時間以上キャッシュされたものを使用することは避けてください。

動画や画像 URL のキャッシュについて サムネイル、スチル画像、動画などのメディアファイルへの URLは、パフォーマンス面を考慮し、クライアント側にキャッシュすることに問題ありませんが、 長くても毎6時間ごとに定期的にキャッシュをリフレッシュしてください。

詳細は、Best Practices for Embedding Video Cloud Media をご参照ください。

Media API の読み取りメソッドを使用して動画を取得する場合、メソッド呼び出しの video_fields パラメータで、返してほしい動画のプロパティを指定します。たとえば、動画の名前と長さを取得するには、find_video_by_id 呼び出しを以下のように使用します。

http://api.brightcove.co.jp/services/library?command=find_video_by_id&video_id=149210661776
 &video_fields=name,length&token=0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.

Video オブジェクトの FLVURL プロパティは、動画の URL を表します。メタデータだけでなく、動画自体の URL を取得したい場合は、以下のように fields パラメータに FLVURL を追加します。

http://api.brightcove.co.jp/services/library?command=find_video_by_id&video_id=149210661776
 &video_fields=name,length,FLVURL&token=0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.

動画のエンコーディングが FLV (VP6) または H.264 のいずれであっても、Video オブジェクトの FLVURL プロパティは動画の URL を表すことに注意してください。

上に述べたように、このトピックで説明した方法は、プログレッシブ ダウンロード (PD) メディア アセットにのみ使用できます。ストリーミング (FMS) メディア アセットには使用できません。Media API に詳しくない場合は、Media API モジュールの基礎をお読みください。

ストリーミング アカウントから動画コンテンツにアクセスする

Media APIを使用して、ストリーミング コンテンツ向けに設定された Video Cloud アカウントからプログレッシブ ダウンロードによって動画アセットを配信することができます。ストリーミング アカウントをユニバーサル デリバリ サービス (UDS) 用に設定することにより、Media API 呼び出しに応答したプログレッシブ ダウンロードによる配信を有効化できます。UDS ではリモート アセットを使用できないことに注意してください。ストリーミング/UDS アカウントからプログレッシブ ダウンロードによって動画を配信することを示すため、Media API 読み込みメソッドをオプションの media_delivery=http 引数と共に使用します。

http://api.brightcove.co.jp/services/library?command=find_video_by_id&video_id=149210661776
 &video_fields=name,length,FLVURL&media_delivery=http&token=0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.

詳細は、動画配信オプションを設定するを参照してください。

Apple HLS レンディションにアクセスする

Media API を使って、動画の Apple HTTP ライブストリーミング (HLS) レンディションを iOS 機器に配信できます。動画の Apple HLS レンディションを配信することを示すため、Media API 読み込みメソッドをオプションの media_delivery=http_ios 引数と共に使用します。

http://api.brightcove.co.jp/services/library?command=find_video_by_id&video_id=149210661776
 &video_fields=name,length,videoFullLength&media_delivery=http_ios&token=0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.

これによってマスタ インデックス ファイルの HTTP URL が videoFullLength パラメータとして返されます。Apple HLS 動画レンディションの作成と配信についての詳細は、Apple HTTP ライブ ストリーミングで動画を配信するを参照してください。

多重ビットレート ストリーミング レンディションにアクセスする

この動画に多重ビットレート ストリーミング用の複数のレンディションが含まれる場合、返される URL はデフォルトのレンディション用です。レンディションをすべて取得したい場合、返してほしいフィールドに renditions プロパティを含めます。

http://api.brightcove.co.jp/services/library?command=find_video_by_id&video_id=149210661776
 &video_fields=name,renditions&token=0Z2dtxTdJAxtbZ-d0U7Bhio2V1Rhr5Iafl5FFtDPY8E.

デフォルトでは renditions プロパティは、返されたフィールドに含まれています。複数のレンディションが存在し、適切な URL トークンをお持ちの場合、レンディションが返されます。ただし、希望のフィールドを指定し、フィールドに renditions を含めなかった場合を除きます。動画配信オプションを設定するのトピックで説明したように、URL にアクセスできるのは、ストリーミングだけでなく、プログレッシブ ダウンロードによる動画配信も有効化している場合だけです。Media API オブジェクト リファレンスでは、Rendition オブジェクトで返されるプロパティを示しています。

動画 URL のセキュリティ

動画のメタデータにアクセスする場合よりも、動画アセットの URL へのアクセスは慎重に保護する必要があります。セキュリティを高めるため、Media API では、動画の FLVURL プロパティにアクセスするために特別なトークンが必要となっています。通常の Media API の読み取りおよび書き込みトークンは、この目的では使用できません。トピック Media API トークンの管理で、FLVURL プロパティへの読み込みまたは書き込みアクセス用の特別な Media API トークンを取得する方法を確認してください。

関連トピック