Communitygithub.com

Git-FED/MuseAi-Skill-video-editing

ffmpeg を使用して縦型動画(9:16)のトリミング、字幕焼き込み、合成を行います。

MuseAi-Skill-video-editing とは?

このスキルは、ソース動画を受け取り、縦型(9:16)にトリミングしてキャプションを焼き込んだH.264/AAC形式のファイルを生成します。主にTikTok、Reels、Shortsなどの短尺プラットフォーム向けの出力を想定しており、ffmpegとffprobeを使用して実現します。 事前にffmpegのインストール確認と入力ファイルの存在確認を厳密に行い、不足があれば即座にエラー報告します。処理フローは、入力動画の解像度プローブ、出力ディレクトリの作成、専用スクリプト`scripts/cut.sh`の実行、最終ファイルの確認という明確な手順で構成されています。 このスキルはClaude CodeなどのAIエージェントで動作し、決して入力を9:16と仮定せず、音声トラックの有無もプローブするなど、安全で堅牢な設計になっています。エラー発生時には具体的なエラーコード(MISSING_DEP、BAD_INPUT、EMPTY_OUTPUTなど)を報告し、無闇なリトライは行いません。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Git-FED/MuseAi-Skill-video-editing/tree/HEAD/skills/muse-video-editor

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

機能概要

ソース動画を受け取り、縦型(9:16)にトリミングし、キャプションを焼き込んだ単一のH.264/AACファイルを生成します。出力は短尺プラットフォーム向けに最適化されています。

前提条件

  • ffmpeg と ffprobe が PATH に含まれていること
  • ~/workspace/input への読み取りアクセス権
  • ~/workspace/output への書き込みアクセス権

環境確認

最初に以下のコマンドを実行します。

command -v ffmpeg && command -v ffprobe

どちらかが欠けている場合は、処理を中断して報告します:MISSING_DEP: ffmpeg。代替エンコーダへのフォールバックは試みません。

手順

  1. 入力ファイルの存在を確認:

    test -f ~/workspace/input/source.mp4
    

    存在しない場合は、MISSING_INPUT: ~/workspace/input/source.mp4 と報告します。

  2. ファイルに触れる前に解像度をプローブ:

    ffprobe -v error -select_streams v:0 -show_entries stream=width,height \
      -of csv=p=0 ~/workspace/input/source.mp4
    
  3. 出力ディレクトリが存在することを確認:

    mkdir -p ~/workspace/output
    
  4. トリミングを実行:

    bash scripts/cut.sh ~/workspace/input/source.mp4 ~/workspace/output/final.mp4
    
  5. 結果が実際のファイルであることを確認し、パスとサイズを報告:

    ls -lh ~/workspace/output/final.mp4
    

決して仮定しないこと

  • 入力がすでに9:16であると仮定しない — 常に最初にプローブする。
  • ~/workspace/output が存在すると仮定しない — mkdir -p で作成する。
  • 既存の出力ファイルをユーザーの確認なしに上書きしない。
  • ソースに音声トラックがあると仮定しない — 以下で確認する: ffprobe -select_streams a -show_entries stream=codec_type -of csv=p=0

出力

~/workspace/output/final.mp4 — H.264, 1080x1920, AAC オーディオ, -crf 20。

エラー処理

  • ffprobe が失敗 → ファイルが有効な動画ではない。BAD_INPUT と報告。
  • cut.sh がゼロ以外で終了 → 標準エラー出力をそのまま表示。無闇にリトライしない。
  • 出力が0バイト → EMPTY_OUTPUT と報告して停止。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

関連スキル