关于 translate-video
translate-video 是一项将视频处理为翻译字幕并生成内嵌字幕视频的技能,涵盖转录、翻译和字幕整理。它为短视频和常规视频提供不同的处理规则。
主要功能
- 01转录音频并生成逐词时间戳
- 02翻译字幕并保留时间信息
- 03按短视频或常规视频整理字幕
- 04限制行长并处理从右向左文字
- 05将字幕嵌入输出视频
适用场景
- 01为 TikTok 或 Reels 制作翻译字幕
- 02为 YouTube 或教程视频生成字幕
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aviz85/ claude-skills-library --skill translate-video安装后在 Claude Code 中输入/translate-video确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
DEPENDENCIES.mdreferences/languages.mdmodes.mdscripts/build-timestamps.pypostprocess.pyrtl-fix.py详细介绍
翻译视频
端到端视频翻译流程:转录 → 翻译 → 优化字幕 → 嵌入。
用法
/translate-video /path/to/video.mp4 he --regular
/translate-video /path/to/video.mp4 he --shorts
$1— 视频文件路径(必填)$2— 目标语言代码(默认值:he)。参见 references/languages.md$3—--shorts(TikTok/Reels)或--regular(YouTube/教程)。如果未提供,请询问用户。
流程
步骤 1:转录
如果音频 > 25MB,请先提取:
ffmpeg -i "$VIDEO" -vn -acodec libmp3lame -ab 128k "$AUDIO.mp3" -y
使用词级 JSON 转录(始终包含 --json):
cd ~/.claude/skills/transcribe/scripts && [ -d node_modules ] || npm install --silent
npx ts-node transcribe.ts -i "$INPUT" -o "$BASENAME.srt" --json
生成:{basename}.srt、{basename}.md、{basename}_transcript.json
步骤 2:翻译
阅读 .md 以了解完整上下文。翻译 .srt — 精确保留所有时间戳和索引编号。参见 references/modes.md 中的翻译规则。
步骤 3:优化字幕
阅读 references/modes.md 了解完整规则。
--shorts: 仅修正文案,保留所有时间戳。不合并。
--regular: 使用词级时间戳合并为完整句子。
- 根据
.md规划字幕组(每组的词数) - 在 scripts/build-timestamps.py 中填写
GROUP_SIZES并运行 - 将输出 SRT 中的英文文本替换为译文
步骤 4:后处理(两种模式均适用)
强制限制为最多 2 行,每行最多指定字符数(--shorts 为 38,--regular 为 42):
python3 ~/.claude/skills/translate-video/scripts/postprocess.py "$SRT" 42
步骤 5:从右向左(仅限希伯来语 / 阿拉伯语 / 波斯语)
python3 ~/.claude/skills/translate-video/scripts/rtl-fix.py "$SRT"
步骤 6:嵌入并打开
~/.local/bin/ffmpeg-ass -i "$VIDEO" \
-vf "subtitles=$SRT:force_style='FontSize=24,PrimaryColour=&H00FFFFFF,OutlineColour=&H00000000,Outline=2,Shadow=1,Alignment=2,MarginV=30'" \
-c:v libx264 -preset fast -crf 23 -c:a copy "$OUTPUT" -y
open "$OUTPUT"
⚠️ 在 ARM Mac 上处理长视频时,请勿使用 Docker ffmpeg — x86 仿真速度约慢 100 倍。
输出文件
| 文件 | 说明 |
|---|---|
{name}.srt | 原始语言的 SRT |
{name}.md | 易读的转录文本 |
{name}_transcript.json | 词级时间戳 |
{name}_{lang}.srt | 已翻译并优化的 SRT |
{name}_{lang}_subtitled.mp4 | 最终视频 |
支持文件
| 文件 | 用途 |
|---|---|
| references/modes.md | --shorts 和 --regular 的详细规则 |
| references/languages.md | 语言代码和 RTL 标志 |
| scripts/build-timestamps.py | 用于 --regular 时间戳的词索引游标 |
| scripts/postprocess.py | 对任意 SRT 强制执行行数限制 |
| scripts/rtl-fix.py | 应用 RTL Unicode 标记 |
评论
支持 Markdown