Communitygithub.com

yunjundai/video-editing-skills

Remotion、FFmpeg、Shotcut と CPU 音声認識を用いて、独立した GPU やリソースが限られたコンピュータで既存の動画や写真を編集し、繁体字字幕、オープニング、名前テロップ、トランジションを作成。編集可能なプロジェクトを保持。学校行事、インタビュー、記念動画に最適。DaVinci Resolve ネイティブプロジェクトが必要な場合は、対応する編集スキルを使用。

video-editing-skills とは?

このスキルは、GPU や CUDA、DaVinci Resolve などの高価なリソースに依存せず、ローカル環境で動画編集を行うための包括的なツールセットを提供します。Remotion を使用してアニメーションやシーケンスを作成し、FFmpeg でメディア処理、Shotcut で微調整を行います。字幕生成には faster-whisper の CPU/int8 モデルと OpenCC を使用し、繁体字中国語を正確に処理します。このスキルは、ローカル設定ファイルを通じて環境を構成し、スクリプト (`project.py`、`media.py`、`transcribe.py`) を使用してプロジェクトの初期化、メディア管理、字幕認識、レンダリングを自動化します。出力は、編集可能な Remotion プロジェクトと Shotcut MLT ファイルとして保存され、後で修正や再レンダリングが可能です。主に学校行事、インタビュー、記念動画など、リソースが限られた環境での使用を想定しており、16:9、1920×1080、30fps の標準設定と、半サイズプレビューによる作業効率化を推奨します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yunjundai/video-editing-skills/tree/HEAD/cpu-video-editing

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

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

ドキュメント

無獨顯影片剪輯

他の AI エージェントが本スキルを使用、インストール、またはパッケージ化する際は、まず agent-compatibility.md を読み、ターゲットプラットフォームに応じてスキルディレクトリとローカル設定を処理してください。

ローカルの Remotion でアニメーションとシーケンスを作成し、FFmpeg で音声・動画を処理、Shotcut で微調整。字幕には faster-whisper CPU/int8 と OpenCC を使用。デフォルトでは、独立した GPU、CUDA、NVENC、DaVinci Resolve、クラウドレンダリング、有償エフェクトに依存しません。ユーザー指定のスタイルと出力形式を継承します。

環境とリソース

初回使用時は、local-environment.example.json を references/local-environment.json にコピーし、実際のツールのパスを入力してください。サンプルパスはツールがインストールされていることを意味しません。

  • references/local-environment.json を読み、ツールの絶対パスを使用します。本スキルの scripts/project.py doctor を実行。字幕には専用 venv の Python を使用します。doctor は CUDA や Resolve を要求せず、Shotcut 実行ファイルの存在のみをチェックし、GUI が検証されたことを示すものではありません。
  • 本スキルにはスクリプト、Remotion テンプレート、依存関係ロックファイルが含まれており、他の編集スキルから独立して使用できます。ローカルツールとモデルの場所は設定ファイルで指定します。別のコンピュータに移す場合は、environment-notes.md を読み、不足している依存関係を再構築し、パスを修正してから実際にテストしてください。別のコンピュータにツールがインストールされていると仮定しないでください。
  • デフォルトは 16:9、1920×1080、30fps。最初は半サイズでプレビューします。Remotion のデフォルトはシングルジョブ、SwiftShader ソフトウェアグラフィックスバックエンド、H.264 ソフトウェアエンコード。CUDA には自動的に切り替わりません。メモリが十分にある場合は --concurrency 2 を使用し、メモリが少ない場合は 1 のままにします。
  • ジョブは順次実行され、全編レンダリング、字幕認識、プロキシファイル変換を同時に実行しません。メモリが不足している場合は、まずプレビューサイズを小さくするか、プロキシファイルを使用するか、セグメントに分割します。分割する場合は、同じビデオ・オーディオ仕様と正確な字幕タイミングを維持し、継ぎ目を確認します。
  • 16GB RAM 以上を推奨。32GB ならより余裕があります。SSD を使用してください。これは作業推奨であり、すべてのコンピュータでスムーズに動作することを保証するものではありません。コア数や尺から未測定の出力速度を推定しないでください。

