mcpField
T
translate-video

translate-video

github.com/aviz85创意与媒体5044 次安装16 周前更新
代码仓库

关于 translate-video

translate-video 是一项将视频处理为翻译字幕并生成内嵌字幕视频的技能,涵盖转录、翻译和字幕整理。它为短视频和常规视频提供不同的处理规则。

主要功能

  1. 01转录音频并生成逐词时间戳
  2. 02翻译字幕并保留时间信息
  3. 03按短视频或常规视频整理字幕
  4. 04限制行长并处理从右向左文字
  5. 05将字幕嵌入输出视频

适用场景

  1. 01为 TikTok 或 Reels 制作翻译字幕
  2. 02为 YouTube 或教程视频生成字幕

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aviz85/claude-skills-library --skill translate-video

安装后在 Claude Code 中输入/translate-video确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

DEPENDENCIES.md
references/
languages.md
modes.md
scripts/
build-timestamps.py
postprocess.py
rtl-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: 使用词级时间戳合并为完整句子。

  1. 根据 .md 规划字幕组(每组的词数)
  2. 在 scripts/build-timestamps.py 中填写 GROUP_SIZES 并运行
  3. 将输出 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