API機能
BrightcoveのDynamicIngest(DI)APIは、ビデオソースファイルが顧客の保管場所からダウンロードされ、ソースファイルの指定されたレンディションが作成される機能に基づいています。(動的インジェストがファイルにアクセスできる一時的な場所にソースファイルをアップロードするオプションもあります)。このプラットフォームは、クラウド中心であり、グローバルに分散しており、最新のプラクティスに基づき、クラス最高の一貫性と速度を実現します。
ワークフローの概要
メディア全体のトランスコーディングと保存には、多くのシステム/テクノロジーが使用されています。非対応形式:
- コンテンツ管理システム(CMS)API:DI API で使用するビデオオブジェクトを作成します。
- Zencoder :複数のレンディションを作成するビデオをトランスコードします
- Amazon S3 :プロファイル設定に基づいて、マスターとレンディションをストレージに移動します。
- カタログ :ビデオに関連する必要な情報を格納します
最初のトランスコーディングの後、メディアに対して次のアクションを実行できます。
- 再トランスコード:マスターが存在するときに新しいレンディションを作成する (マスターが存在しない場合はエラー)
- 置換 :新しいマスタシェイプをポイントするか、既存のマスタシェイプを置換する
オペレーション
DI API を使用する場合は、取り込みプロファイルの読み取りやインジェスト情報のアカウントへの書き込みなど、さまざまな操作を実行します。DI タスクに必要な操作の完全なリストを次に示します。
- 動画-雲/動画/作成
- ビデオ-クラウド/ビデオ/読み取り
- ビデオ-クラウド/ビデオ/更新
- ビデオクラウド/取り込みプロファイル/プロファイル/読み取り
- ビデオクラウド/取り込みプロファイル/アカウント/読み取り
- ビデオクラウド/取り込みプロファイル/アカウント/書き込み
- ビデオクラウド/取り込みプロファイル/プロファイル/書き込み
- video-cloud / upload-urls / read
クライアントの資格情報を取得するには、 Studio管理ツールを使用するか、次のいずれかのドキュメントを参照してください。
ベストプラクティス
有効なソースロケーション
ダイナミックインジェストでは、次の場所からソースビデオファイルをプルできます。HTTP / HTTPSまたはS3-認証ありまたはなし
例:
- http://example.com/path/to/input.avi
- https://dl.dropboxusercontent.com/u/3641457/Bird_Titmouse.mp4
- s3: //my-bucket/video.mp4
S3 に関する注意事項
動画が保護された S3 バケットにある場合、ファイルにアクセスするための動的インジェストのアクセス権限を設定する方法の詳細については、「S3 での動的インジェストの使用」を参照してください。
プルベースの取り込みを使用する利点には、ワークフローが単純であり、独自のデジタルマスターのリポジトリがあることが含まれます。ただし、これが選択肢にない場合は、次を使用することもできます。ソースファイルのアップロード動画やその他のアセットを、DynamicIngestがアクセスできる一時的な場所にアップロードします。
ソースファイル名
すべての入力 URL は、Brightcoveに送信するときに、 RFC 3986 に従って適切に URL エンコードする必要があります。つまり、 URLのパスで見つかった予約文字はパーセントエンコードされ(スペースがエンコードされる%20
)、URLのクエリで見つかった予約文字はパーセントエンコードされます(スペースは+
または%20
、+
にエンコードされています%2B
)。
NS 事前署名 S3( v2含まれています サイン, 有効期限が切れます かつ AWSAccessKeyId、 とv4含まれています X-Amz-アルゴリズム, X-Amz-クレデンシャル, X-Amz-日付, X-Amz-有効期限, X-Amz-SignedHeaders、 と X-Amz-署名) またGCS(含む サイン, 有効期限が切れます、 と GoogleAccessId)URLはすでに適切にエンコードされている必要がありますそのまま使用できます。
ビデオの取り込み
動画の取り込みに必要なAPI呼び出しは2つあります。
- を呼び出すCMS API Video Cloudシステムでビデオオブジェクトを作成し、そのIDを取得します
- DI APIを呼び出して、ビデオソースファイルのURLを指定し、取り込みプロファイル使用する
基本リクエストのサンプルセットは、次のようになります。
CMS API リクエスト
- HTTPメソッド
- 役職
- URL をリクエスト
- https://cms.api.brightcove.com/v1/accounts/ {account_id} /ビデオ
- リクエスト本文
-
{ "name": "My new video" }
応答データにはid
、次のリクエストで使用されるビデオが含まれます。
API リクエストを取り込み
- HTTPメソッド
- 役職
- URL をリクエスト
- https://ingest.api.brightcove.com/v1/accounts/ {account_id} / videos / {video_id} / ingest-リクエスト
- リクエスト本文
-
{ "master": { "url": "http://host/master.mp4" }, "profile": "high-resolution" }
を参照してくださいクイックスタート API呼び出しの詳細については、作業サンプル。
にとってCMS API Video Cloudシステムでビデオを作成するには、を呼び出します。 CMS APIの概要。name
ビデオは必須であり、ビデオメタデータに含まれる名前とその他の文字列(などdescription
)は URI エンコードする必要があります。
サンプルアセット
Brightcove ラーニングサービスには、ダイナミックインジェストの開始時に試すためのサンプルアセットがいくつか用意されています。これらのアセットには、複数の言語での短い動画、画像、WebVTT キャプションが含まれます。
ビデオを置き換える
ビデオを新しいバージョンまたは新しいレンディションのセットに置き換えるには、Dynamic Ingest API通話はまったく同じです新しいビデオの取り込み -唯一の違いは、事前に電話をかける必要がないことです。 CMS API Video Cloudシステムでビデオオブジェクトを作成し、そのIDを取得します。指定した URL のソースビデオファイルが、最初に取り込まれたものと同じである場合は、新しいレンディションのセットを取得します。ソースファイルが新しい場合は、既存のビデオを置き換えます。再変換が完了するまで、すべてのビデオは既存のレンディションで再生できます。
動画を再トランスコードする
あなたがすることを選択した場合マスターをアーカイブするを介してビデオを取り込んだときDynamic Ingest APIまたはStudioUpload Moduleの場合、マスターからビデオを再トランスコードすることもできます。この場合も、取り込みリクエストの URL は同じになりますが、リクエスト本文には次のものが含まれます。
// request
POST /v1/accounts/{account_id}/videos/{video_id}/ingest-requests
// request body
{
"master": { "use_archived_master": true },
"profile": "videocloud-default-v1"
}
画像
あなたは使用することができますDynamic Ingest APIビデオからポスターやサムネイル画像をキャプチャしたり、独自の画像を追加したりします。詳細については、を参照してください。画像とDynamicIngest API。
キャプションを取り込む
また、Dynamic Ingestを使用して、WebVTTキャプションをビデオに追加したり、既存のビデオにアップロードしたりすることもできます。詳細については、を参照してください。 WebVTTファイルの取り込み。
DRMとHLSe
Dynamic Ingestは、BrightcoveでサポートされているDRMタイプのいずれかを使用するビデオを処理します。HLSeもサポートされています。
レンディションのアーカイブ
デフォルトでは、すべてのビデオおよび画像レンディションが自動的にアーカイブされます。レンディションのアーカイブをオフにしたい場合は、 Brightcoveサポートに連絡する。ご了承くださいデジタルマスター取り込みプロファイルで指定されている場合はアーカイブされます。
通知
1つ以上のコールバックURLを指定して、取り込みプロセスの結果の通知を受け取ることができます。指定する URL は、POST リクエストを受け付けることができるアプリ用のものである必要があります。通知は JSON 形式で送信されます。
通知の受信と解釈の詳細については、通知:動的取り込みとCMS API