jpskill.com
📦 その他 コミュニティ

videocut

指定された削除箇所に基づいてFFmpegで動画を編集し、言い間違いがなくなるまで繰り返し、字幕も生成することで、高品質な動画コンテンツを作成するSkill。

📜 元の英語説明(参考)

执行视频剪辑。根据确认的删除任务执行FFmpeg剪辑,循环直到零口误,生成字幕。触发词:执行剪辑、开始剪、确认剪辑

🇯🇵 日本人クリエイター向け解説

一言でいうと

指定された削除箇所に基づいてFFmpegで動画を編集し、言い間違いがなくなるまで繰り返し、字幕も生成することで、高品質な動画コンテンツを作成するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o videocut.zip https://jpskill.com/download/17753.zip && unzip -o videocut.zip && rm videocut.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/17753.zip -OutFile "$d\videocut.zip"; Expand-Archive "$d\videocut.zip" -DestinationPath $d -Force; ri "$d\videocut.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して videocut.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → videocut フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
2

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

剪辑

実行: 削除 → 再審査 → 口語りの誤りがなくなるまで繰り返す → 字幕生成

快速使用

ユーザー: 确认,执行剪辑
ユーザー: 全删
ユーザー: 保留静音3和5,其他都删

前提条件

事前に /videocut:剪口播 を実行して、削除タスクの TodoList を生成する必要があります。

流れ

1. ユーザーが確認した削除タスクを読み込む
    ↓
2. 保存する時間範囲を計算する
    ↓
3. FFmpeg の filter_complex を生成する
    ↓
4. 編集を実行する
    ↓
5. 再転写 + 審査 ←───┐
    ↓                   │
   口語りの誤りがあるか? ──はい─────────┘
    ↓ いいえ
6. 字幕(SRT)を生成する
    ↓
7. 完了

進捗 TodoList

起動時に作成:

- [ ] 削除タスクの確認
- [ ] FFmpeg 編集の実行
- [ ] 再転写審査
- [ ] 字幕の生成

ループ時にバージョン番号を更新(v2→v3→...)


一、削除タスクの読み込み(タイムスタンプ駆動)

/videocut:剪口播 の出力である TodoList から読み込みます。テキストを検索せずに、タイムスタンプを直接使用してください

口語りの誤り(N箇所):
- [x] 1. `(start-end)` 削除"間違ったテキスト" → 保存"正しいテキスト"  ← チェック=削除

語気詞(N箇所):
- [x] 1. `(前字end-后字start)` 削除"えー"  ← チェック=削除

無音(N箇所):
- [x] 1. `(start-end)` 無音Xs  ← チェック=削除
- [ ] 2. `(start-end)` 無音Xs  ← 未チェック=保存

⚠️ 重要なルール

  1. タイムスタンプを直接使用する: (start-end) から解析し、テキストを検索しないでください
  2. 再検索しない: 審査稿は正確なタイムスタンプをすでに計算済みです
  3. チェック = 削除、未チェック = 保存

二、FFmpeg コマンド

ffmpeg -y -i input.mp4 \
  -filter_complex_script filter.txt \
  -map "[outv]" -map "[outa]" \
  -c:v libx264 -crf 18 -c:a aac \
  output.mp4

filter.txt 形式

[0:v]trim=start=0:end=1.36,setpts=PTS-STARTPTS[v0];
[0:a]atrim=start=0:end=1.36,asetpts=PTS-STARTPTS[a0];
[0:v]trim=start=2.54:end=10.5,setpts=PTS-STARTPTS[v1];
...
[v0][a0][v1][a1]...concat=n=N:v=1:a=1[outv][outa]

三、再転写審査

編集後には必ず以下を実行してください:

  1. FunASR で再転写
  2. 口語りの誤りがまだないか確認
  3. ある → /videocut:剪口播 に戻って再識別
  4. ない → 字幕を生成

四、出力ファイル

01-xxx-v2.mp4              # 編集後の動画
01-xxx-v2_transcript.json  # 再転写(検証用)
01-xxx-v2.srt              # 字幕ファイル

バージョンは v1→v2→v3... と増えていきます。


五、フィードバック記録

2026-01-15

  • 語気詞の削除境界が不正確: 語気詞を削除するときに、前の文字も削除してしまった
    • 原因: 語気詞のタイムスタンプを直接使用したため
    • 正しい方法: 前の文字の end から後の文字の start まで
  • 語気詞 + 無音を一緒に削除する必要がある: A [無音] 語気詞 B は、セグメント全体 (A.end - B.start) を削除する必要がある
  • 教訓: 語気詞を削除するとき、境界は 前の文字.end から 後の文字.start まで

