Media API 全般

このトピックでは、Video Cloud Media API の概要を説明します。

Media API は、Video Cloud アカウント内のコンテンツおよびメタデータにアクセスするための REST ベースの API です。Media API は、REST ベースの API であるため、クライアントだけでなく、動的に生成した Web ページや、サーバーサイドの同期プロセスなど、Web アプリケーションのさまざまな場所からのアクセスが可能です。

アカウント内のメタデータに対する不正なアクセスを避けるために、API 呼び出しの際にパラメータとして渡すトークンによって、API へのアクセスは保護されています。他の Web ベースの API と同様に、Video Cloud によってトークンが生成され、ユーザーによって保護されます。

この文書では、Web アプリやモバイル アプリに画像、動画、特定のレンディションなどの Video Cloud メディアを埋め込むためのベスト プラクティスを概説します。

URL を通して Video Cloud メディアにアクセスする

プレーヤのデータ バインドを通してではなく、Video Cloud アカウントにあるメディア ファイルに直接アクセスしたい場合があります。Web アプリのページに動画に関する情報を表示する場合や、アプリ ストアの要件を満たすため、モバイル アプリで特定のメディア ファイルにアクセスする場合です。

このトピックでは、ActionScript から Media API のクエリを行うための基本的な手順を示します。このトピックの読者は、プログラミング言語の ActionScript に習熟しており、Flash が ActionScript で HTTP 要求をする際に抵触する、クロスドメインに関するセキュリティ上の制約について理解していることを前提としています。Brightcove のサーバーには、クロスドメインの呼び出しを実現するためのポリシ ファイルがあります。続きを読む前に、以下のトピックも確認してください。

このトピックでは、JavaScript から Media API のクエリを行うための基本的な手順を示します。このトピックの読者は、プログラミング言語の JavaScript に習熟しており、ブラウザが JavaScript で HTTP 要求をする際に抵触する、クロスドメインに関するセキュリティの制約について理解していることを前提としています。続きを読む前に、以下のトピックも確認してください。

Brightcove Media API に関するリファレンスは、ここをクリックしてください。Media API には以下のモジュールがあります。

  • 動画読み取り API
  • プレイリスト読み取り API
  • 動画書き込み API
  • プレイリスト書き込み API

さらにこのリファレンスでは、以下の関連オブジェクトについても説明します。

このトピックでは、Media API の読み取りメソッドが返す Video、Playlist、Image、Rendition、CuePoint、LogoOverlay オブジェクトのリファレンスを提供します。

これは Media API が返すエラーメッセージへの言及で、エラーをタイプ別に分類するための数字エラーコードが含まれています。

エラー コードの番号

Media API が返すエラー メッセージには、タイプによってエラーを分類する数字のエラー コードが含まれています。

2007 年 3 月に Brightcove Media API がベータ版として初めてリリースされてから、Media API の使い方について Brightcove とお客様が経験を重ねる中で、Brightcove は数点の変更を行いました。このトピックでは、現時点までに行った変更の一覧を示します。

Common questions about the Video Cloud Media API.

このトピックでは、Video Cloud Studio の [API 管理] ページを使用して、API トークンを表示およびコピーする方法を説明します。

Video Cloud Media API を使用する場合、メソッド コールにはトークンが必要です。トークンは Video Cloud から各アカウントに対して発行され、API を使用したアカウントへのアクセスを可能にします。トークンは、token=<tokenString> という URL パラメータとして、呼び出しに付加します。tokenString は URL エンコードしたトークンです。

注:通常、Media API トークンの末尾は 1 つ以上のドット(.)です。API トークンを使用するときは、必ずこのドットも入れてください。カットアンドペーストをすると、忘れる場合が多いようです。

このトピックでは、Video Cloud Studio の [API 管理] ページを使用して、メディア API トークンを表示およびコピーする方法を説明します。

Brightcove とその開発者コミュニティは、Brightcove の公開、プレーヤ、および広告機能を使用する能力を向上させるために、便利なソフトウェア開発キットをいくつか作成しました。

Media API SDK

Brightcove に詳しい開発者は、広く普及しているいくつかの言語のために、Media API メソッドを HTTP 要求でラップする Media API SDK を作成しました。簡単な API アクセスのためにネイティブ クラスとしてアプリケーションにそれらを含めることができます。現在利用可能な Media API SDK は次のとおりです。

このトピックは、Brightcove とその開発者コミュニティが作成した開発キット(SDK)をナビゲートするのに役立ちます。このキットにより、Brightcove の公開、プレーヤ、および広告機能の利用方法を向上させることができます。

このトピックは、Brightcove とその開発者コミュニティが作成した開発キット(SDK)をナビゲートするのに役立ちます。このキットにより、Video Cloud の公開、プレーヤ、および広告機能の利用方法を向上させることができます。

ブラウザのセキュリティ ルールは、Media API を使用した JavaScript の通信を妨げる可能性のある障害となります。解決策の 1 つはサーバーサイド プロキシを使用することです。自由な通信が可能で、しかもトークンをセキュアに保てる(トークンを JavaScript コードで持つ必要がなくなるため)というメリットがあります。もう 1 つの有効な手段が、動的スクリプト タグです。

スクリプト タグの src 属性は、ブラウザによるドメインチェックを受けません。つまり、src に別のサーバーの URL を設定することにより、クロスドメインの通信を効果的に許可できるということです。ただし、src を要求したときにサーバーから返されるのは、有効な JavaScript である必要があります。幸い、Brightcove の Media API をはじめとした多くのサービスで、「callback」パラメータの指定が可能です。こうすると、callback パラメータの値を名前とする関数の呼び出しで、JSON の応答がラップされます。次に例を示します。

