Communitygithub.com

minhhoasqtt-prog/hmhshare-mkt-bien-tap-vlog-hyperframes

VLOG / トーキングヘッド動画(車内撮影、屋外でのシェア、16:9)を HyperFrames で完全編集します。Whisper による単語単位の文字起こし、AI がメッセージと視聴者に基づいて重要な部分を選択、フレーム単位でカット(単語が切れない)、ノイズ除去と –15 LUFS の音声規格化、無音部分に4~5秒のフィラー映像を挿入、ジャンプカットをパンチインで隠し、カラーグレーディング、動的な日本語テキスト(タイトル、チャプター、決め台詞、数字、リスト、フローチャート、CTA)を追加します。Walter Murch の Rule of Six と Casey Neistat の VLOG 編集スタイルに基づいています。長い動画の短縮、重要部分の抽出、VLOG 編集、フィラー/Bロールの追加、音声処理、カラー調整、テキスト挿入に使用します。DJI/Osmo/スマートフォンで撮影された動画に最適です。

hmhshare-mkt-bien-tap-vlog-hyperframes とは?

このスキルは、長時間のトーキングヘッド動画(VLOG、車内での語り、屋外での共有など)を、HyperFrames を使用してプロフェッショナルな 16:9 の動画に自動編集します。主な機能として、Whisper による単語単位の正確な文字起こし、AI が Walter Murch の「Rule of Six」(感情 51% > ストーリー 23% > リズム 10%)と Casey Neistat のスタイルに基づいて最も重要なセグメントを選択し、単語の切れ目を考慮した正確なカット、ノイズ除去と –15 LUFS のラウドネス正規化、無音部分への4~5秒のフィラー/Bロール自動挿入、ジャンプカットを隠すパンチイン、カラーグレーディング、そして動的な日本語テキスト(タイトル、チャプター、決め台詞、数字、リスト、フローチャート、CTA)の追加を行います。このスキルは Claude Code 上で動作し、ffmpeg、Whisper.cpp、HyperFrames CLI などのツールを利用します。事前にノートパソコンの環境セットアップ(`HUONG-DAN-CAI-DAT.md` に従う)と、`node <skill>/scripts/kiem-tra-may.mjs` で依存関係の確認が必要です。古い 11:22 の車内 VLOG を 5:22 に短縮した実績があります。このスキルは、長い動画を短くインパクトのあるものにしたい場合、VLOG を編集したい場合、フィラー/Bロール、音声処理、カラーグレーディング、テキストを追加したい場合、または DJI/Osmo/スマートフォンで撮影した動画を処理したい場合に最適です。

対応✓Claude Code~Codex CLI~Cursor
npx skills add minhhoasqtt-prog/hmhshare-mkt-bien-tap-vlog-hyperframes

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

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

ドキュメント

HyperFrames を使った VLOG 編集

生のトーキングヘッド動画(フィラー映像も少し含む)を、コンパクトでメッセージ性が強く、色味が美しく、テキスト付きの 16:9 動画に変換します。

基本哲学 / 出典

  • Walter Murch, Rule of Six (In the Blink of an Eye): 感情 51% > ストーリー 23% > リズム 10% > 視線の誘導 > 画面の二次元性 > 三次元表現。感情とストーリーの流れを優先してセグメントを選択し、映像の問題は後で処理します。
  • Casey Neistat: 導入 → 背景 → 本題 → 結論; 意図的なジャンプカット; 多くのフィラー映像の使用。
  • トーキングヘッド: 音声が核 (L-cut)、フィラー映像を重ね、パンチインでジャンプカットを隠す。
  • 実績: 車内で撮影した 11:22 の VLOG を 5:22 に編集、23 セグメント、29 テキストブロック (サンプル計画は references/vi-du-plan.json にあり)。

