mcpField
B
byted-tos-video-process

byted-tos-video-process

github.com/bytedanceクリエイティブ・メディア47745 回インストール今日更新
リポジトリ

byted-tos-video-process について

Volcengine TOS 内の動画を調べて処理するスキルです。メタデータの確認、フレーム抽出、クリップ結合に対応し、TOS 上の動画を扱うワークフローに利用できます。

主な機能

  1. 01動画形式・長さ・解像度の確認
  2. 02指定時刻のフレーム取得
  3. 03時刻や間隔を指定した一括取得
  4. 04複数動画クリップの結合
  5. 05取得画像の TOS への保存

活用シーン

  1. 01動画の長さ・コーデック・解像度の確認
  2. 02動画から指定場面を抽出
  3. 03タイムライン画像の一括生成
  4. 04TOS 内の動画クリップの結合

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bytedance/agentkit-samples --skill byted-tos-video-process

インストール後、Claude Code で/byted-tos-video-processを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.gitignore
LICENSE
README.md
REFERENCE.md
requirements.txt
WORKFLOWS.md
scripts/
tos_jobs_client.py
video_concat.py
video_info.py
video_snapshot.py
video_snapshots.py

詳細

Volcengine TOS Video Process

Volcengine TOS に保存された動画を調査し、フレームを抽出して、動画クリップを連結します。メタデータの参照、単一スナップショットの取得、複数フレームのキャプチャ、動画の連結、TOS から TOS への保存に対応しています。

セットアップ(環境ごとに1回)

初回使用時に依存関係をインストールします。

cd {baseDir}
pip install -r {baseDir}/requirements.txt

その後、Python 3.7 以降でスクリプトを実行します。

python3 {baseDir}/scripts/<script>.py <args>

tos の ModuleNotFoundError が表示された場合は、依存関係を再インストールしてください。

環境変数

このスキルでは、metadata ブロックで宣言された TOS ID を使用します。一般的な実行時変数は次のとおりです。

環境変数必須説明
TOS_ACCESS_KEYはいTOS アクセスキー ID
TOS_SECRET_KEYはいTOS シークレットアクセスキー
TOS_ENDPOINTはいTOS エンドポイント URL
TOS_REGIONはいTOS リージョン
TOS_BUCKETはい動画を保存するソースバケット
TOS_OBJECT_KEYいいえ動画のソースオブジェクトキー。一部のスクリプトでは代替値を指定できますが、video_info.py と video_snapshot.py はこの値を環境変数から読み取ります
TOS_SECURITY_TOKENいいえ一時的な認証情報を使用する場合の STS セッショントークン
TOS_SAVEAS_BUCKETいいえスナップショットの保存先となるデフォルトのバケット
TOS_SAVEAS_OBJECT_PREFIXいいえスナップショットの保存先となるデフォルトのキーのプレフィックス

クイックスタート(よく使うタスク)

# Read video metadata (resolution, duration, codec)
TOS_OBJECT_KEY=demo.mp4 python3 {baseDir}/scripts/video_info.py

# Capture a single frame at 5 seconds
TOS_OBJECT_KEY=demo.mp4 python3 {baseDir}/scripts/video_snapshot.py --time 5000 --output frame_5s.jpg

# Capture multiple frames and save locally
python3 {baseDir}/scripts/video_snapshots.py --key demo.mp4 --timestamps 1000 3000 5000

# Capture multiple frames by interval
python3 {baseDir}/scripts/video_snapshots.py --key demo.mp4 \
  --interval-ms 5000 --duration-ms 60000 --output-dir snapshots

# Capture multiple frames and save to TOS
python3 {baseDir}/scripts/video_snapshots.py --key demo.mp4 --timestamps 1000 3000 5000 --save-to-tos

# Concatenate multiple video clips
python3 {baseDir}/scripts/video_concat.py --key clip1.mp4 --fragments "clip2.mp4,clip3.mp4" --output-key merged.mp4 --wait

利用可能なスクリプト

スクリプト用途
scripts/video_info.py動画のメタデータ(形式、再生時間、解像度、コーデック、フレームレート)を読み取ります。
scripts/video_snapshot.py指定したタイムスタンプで単一フレームをキャプチャします。ローカルへの保存、または TOS から TOS への保存に対応しています。
scripts/video_snapshots.pyタイムライン上の複数のフレームを一括でキャプチャします。明示的なタイムスタンプ、間隔モード、並行実行、TOS から TOS への保存に対応しています。
scripts/video_concat.py複数の動画クリップを1つに連結します。TOS ゲートウェイの media_jobs 非同期 API を job_type=Concat で使用します。完了までポーリングする --wait に対応しています。

video_snapshots.py と video_concat.py では、--key 形式でオブジェクトを選択できます。video_info.py と video_snapshot.py は、現在 TOS_OBJECT_KEY を環境変数から読み取ります。video_snapshots.py では、複数バケットのテスト用に --bucket による上書きにも対応しています。詳しい使い方は、各スクリプトを -h 付きで実行してください。

対象外

  • 動画の完全なトランスコードパイプライン(このスキルの対象は、メタデータの参照、フレーム抽出、連結のみです)。
  • 画像のみ、またはドキュメントのみのワークフロー(byted-tos-image-process または byted-tos-doc-process を使用してください)。
  • TOS 以外のストレージプロバイダー。

ルール

  • 認証:認証には、上記の metadata ブロックで宣言された TOS ID を使用します。スクリプトごとに --key でオブジェクトの選択を上書きできます。
  • タイムスタンプの単位:すべてのタイムスタンプパラメーターの単位はミリ秒です(例:5000 = 5秒)。
  • タイムスタンプの検証:スナップショットのタイムスタンプが動画の再生時間を超えないようにしてください。必要に応じて、まず video_info.py で再生時間を確認してください。
  • TOS への保存:--save-to-tos と TOS_SAVEAS_BUCKET/TOS_SAVEAS_OBJECT_PREFIX を使用すると、ローカルにダウンロードせずにスナップショットを TOS に保存できます。
  • パラメーターの正式な参照元:video/snapshot のパラメーター全体については、Volcengine TOS の公式ドキュメントが正式な参照元です。不明な場合は、REFERENCE.md を確認してください。
  • 言語:ユーザーの希望する言語で返信してください。

関連資料

コメント