はじめに
CMS API と Playback API はいずれも Video Cloud のビデオデータにアクセスするためのものです。このトピックでは、両 API の違いと、それぞれを適切に使い分けるためのベストプラクティスを説明します。
CMS とPlayback API の違い
CMS API と Playback API はどちらも同じ基盤となるビデオデータにアクセスしますが、両者にはいくつかの重要な違いがあり、用途に応じて使い分ける必要があります。
一般的に、CMS API は Video Cloud を CMS システムと統合するなど、バックエンド用途を想定しています。一方の Playback API は、プレーヤーやビデオポータル向けに動画・プレイリストデータを取得するフロントエンド用途を想定しています(たとえば Brightcove プレーヤーの catalog API や playlist API は、内部で Playback API を利用しています)。
両 API の主な違いを次の表にまとめます。
| 項目 | CMS API | Playback API |
|---|---|---|
| 操作の種類 | 作成、読み取り、更新、削除 | 読み取り専用-Playback API を使用してデータを変更することはできません |
| 業務範囲 | 動画データのあらゆる側面を管理する | 特定の動画や再生リストを取得したり、動画を検索する |
| [ 認証] | 一時的アクセストークン | パーマネントポリシーキー |
| データの鮮度 | キャッシュなし、常に現在 | 最大 20 分間キャッシュされます。 |
| 応答の速度 | 遅い | より速い(キャッシュのため) |
| アクセス | サーバー側のみ (COR 無効) | サーバー側またはクライアント側 (COR 有効) |
| データ | 動画・再生リストのリクエストにはビデオソース URL が含まれないため、URL を取得するには別途リクエストが必要です | 動画と再生リストのリクエストには、動画ソース URL が含まれます |
メディア URL の使用
レンディション、画像、その他アセットの URL は固定ではない点に注意してください。Brightcove はメディアアセットのストレージ構成を定期的に変更しており、その際に特定アセットの URL が変わる場合があります。ページやアプリ内でこれらのアセットの URL をハードコーディングしていると、いずれリンクが切れてしまいます。
また、すべての URL にはコンテンツセキュリティ上の理由から TTL トークンが付与されており、URL はデフォルトで 6 時間後に有効期限を迎えます。トークンの有効期間は最大 365 日まで延長でき、より長いトークンが必要な場合は Brightcove サポートにお問い合わせください。ただし、TTL はアセットが CDN にキャッシュされる最大時間を表すものであり、トークンの有効期限が切れる前に URL が変更されないことを保証するものではない点にご注意ください。
VOD コンテンツの場合、マニフェスト URL に短い TTL を指定できます。詳細については、Short Manifest TTL ドキュメントを参照してください。
メディアへのリンクが切れるのを防ぐ最も確実な方法は、実行時に CMS API または Playback API を使って Video Cloud からメディアを取得することです。
URL のキャッシュ
Brightcove は、Playback API および CMS API へのリクエストをキャッシュすることを推奨しません。
静的 URL
Brightcove は、Video Cloud ライブラリ内のアセットに対して、ビデオマニフェストファイルへの静的 URL を提供しています。これにより、独自の CMS でコンテンツを管理しつつ、カスタムのセキュリティスキームで配信する柔軟性が得られます。
既存のシステム構成上、Playback API をあらかじめ呼び出すことが難しいお客様に特に適しています。プレーヤーもこの機能を利用でき、API 呼び出しを 1 回省略することで再生開始時間を短縮できます。
詳細については、静的 URL 配信ドキュメントを参照してください。
Short manifest TTL
再生ワークフローでは、Brightcove プレーヤーは Playback API(または Edge Auth API)を呼び出し、ポリシーキー(または JWT)を認証として提供することで、再生を開始するために利用可能なマニフェストを取得します。
これらの API を高負荷環境でも安定して動作させるために、キャッシュ層が導入されています。このキャッシュ層は、Signed Manifest URL API および Playback API のレスポンスを保存します。Signed Manifest はキャッシュされるため、TTL はキャッシュ内での保持時間にプレーヤーが使用するためのバッファを加えた長さを確保する必要があります。
Short manifest TTL を使用すると、視聴者は中断なく再生を続けることができます。また、すべての Dynamic Delivery 機能は Short manifest TTL と連携して動作します。
この機能は Playback API ユーザーのみが利用可能です。有効にするには、Brightcove サポートにお問い合わせください。
参照 ID の競合
このセクションは CMS API にのみ該当します。
参照 ID の一意性を保つため、CMS API は参照 ID が割り当てられた動画への操作後、その ID を最大 3 分間ロックします。そのため、短時間にリトライしたリクエストが失敗を繰り返した場合や、参照 ID を付与した動画を削除した直後に同じ参照 ID を再利用しようとした場合に、409 エラーが返されることがあります。詳しくはエラーメッセージリファレンスを参照してください。