使用する / 使用しない場合

  • 使用する: 一人語りの長い動画 (VLOG、共有、ライブ配信の録画、車内撮影) で、短縮 + フィラー + テキストが必要な場合、横画面 16:9 のもの。
  • 使用しない: TikTok 風の縦画面 9:16 で単語ごとに字幕が流れるもの; AI アバター動画 / ナレーションのみ; 動画をそのままにして字幕だけが必要な場合 (その場合は HyperFrames の /embedded-captions を使用)。

前提条件

HUONG-DAN-CAI-DAT.md に従ってインストールし、node <skill>/scripts/kiem-tra-may.mjs を実行してすべて ✓ が表示されることを確認してください。

  • ffmpeg/ffprobe、Node ≥ 18、npx hyperframes (0.8.168–0.8.169 で確認済み)。
  • whisper-cli (whisper.cpp) + モデル ~/.whisper-models/ggml-large-v3-turbo.bin (環境変数 WHISPER_BIN、WHISPER_MODEL で変更可能)。
  • Mac では VideoToolbox を使用するため高速カット可能 (~2.7K HEVC 10-bit で実時間の約2倍); Windows/Linux では自動的に libx264 に切り替わります (低速)。
  • 空きディスク容量: 出力動画1分あたり 0.6 GB + 3 GB。初回レンダリング時は chrome-headless-shell をダウンロードします (~150 MB)。
  • Be Vietnam Pro フォントは assets/fonts/ に同梱 (SIL OFL ライセンス、オンライン不要)。

実行手順

S=<スキルディレクトリ>/scripts (通常は .claude/skills/hmhshare-mkt-bien-tap-vlog-hyperframes/scripts) W=<作業ディレクトリ>、例: ~/vlog-lam-viec/<slug>。メディアファイルはここに置き、クラウド同期フォルダ (Google Drive、OneDrive、Dropbox など) には置かないでください。処理が遅くなりエラーが発生します。

ステップ 1 — 準備 (マシン、約1~3分)。

node $S/01-chuan-bi.mjs --work $W --main "<メイン動画>" --broll "<フィラー1>,<フィラー2>,..."

結果: probe.json、contact.jpg、loi-thoai.txt (単語レベルのタイムスタンプ)、main_clean.wav、フィラーのプロキシ hfproj/media/bNN*.mp4 + broll.json。再実行時は既存部分をスキップします (--force で再実行)。

ステップ 2 — AI 編集 (references/chon-doan-bien-tap.md をよく読んでください)。 contact.jpg (話者の位置 → tam_zoom、テキスト配置位置) を確認し、loi-thoai.txt をすべて読み、視聴者 + メッセージ (不明な場合はユーザーに確認) を決定し、$W/plan.json の doan セクションを references/plan-json.md に従って記述します。合計時間を簡単に確認:

node $S/02-cat-doan.mjs --work $W --main "<メイン動画>" --chi-tinh   # ban-cat.txt のみ表示、カットはしない

→ ユーザー確認: ユーザーが事前確認を希望する場合は、ban-cat.txt の表を送信して停止します。デフォルト: そのまま続行し、最終レポートにセグメント表を含めます。

ステップ 3 — カット + ノイズ除去 + 結合点の確認 (マシン)。

node $S/02-cat-doan.mjs --work $W --main "<メイン動画>"

出力: hfproj/media/main_cut.mp4/.wav、segs.json、kiem-tra-noi.json。単語が欠落している警告があるセグメントは cut-words.json (Whisper の誤認識が原因の場合あり) と照合し、実際のエラーであれば lui_dau/them_cuoi を追加して再実行します。

ステップ 4 — AI がテキストを作成 + コンポジションを構築。 ban-cat.txt を読み、plan.json の chu セクション (doan + sau に従う) と canh_tram (デフォルト: {"nhip":20}) を作成し、次を実行:

node $S/03-dung-hyperframes.mjs --work $W
cd $W/hfproj && npx hyperframes check --json        # lint 0 エラー、layout 0、contrast すべて合格
npx hyperframes snapshot --at <スクリプトが出力するマーカー>  # AI がコンタクトシートを確認: テキストの改行が不自然、顔を隠している、色がおかしい

