メインコンテンツまでスキップ

動画をフレームに分割してLLMで解析する with Claude3 Opus

Version: 1
  • GenerativeAI
Download Canvas JSON
logo

動画をLLMへ入力し、プロンプトで指示した条件に応じてコールバック関数を実行できるアプリのデモです。

紹介動画

概要

想定ユーザー

  • 動画をLLMで解析するアプリケーションをStudioで実現したい利用者

テンプレート動作

  • Input
    • 解析したい動画ファイル

      • .mp4形式
      • サンプルファイルはWebアプリからダウンロード可能
    • 環境変数

      環境変数内容備考
      AWS_ACCESS_KEY_IDBedrock Claude3 Opusのアクセスキー
      AWS_SECRET_ACCESS_KEYBedrock Claude3 Opusが利用可能のシークレットキー
  • Output
    • LLMにより解析された動画

利用方法

単体での動作確認

デプロイ方法

  1. 下記のシークレットをCanvasに設定する。

    • AWS_ACCESS_KEY_ID
    • AWS_SECRET_ACCESS_KEY
  2. デプロイボタンを押す。

実行方法

  1. Webアプリにアクセスする。

    WebアプリURLは下記

    https://studio.internal.studio.exabase.ai/92b41f91d8085d62/ws/ui/
  2. 動画のフレーム化

    • 画面左のDownload the hand example videoをクリックし、サンプル動画ファイルを取得する。
    • StreamlitのUI上からサンプル動画をアップロードし、Subsample amountを任意の値に設定し、Parase framesをクリックする。
      • Subsample amountは、LLMによる処理をいくつのフレームごとに行うかを表しています。値が小さいほど小刻みに解析を行うことができますが、API利用コストは高くなります。サンプル動画を用いる場合、3〜5で程よく解析が行われます。
  3. LLMへ入力する準備

    • (オプション)変換したフレーム群のクロッピングを行う。
      • LLMへ処理させたい部分にだけ各フレームを切り取ることができます。
    • (オプション)コールバック関数を指定する。
      • 本アプリではTrigger(boolean)とCounter(integer)の指定ができます。
        • Trigger: プロンプトで指示した条件を満たしたときにtrue/falseを出力させる
        • Counter: 上げられている指の本数や車の数をカウントする
    • 各フレーム画像の処理について、LLMに指示を出すプロンプトの編集を行う。
      • デフォルトで入力されているプロンプトをそのまま使用することも可能です。
  4. 処理の開始と結果の確認

    • 準備ができたらProcessを クリックして処理を開始する。
      • 各フレーム画像は並列処理されます。
    • 処理が終わると、LLMからの回答とコールバック関数の出力がJSON形式で一覧表示される。
  5. 字幕付き動画の生成

    • (オプション) Generate outputをクリックすると動画が生成される。
      • LLMからの回答とコールバック関数の実行結果が表示された字幕付き動画を再生できます。動画プレイヤーのから字幕の切り替えや再生速度の変更ができます。

他のアセットとの連携

本アセットは、単体での実行を想定しております。

関連情報

プロンプトで判定ロジックを変えられる動画像認識エンジン