Cloud Service
Video Intelligence API
動画を送るだけで物体・シーン・テキスト・不適切表現を自動抽出。モデルを作らず動画解析を組み込める。AWS の Rekognition Video に相当。
- 1.学習済みモデルへ動画を渡すだけでラベル・ショット・文字・不適切表現を時刻付きで検出できる。
- 2.Cloud Storage 上の動画をバッチ解析でき、ライブ配信向けのストリーミング解析にも対応する。
- 3.AWS の Rekognition Video に相当し、静止画は Vision AI が担当する。
Video Intelligence API は、Google が事前に学習させた動画解析モデルを API として提供するマネージドサービスです。動画を渡すだけで、画面に何が写っているか、どこでシーンが切り替わったか、どんな文字が映っているかといった情報が時刻付きで返ってきます。自分でモデルを訓練・運用する必要はありません。
解決する課題
- 大量の動画から何が映っているかを把握したいが、機械学習モデルを自前で訓練・運用する余力がない
- 動画内の**シーンの切れ目(ショット)**を自動で見つけ、サムネイルや章立てに使いたい
- 動画に映る文字(テロップ・看板)を OCR して検索可能にしたい
- アップロードされた動画に不適切なコンテンツが含まれていないかを自動で判定したい
- 動画の中から特定の物体やロゴ、人物の動きを追跡したい
主要概念と用語
- ラベル検出: 動画内のおもな物体・概念・アクションにタグを付け、信頼度スコアと時刻を返す機能。フレーム単位・ショット単位・動画全体の粒度で取得できる
- ショット変更検出: カメラのカットやシーンの切り替わりを検出し、その境界時刻を返す
- テキスト検出(OCR): 動画に映る文字を読み取り、出現時刻と画面内の位置を返す
- オブジェクトトラッキング: 物体を検出し、フレームをまたいでその位置を矩形(バウンディングボックス)で追跡する
- 明示的コンテンツ検出: アダルトなど望ましくない内容の度合いをフレームごとに推定する
- ロゴ認識: 動画内に映るブランドのロゴを検出する
- 音声文字変換 / 字幕: 動画中の発話をテキストに変換する機能
- アノテーション: API が返す解析結果(検出種別・信頼度・時刻・位置など)の総称
- 信頼度スコア: 検出結果がどれだけ確からしいかを示す 0 から 1 の値
仕様・制限・クォータ
- 入力動画は Cloud Storage 上のオブジェクト指定か、リクエストにBase64 で直接埋め込む形で渡す
- 解析は**長時間かかる非同期処理(ロングランニングオペレーション)**が基本で、ジョブを開始して後から結果を取得する
- ライブ映像に近い用途向けに、フレームを逐次送って解析するストリーミング解析も提供される
- 1 リクエストの動画サイズや長さには上限があり、対応する動画フォーマットも決まっている
- API 呼び出しには**プロジェクト単位のレート上限(クォータ)**があり、必要に応じて引き上げを申請する
- 具体的なサイズ・長さ・レート・対応形式の数値は変動するため、利用前に公式ドキュメントで最新値を確認する
内部の仕組み
利用者から見ると Video Intelligence API はステートレスな REST / gRPC エンドポイントです。動画を指定して解析を依頼すると、Google 側で事前学習済みのディープラーニングモデルが推論を実行します。動画は静止画より処理量が大きいため、多くの機能は即時応答ではなく非同期のオペレーションとして実行され、完了後にアノテーションを JSON で取得します。モデルの訓練・更新・スケーリングはすべて Google が管理するため、利用者はインフラを意識しません。1 リクエストで複数の機能(ラベル+ショット検出+テキスト検出など)をまとめて指定でき、内部では機能ごとにモデルが呼ばれて結果が統合されます。
1 回のリクエストで必要な検出タイプだけを指定すると、無駄な解析を避けてコストとレイテンシを抑えられる。全機能を常に有効化しない。
設計パターン / ベストプラクティス
- イベント駆動連携: Cloud Storage への動画アップロードをトリガーに Cloud Functions / Cloud Run を起動し、解析ジョブを開始する
- 解析は時間がかかるため、ジョブ ID を保存して非同期で結果を受け取る設計にする
- 信頼度スコアにしきい値を設け、低スコアの結果は採用しないか人手レビューに回す
- 同じ動画を何度も解析しないよう、結果をキャッシュ・永続化する
- ライブ用途ではストリーミング解析、保存済み動画ではバッチ解析と、用途で API を使い分ける
運用・監視
- API の呼び出し回数・エラー率・オペレーションの所要時間は Cloud Monitoring で可視化する
- 監査ログ・アクセスログは Cloud Logging に集約し、誰がどの動画を解析したか追跡する
- レート上限(クォータ)超過のエラーを監視し、リトライは指数バックオフで実装する
- 長時間ジョブは**完了通知(Pub/Sub 連携など)**で受け取り、ポーリングのコストを抑える
- コスト超過を早期に検知するため予算アラートを設定する
コスト
- 課金は基本的に解析した動画の長さ(分)× 有効化した機能種別で決まる従量制
- 1 本の動画で複数の機能を指定すると、機能ごとに加算される点に注意する
- 一定量までの無料枠が用意される場合があるが、具体的な単価・無料枠は変動するため公式の料金ページで確認する
- 不要な機能を外す・結果を再利用する・解析する区間を絞ると、コストを抑えやすい
課金が動画の長さに比例するため、長時間の動画を全機能で解析すると費用が大きくなる。必要な区間や機能に絞ること。
セキュリティ
- アクセスは IAM で制御し、サービスアカウントには最小権限のロールだけを付与する
- 動画を保存する Cloud Storage バケットは公開せず、**暗号化(保存時・転送時)**を有効にする
- 人物が映る動画はプライバシー規制への配慮が必要で、保持期間やアクセス範囲をポリシーで定める
- 解析対象に個人情報や機微な映像が含まれる場合は、アクセスを限定し監査ログで追跡する
関連サービス・比較
静止画の解析は Vision AI、動画の解析は Video Intelligence API が担当します。動画から物体や文字を時系列で抽出したい場合は本サービスを選びます。
| 観点 | Video Intelligence API | Vision AI |
|---|---|---|
| 対象 | 動画 | 静止画 |
| おもな機能 | ラベル・ショット・OCR・物体追跡 | ラベル・OCR・顔・セーフサーチ |
| 時刻情報 | 検出ごとに出現時刻を返す | 1 枚の画像内の結果を返す |
| 処理方式 | 非同期バッチとストリーミング | おもに同期と非同期バッチ |
| 課金 | 動画の長さと機能種別の従量制 | 解析画像数と機能種別の従量制 |
ハンズオン / CLI例
# Cloud Storage 上の動画に対してラベル検出を実行する
gcloud ml video detect-labels gs://my-bucket/sample.mp4
# シーンの切れ目(ショット変更)を検出する
gcloud ml video detect-shot-changes gs://my-bucket/sample.mp4
# 動画に映る文字を検出する(OCR)
gcloud ml video detect-text gs://my-bucket/sample.mp4
Google Cloud Service
Video Intelligence APIを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
AI / 機械学習
比較で見る軸
クラウド: Google Cloud / カテゴリ: AI / 機械学習 / 難易度: basic
導入後に効く点
Cloud Storage 上の動画をバッチ解析でき、ライブ配信向けのストリーミング解析にも対応する。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- Google Cloud
- カテゴリ
- AI / 機械学習
- 難易度
- basic
- 関連資格
- —
- 設計柱
- operational / cost
判断チェックリスト
- 自社の用途が「AI / 機械学習 / operational」に近いか確認する。
- 強みである「学習済みモデルへ動画を渡すだけでラベル・ショット・文字・不適切表現を時刻付きで検出できる。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。