2026-01-14

  • 口語りの誤りの文字が完全に削除されず、無音部分のみが削除された
  • 教訓: TodoList からタイムスタンプを直接読み込み、再検索しない
  • "拉满新" が "会的时候" に削除された: "拉满新" のタイムスタンプの範囲は7秒(6秒の無音を含む)で、"拉满" も削除された
    • 教訓: 「前を削除して後ろを保持する」タイプの口語りの誤りについては、差分部分のみを削除する
  • "AI就是AI" が2回 AI と表示された: "就是" のみが削除され、最初の "AI" は削除されなかった
    • 教訓: 置換型の口語りの誤りは、完全な最初のバージョンを削除する必要がある
  • システム的な解決策: タイムスタンプ駆動、審査稿に (start-end) を直接注釈、編集スクリプトはテキストを検索しない
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

<!-- input: 删除任务 TodoList(口误+静音) output: 剪辑后视频、字幕文件 pos: 执行 skill,用户确认删除任务后调用

架构守护者:一旦我被修改,请同步更新:

  1. ../README.md 的 Skill 清单
  2. /CLAUDE.md 路由表 -->

剪辑

执行删除 → 重新审查 → 循环直到零口误 → 生成字幕

快速使用

用户: 确认,执行剪辑
用户: 全删
用户: 保留静音3和5,其他都删

前置条件

需要先执行 /videocut:剪口播 生成删除任务 TodoList

流程

1. 读取用户确认的删除任务
    ↓
2. 计算保留时间段
    ↓
3. 生成 FFmpeg filter_complex
    ↓
4. 执行剪辑
    ↓
5. 重新转录 + 审查 ←───┐
    ↓                   │
   有口误? ──是─────────┘
    ↓ 否
6. 生成字幕(SRT)
    ↓
7. 完成

进度 TodoList

启动时创建:

- [ ] 确认删除任务
- [ ] 执行 FFmpeg 剪辑
- [ ] 重新转录审查
- [ ] 生成字幕

循环时更新版本号(v2→v3→...)


一、读取删除任务(时间戳驱动)

/videocut:剪口播 输出的 TodoList 读取。直接使用时间戳,不要搜索文本

口误(N处):
- [x] 1. `(start-end)` 删"错误文本" → 保留"正确文本"  ← 勾选=删除

语气词(N处):
- [x] 1. `(前字end-后字start)` 删"嗯"  ← 勾选=删除

静音(N处):
- [x] 1. `(start-end)` 静音Xs  ← 勾选=删除
- [ ] 2. `(start-end)` 静音Xs  ← 未勾选=保留

⚠️ 关键规则

  1. 直接用时间戳:从 (start-end) 解析,不要搜索文本
  2. 不要重新搜索:审查稿已经计算好精确时间戳
  3. 勾选 = 删除,未勾选 = 保留

二、FFmpeg 命令

ffmpeg -y -i input.mp4 \
  -filter_complex_script filter.txt \
  -map "[outv]" -map "[outa]" \
  -c:v libx264 -crf 18 -c:a aac \
  output.mp4

filter.txt 格式

[0:v]trim=start=0:end=1.36,setpts=PTS-STARTPTS[v0];
[0:a]atrim=start=0:end=1.36,asetpts=PTS-STARTPTS[a0];
[0:v]trim=start=2.54:end=10.5,setpts=PTS-STARTPTS[v1];
...
[v0][a0][v1][a1]...concat=n=N:v=1:a=1[outv][outa]

三、重新转录审查

剪辑后必须:

  1. 用 FunASR 重新转录
  2. 检查是否还有口误
  3. 有 → 回到 /videocut:剪口播 重新识别
  4. 无 → 生成字幕

四、输出文件

01-xxx-v2.mp4              # 剪辑后视频
01-xxx-v2_transcript.json  # 重新转录(验证用)
01-xxx-v2.srt              # 字幕文件

版本递增:v1→v2→v3...


五、反馈记录

2026-01-15

  • 语气词删除边界不精确:删语气词时把前面的字也删了
    • 原因:直接用语气词的时间戳删除
    • 正确:从前一字 end 到后一字 start
  • 语气词 + 静音要一起删A [静音] 语气词 B 要删整段 (A.end - B.start)
  • 教训:删除语气词时,边界是 前一字.end后一字.start

2026-01-14

  • 口误文字没删干净,只删了静音段
  • 教训:直接从 TodoList 读取时间戳,不要重新查找
  • "拉满新"删成了"会的时候":搜索"拉满新"时间戳跨度7秒(含6秒静音),把"拉满"也删了
    • 教训:对于"删前面保后面"的口误,只删差异部分
  • "AI就是AI"出现两次AI:只删了"就是",没删第一个"AI"
    • 教训:替换型口误必须删完整的第一个版本
  • 系统性解决:时间戳驱动,审查稿直接标注 (start-end),剪辑脚本不再搜索文本

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。