このトピックでは、JavaScript で XMLHttp を使用して、サーバーサイド プロキシ経由で Media API を呼び出す方法の概要を説明します。JavaScript で XMLHttp オブジェクトを使用して Media API の呼び出しを行うということは、サーバーから別のデータを取得するためにページをリロードする必要がないということです。さらに、「インライン」要求を行えば、現在のページの変更したい部分だけを更新することができます。この手法により、JavaScript の柔軟性と AJAX のような双方向性を、サーバーサイド コードのセキュリティのもとで実現できます。ただし、データの取得をページ上の JavaScript に依存しているため、SEO のメリットはありません。

興味をお持ちの場合は、以下の解説をご覧ください。

Media API は HTTP 経由でアクセスする REST ベースのサービスで、クライアントサイドおよびサーバーサイド アプリケーションとの連携が非常に容易にできます。しかし、システム設計当初からセキュリティを考慮していなかった場合には、この容易さがアプリケーションの弱点となることがわかっています。

いかなる Web アプリケーション開発でも、セキュリティの設計は欠かせません。具体的には、システム内の機密情報やリソースを特定し、それらに対するアクセスをどこでどのように行うかを決定し、その場所とアクセス制御により効果的に無許可のユーザーを排除し、情報をセキュアに保つ、ということです。

このトピックで推奨するのは、アプリケーションにおける Media API とのインタラクションに関する事項であり、アプリケーションの他の部分はすでにセキュアな状態であることを前提としています。

何が危険かを知る

Brightcove API におけるセキュリティの要は、API トークンです。API トークンは API 呼び出しに付加する英数字の文字列で、その目的は、使用しているアプリケーションをシステムに認証させること、およびトランザクションを許可することです。用途別に次の 3 種類のトークンがあります。

Brightcove Media API は、Brightcove メディア ライブラリへの強力なアクセス機能を提供します。HTTP ベースの REST API をサポートする任意の数のプログラミング言語から、動画とプレイリストに関する情報を抽出し、動画とプレイリストを修正することもできます。

Brightcove プラットフォームが Web サイトやアプリケーションを確実に稼動させることに関して、お客様からのご信頼をいただいております。弊社では、悪用や独占を防ぐため全アクセス ポイントの保護を確実に行う必要があります。アクセスに制限がないと、この共有環境を一部のユーザーが使い尽くし、様々な対話の質や性能の大幅な低下を全ユーザーが経験する可能性があるからです。

これを念頭に置きながら、安心して Brightcove サービスと対話できるアプリケーションを開発する方法を理解することは重要です。Brightcove Media API を使用した開発を支援するために、このドキュメントではできるだけ堅牢になるようにシステムを保護するための実装したメカニズムを概説します。また、エンド ユーザーがお客様の期待するサービス品質を享受できるように、アプリケーションを安全で信頼できるものにするための手順も紹介します。

検索エンジンに対するページの最適化は、Media API を使用することではるかに容易になります。検索エンジンによって検出可能なサイトの深部まで、動画のメタデータを取り込むことができるからです。メタデータを利用したページを、ブラウザに到達する前に、アプリケーション サーバで Media API を使用して動的に生成することがポイントです。

HTML ボックスに戻る

Flash は Web サイトに最適ですが、Flash 動画のコンテンツは検索エンジンにインデックスされません。また、ページ上のスクリプトが取得するコンテンツも、インデックスされません。検索エンジンにインデックスされるのは、ページがロードされた時点でページ上に存在する、純粋な HTML のコンテンツのみです。検索エンジンのクローラは、その文字列をインデックスするだけです。ページ上にメタデータがなければ、検索エンジンにはインデックスされません。(注:動画検索エンジンはまた異なり、コンテンツを取得するためにページを巡回しません。)

ここでは、FTP バッチ プロビショニング マニフェスト ファイルで使用する可能性のある非推奨の要素について説明します。これらの要素は機能的ではありますが、非推奨です。 このため、表に記載されている要素を使うことを避けるために、すべてのユーザーが本トピックを読むことを推奨しています。

FTP バッチ プロビショニング マニフェストの最新の仕様は以下の通りです。XML マニフェストのリファレンス

ここでは、FTP バッチ プロビショニング マニフェスト ファイルで使用する可能性のある非推奨の要素について説明します。これらの要素は機能的ではありますが、非推奨です。 このため、表に記載されている要素を使うことを避けるために、すべてのユーザーが本トピックを読むことを推奨しています。

FTP バッチ プロビショニング マニフェストの最新の仕様: XML マニフェストのリファレンス

プレーヤの API アクセスを有効にする方法

Video Cloud App SDK for iOS では、iPhone、iPod Touch、および iPad 機器に Video Cloud 動画を配信するための Apple iOS 向けネイティブ アプリケーションを独自に開発できます。

v 2.0.2 の紹介

このリリースでは、Apple API と競合しないように Twitter エンジンでのメソッド名を stringWithNewUUID から mgStringWithNewUUID に変更することによって、バグを修正しました。

サポートされる iOS 機器および OS バージョン

Video Cloud SDK for iOS v 2.0 は以下をサポートします。

Video Cloud App SDK for iOS では、iPhone、iPod Touch、および iPad 機器に Video Cloud 動画を配信するための Apple iOS 向けネイティブ アプリケーションを独自に開発できます。