videocut:字幕

videocut:字幕

热门

字幕生成与烧录。火山引擎转录→词典纠错→审核→烧录。触发词:加字幕、生成字幕、字幕

790Star
153Fork
更新于 2/3/2026
SKILL.md
readonly只读
name
videocut:字幕
description

字幕生成与烧录。火山引擎转录→词典纠错→审核→烧录。触发词:加字幕、生成字幕、字幕

字幕

转录 → Agent校对 → 人工审核 → 烧录

核心流程

1. 提取音频 + 上传
    ↓
2. 火山引擎转录(带热词词典)
    ↓
3. Agent 自动校对(词典纠错 + 对照原稿)
    ↓
4. 启动审核服务器,人工最终确认
    ↓
5. 烧录字幕

Step 1: 提取音频并上传

# 提取音频
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

Step 2: 火山引擎转录(带热词)

转录脚本会自动读取词典作为热词,提高识别准确率:

# 词典位置: /Users/chengfeng/Desktop/AIos/剪辑Agent/.claude/skills/字幕/词典.txt
# 脚本会自动加载

bash ../剪口播/scripts/volcengine_transcribe.sh "https://o.uguu.se/xxxxx.mp3"

词典格式(每行一个词):

skills
Claude
Agent
成峰
剪辑skills
claude code

Step 3: Agent 自动校对

3.1 生成带时间戳的字幕

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));

3.2 Agent 手动校对(不用脚本)

转录后,Agent 必须逐条阅读全部字幕,手动校对以下问题:

常见误识别规则表

误识别 正确 类型
成风 成峰 同音字
正特/整特 Agent 误识别
IT就 Agent就 发音相似
edge的叉100 Agentx100 误识别
cloud code Claude Code 发音相似
Schill/skill skills 发音相似
剪口拨/剪口波 剪口播 同音字
自净化/资金化 自进化 同音字
减口播 剪口播 同音字
录剪 漏剪 同音字
作为这个 做这个 同音字
斜杠V1/斜杠v /v 口语描述
斜杠v点口拨 /v.口播 口语+同音
a p i t/APIK API Key 误识别
excuse skills 误识别
移完了 剪完了 同音字

常见漏字问题

原文 修正 说明
步呢是配置 第二步呢是配置 漏"第二"
4步就是 第4步就是 漏"第"
别省时间 特别省时间 漏"特"
这个我们的 这个是我们的 漏"是"
在里面看到 可以在里面看到 漏"可以"
跟大家处理完 跟大家讲完 用词不当
剪辑了逻辑 剪辑的逻辑 语法错误

3.3 对照原稿校对(如有原稿)

如果有原稿/脚本,可以辅助校对,但不要用脚本自动匹配(文字差异会导致时间戳累积错误)。

Agent 应:

  1. 读取原稿作为参考
  2. 手动逐条对比,发现差异时修正
  3. 不确定的地方标记,留给人工审核

Step 4: 启动审核服务器

cd 字幕目录/
node /path/to/skills/字幕/scripts/subtitle_server.js 8898 "video.mp4"

访问 http://localhost:8898

功能:

  • 左侧视频播放,右侧字幕列表
  • 播放时自动高亮当前字幕
  • 双击字幕文字编辑(时间戳不变)
  • 倍速播放(1x/1.5x/2x/3x)
  • 保存字幕 / 导出 SRT / 烧录字幕
  • 底部显示词典快捷插入

Step 5: 烧录字幕

默认样式: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_字幕.mp4"
参数 说明
FontSize 22 字体大小
FontName PingFang SC 苹方字体
Bold 1 粗体
PrimaryColour &H0000deff 金黄色 #ffde00
OutlineColour &H00000000 黑色描边
Outline 2 描边宽度
Alignment 2 底部居中
MarginV 30 底部边距

目录结构

output/YYYY-MM-DD_视频名/字幕/
├── 1_转录/
│   ├── audio.mp3
│   └── volcengine_result.json
├── subtitles_with_time.json    # 核心文件
└── 3_输出/
    ├── video.srt
    └── video_字幕.mp4

字幕规范

规则 说明
一屏一行 不换行,不堆叠
句尾无标点 你好 不是 你好。
句中保留标点 先点这里,再点那里

反馈记录

2026-01-31

  • 火山引擎支持热词,已集成到转录脚本
  • Agent 转录后需要自动校对,不能直接交给用户
  • 字幕样式:金黄粗体 #ffde00,描边 2px
  • IT 常被误识别为 Agent,需加入纠错规则
  • 重要:Agent 校对必须手动逐条阅读,不能用脚本自动匹配
  • 新增 17 条常见误识别规则(详见 3.2 节)
  • 漏字问题比误识别更难发现,需要特别注意

You Might Also Like

Related Skills

apple-notes

apple-notes

179Kproductivity

Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks OpenClaw to add a note, list notes, search notes, or manage note folders.

openclaw avataropenclaw
获取
apple-reminders

apple-reminders

179Kproductivity

Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.

openclaw avataropenclaw
获取
bear-notes

bear-notes

92Kproductivity

Create, search, and manage Bear notes via grizzly CLI.

moltbot avatarmoltbot
获取
voice-call

voice-call

88Kproductivity

Start voice calls via the Moltbot voice-call plugin.

moltbot avatarmoltbot
获取
spotify-player

spotify-player

88Kproductivity

Terminal Spotify playback/search via spogo (preferred) or spotify_player.

moltbot avatarmoltbot
获取
video-frames

video-frames

88Kproductivity

Extract frames or short clips from videos using ffmpeg.

moltbot avatarmoltbot
获取