計画/テキストを修正 → 03 を再実行し、フレームがきれいになるまで繰り返します (テキストが長い場合は文章を短くし、フォントサイズを小さくしないでください)。

ステップ 5 — レンダリング + 書き出し (マシン、Mac M1 Pro で動画時間の約1.5倍)。

node $S/04-render-xuat.mjs --work $W --out "<出力ディレクトリ>" --quality delivery

時間が合っているか、音声があるか、LUFS を確認し、soat.jpg を出力し、動画 + du-an-hyperframes/ + plan/segs/文字起こしを出力ディレクトリにコピーします。AI は soat.jpg を最後に確認します。

ステップ 6 — レポート。 ユーザーに以下を返します: 動画のパス、編集前後の時間、タイムライン表 (セグメントと主要メッセージ)、削除した内容、plan.json の修正箇所。レンダリングキャッシュを削除します (注意事項を参照)。

リファレンス

  • scripts/lib.mjs: ffmpeg/whisper/単語クラスタ検索、マシンに応じたエンコーダ選択。
  • scripts/01-chuan-bi.mjs · 02-cat-doan.mjs · 03-dung-hyperframes.mjs · 04-render-xuat.mjs · kiem-tra-may.mjs。
  • scripts/template.tpl: HTML + GSAP フレームワーク (9 種類のテキスト、パンチイン、フィラー合成、Ken Burns)。
  • references/plan-json.md: 計画フォーマット + テキストタイプの表 · references/vi-du-plan.json: 実際の計画 (23 セグメント / 29 テキスト)。
  • references/chon-doan-bien-tap.md: セグメント選択ルール、ストーリー構造、映像リズム。
  • HyperFrames ドキュメント: https://hyperframes.heygen.com (マシンに hyperframes、hyperframes-cli スキルがあればさらに参照)。

注意点 / 落とし穴

  • Whisper のテキストタイムスタンプは実際の音声より約 0.3~0.5 秒遅れます: スクリプトは開始点を 0.3 秒早めています; それでもずれる場合は lui_dau を追加してください。
  • 元の 2.7K/4K 動画全体のプロキシを作成しないでください (11 分で約 40 分かかります): ステップ 3 で選択したセグメントのみをカットします。
  • hfproj/ のルートに 2 つ目の .html ファイルを置かないでください: HyperFrames は multiple_root_compositions エラーを報告します。テンプレートは scripts/ にあります。
  • lint 警告 nested_structure_needs_subcomposition / timeline_track_too_dense は構成上の提案であり、無視しても構いません。
  • レンダリングはデコードキャッシュをマシンの一時ディレクトリに書き込みます (Mac/Linux では $TMPDIR/hyperframes-extract-cache-*、Windows では %TEMP%; 5 分の動画で約 2 GB): レンダリング完了後に削除してください。
  • 初回の「Checking browser」フェーズは数分かかることがありますが、ブラウザをダウンロードしているためであり、フリーズではありません。
  • 文字起こしに多くの誤りがある場合: 画面上のテキストは正しいスペルで記述し、文字起こしをそのままコピーしないでください。このスキルでは、動画全体の字幕はまだサポートしていません。
  • HDR/LOG 動画: 事前に SDR に変換してください (ステップ 1 で警告が出ます); リアルタイムカラーグレーダーは Rec.709 のみに対応しています。
  • カメラのメモリーカードは、ステップ 1 からステップ 3 が完了するまで挿したままにしてください (ステップ 3 で元のファイルを再度読み取ります)。最善の方法は、事前に動画をマシンにコピーすることです。
  • Windows: スペースを含むパスは常に二重引用符で囲んでください。

出力

<出力ディレクトリ>/: <slug>.mp4、du-an-hyperframes/ (index.html + config、メディアは含まない)、plan.json、segs.json、ban-cat.txt、loi-thoai.txt、kiem-tra-noi.json、broll.json、soat.jpg。

関連スキル