素材と編集

  1. 要件が不完全な場合、まず既存の素材から尺、アスペクト比、ナラティブを推定し、成果物に影響する情報が不足している場合のみ質問します。素材の場所が不明な場合は、まず作業ディレクトリを確認します。元のファイルは保持し、派生ファイルは新しい作業フォルダに配置します。
  2. media-commands.md を読み、scripts/media.py inventory を使用して、尺、アスペクト比、オーディオ、サムネイルのリストを作成します。代表的なフレームを確認し、音声を聞き、書き起こしを読んでからセグメントを選択します。カット候補や推測を確定した事実として扱わないでください。
  3. 4K、高ビットレート、またはプレビューがカクつく場合は、media.py proxy --width 960 を使用して H.264/AAC プロキシファイルを生成します。元のファイルとプロキシファイルの対応を記録し、プレビューではプロキシファイルを使用できます。最終出力の前に元のファイルに戻し、クロップ範囲と同期を再確認します。プロキシファイルを元の品質で納品しないでください。
  4. project-commands.md を読み、scripts/project.py init で新しい Remotion プロジェクトを作成します。選択した素材を public/media/ にコピーし、public/project.json を編集します。データ仕様は motion-template.md を参照してください。テンプレートはオープニング、チャプター、写真のズームイン、ビデオ、引用、エンディング、字幕、名前テロップをサポートします。
  5. ビデオのイン点と尺は、まず ffprobe で確認します。フェードイン・アウト、単純なワイプ、写真のスローズーム、短いテキストアニメーションを優先します。デフォルトで多数のブラー、パーティクル、3D、高解像度マルチレイヤーエフェクトを使用しないでください。品質が不足している場合はデザインを調整し、小さすぎるテキストで無理にコンテンツを詰め込まないでください。
  6. まず短いセグメントと静止画でプレビューし、スタイルと可読性を確認してから全編を作成します。project.py render --scale 0.5 でプレビューし、最終納品はフルサイズで行います。具体的なコマンドは、本スキルのリファレンスとスクリプトの --help に従い、絶対パスとパラメータ配列を使用して中国語とスペースを含むパスを処理します。

繁体字字幕とオーディオ

  • scripts/transcribe.py は明示的に --device cpu --compute-type int8 --model ローカルモデルパス --local-files-only を渡し、ダウンロード済みの small モデルを使用します。認識に失敗した場合は、まず venv、モデル、互換性のあるパッケージを確認し、速度が遅いからといって CUDA のインストールを要求しないでください。
  • 編集後のダイアログオーディオトラックを認識するか、各字幕セグメントをクロップやトランジションのオーバーラップに基づいて最終タイムラインに変換します。元のビデオのタイムをそのまま適用しないでください。純粋な BGM から字幕を生成しないでください。
  • OpenCC は繁体字の単語変換のみを支援します。校名、人名、役職、日付、同音異義語、台湾語は校正が必要です。認識が不明瞭な場合は、確認待ちのマークを残し、捏造しないでください。
  • captions.json の captions は project.json に配置できます。ワードバイワードハイライトを行う場合は、まず単語のタイムと文全体/単語のテキストの一貫性を確認します。文タイムのみの場合は文全体を表示します。
  • 字幕と名前テロップはセーフマージンを保ち、互いに重ならないようにします。BGM は音声が明瞭に聞こえるレベルまで下げ、トランジション中に二つのダイアログが重なって再生されないか確認します。SRT と BGM がミックスされていないダイアログソースを保持し、修正を容易にします。

Shotcut による微調整と納品

  • project.py shotcut 成片.mp4 --output 新バージョン.mlt で Shotcut による微調整の開始点を作成します。レンダリング済みのビデオセグメントが含まれており、編集、BGM、音量をさらに調整できます。Shotcut は一般的な CPU エフェクトとソフトウェア出力を使用します。必要に応じて Preview Scaling を下げ、プロキシファイルを有効にします。ユーザーにハードウェアエンコードを有効にするよう要求しないでください。
  • Remotion のテキスト、字幕、トランジションはそのセグメントに焼き付けられており、Shotcut のネイティブテキストレイヤーではありません。文字やアニメーションを変更する場合は、Remotion プロジェクトに戻って再出力する必要があります。MLT でこれらのエフェクトをワードバイワードで編集できると主張しないでください。レイヤーやネイティブテキストが必要な場合は、別途作成して実際に検証してください。
  • media.py check を使用して、完全なデコードチェックを実行し、黒画面、無音、エラーを確認します。その後、手動でオープニング、トランジションの中間点、最長の字幕、名前テロップ、エンディングをスポットチェックし、ダイアログ/BGM と同期を聞いて確認します。黒画面や無音はデザインである可能性があるため、解釈が必要です。
  • MP4、サムネイル、Remotion プロジェクトと素材、project.json、SRT、および実際に作成された Shotcut MLT とその修正方法を納品します。新しいバージョンを出力し、既存の成果物を警告なしに上書きしないでください。元のファイルや node_modules を共有しないでください。
  • MLT を納品する前に、Shotcut またはその MLT ツールで実際に読み込みます。XML 形式のみが通過した場合、エディタでの読み込みが検証されていないことを明確に説明します。テストされていない機能を成功したと主張しないでください。
  • 通常の H.264 MP4 は透明度を保持しません。透明アニメーションが必要な場合は、別途透明 Compostion を作成し、RGBA PNG シーケンスまたは互換性のあるアルファエンコードを実際にテストします。

完了時に、ファイルの場所、実際にテストした出力設定、修正可能な範囲、校正待ちの字幕、未検証の項目を説明します。ツールのライセンスは各ソフトウェアの条項に従います。AI エージェントのアカウントクレジットは別途計算されます。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル