بنقرة واحدة
videocut-subtitles
subtitles生成与烧录。火山引擎转录→词典纠错→审核→烧录。触发词:加subtitles、生成subtitles、subtitles
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
subtitles生成与烧录。火山引擎转录→词典纠错→审核→烧录。触发词:加subtitles、生成subtitles、subtitles
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
视频剪辑 Agent,专为口播视频设计 功能: - 语义理解:AI 逐句分析,识别重说/纠正/卡顿 - 静音检测:自动标记过长静音段 - 重复句检测:删除重复内容,保留最佳表达 - 文案生成:基于保留内容自动生成视频介绍草稿 - subtitles生成:Whisper 转录 + 词典纠错 - 自更新:记住用户偏好,越用越准 触发场景: - 用户说"/videocut:install" - 用户说"/videocut:cut [视频文件]" - 用户说"/videocut:subtitle [视频文件]" - 用户说"/videocut:update"
口播视频转录和口误识别。生成审查稿和删除任务清单。触发词:talkcut、处理视频、识别口误
evolution skills。记录用户反馈,更新方法论和规则。触发词:更新规则、记录反馈、改进skill
环境准备。install依赖、配置 API Key、验证环境。触发词:install、环境准备、初始化
| name | videocut:subtitles |
| description | subtitles生成与烧录。火山引擎转录→词典纠错→审核→烧录。触发词:加subtitles、生成subtitles、subtitles |
转录 → Agent校对 → 人工审核 → 烧录
1. 提取音频 + 上传 ⏱ ~1min
↓
2. 火山引擎转录(带热词) ⏱ ~2min
↓
3. Agent 自动校对 ⏱ ~3-5min
↓
4. 人工审核确认 ⏱ 取决于用户
↓
5. 烧录subtitles ⏱ ~1-2min
# 提取音频
ffmpeg -i "video.mp4" -vn -acodec libmp3lame -y audio.mp3
# 上传到 uguu.se(临时文件托管)
curl -s -F "files[]=@audio.mp3" https://uguu.se/upload
# 返回 URL 如: https://o.uguu.se/xxxxx.mp3
转录脚本会自动读取词典作为热词,提高识别准确率:
# 词典位置: /Users/chengfeng/Desktop/AIos/剪辑Agent/.claude/skills/subtitles/dictionary.txt
# 脚本会自动加载
bash ../talkcut/scripts/volcengine_transcribe.sh "https://o.uguu.se/xxxxx.mp3"
词典格式(每行一个词):
skills
Claude
Agent
成峰
剪辑skills
claude code
const result = JSON.parse(fs.readFileSync('volcengine_result.json'));
const subtitles = result.utterances.map((u, i) => ({
id: i + 1,
text: u.text,
start: u.start_time / 1000,
end: u.end_time / 1000
}));
fs.writeFileSync('subtitles_with_time.json', JSON.stringify(subtitles, null, 2));
转录后,Agent 必须逐条阅读全部subtitles,手动校对以下问题:
| 误识别 | 正确 | 类型 |
|---|---|---|
| 成风 | 成峰 | 同音字 |
| 正特/整特 | Agent | 误识别 |
| IT就 | Agent就 | 发音相似 |
| edge的叉100 | Agentx100 | 误识别 |
| cloud code | Claude Code | 发音相似 |
| Schill/skill | skills | 发音相似 |
| 剪口拨/剪口波 | talkcut | 同音字 |
| 自净化/资金化 | evolution | 同音字 |
| 减口播 | talkcut | 同音字 |
| 录剪 | 漏剪 | 同音字 |
| 作为这个 | 做这个 | 同音字 |
| 斜杠V1/斜杠v | /v | 口语描述 |
| 斜杠v点口拨 | /v.口播 | 口语+同音 |
| a p i t/APIK | API Key | 误识别 |
| excuse | skills | 误识别 |
| 移完了 | 剪完了 | 同音字 |
| 原文 | 修正 | 说明 |
|---|---|---|
| 步呢是配置 | 第二步呢是配置 | 漏"第二" |
| 4步就是 | 第4步就是 | 漏"第" |
| 别省时间 | 特别省时间 | 漏"特" |
| 这个我们的 | 这个是我们的 | 漏"是" |
| 在里面看到 | 可以在里面看到 | 漏"可以" |
| 跟大家处理完 | 跟大家讲完 | 用词不当 |
| 剪辑了逻辑 | 剪辑的逻辑 | 语法错误 |
如果有原稿/脚本,可以辅助校对,但不要用脚本自动匹配(文字差异会导致时间戳累积错误)。
Agent 应:
cd subtitles目录/
node /path/to/skills/subtitles/scripts/subtitle_server.js 8898 "video.mp4"
功能:
默认样式:22号金黄粗体、黑色描边2px、底部居中
ffmpeg -i "video.mp4" \
-vf "subtitles='video.srt':force_style='FontSize=22,FontName=PingFang SC,Bold=1,PrimaryColour=&H0000deff,OutlineColour=&H00000000,Outline=2,Alignment=2,MarginV=30'" \
-c:a copy \
-y "video_subtitles.mp4"
| 参数 | 值 | 说明 |
|---|---|---|
| FontSize | 22 | 字体大小 |
| FontName | PingFang SC | 苹方字体 |
| Bold | 1 | 粗体 |
| PrimaryColour | &H0000deff | 金黄色 #ffde00 |
| OutlineColour | &H00000000 | 黑色描边 |
| Outline | 2 | 描边宽度 |
| Alignment | 2 | 底部居中 |
| MarginV | 30 | 底部边距 |
output/YYYY-MM-DD_视频名/subtitles/
├── 1_transcribe/
│ ├── audio.mp3
│ └── volcengine_result.json
├── subtitles_with_time.json # 核心文件
└── 3_输出/
├── video.srt
└── video_subtitles.mp4
| 规则 | 说明 |
|---|---|
| 一屏一行 | 不换行,不堆叠 |
| 句尾无标点 | 你好 不是 你好。 |
| 句中保留标点 | 先点这里,再点那里 |