关于 video-translation
video-translation 可翻译视频语音、生成配音并替换原音轨,适合需要目标语言配音的场景。它通过字幕时间戳对齐 TTS,并可保留翻译片段之外的非语音背景音。
主要功能
- 01下载视频和字幕
- 02逐句翻译字幕
- 03按时间轴对齐 TTS 配音
- 04使用参考音频克隆声音
- 05合并配音与视频
适用场景
- 01以配音观看外语视频
- 02将视频链接内容译成目标语言
- 03保留翻译片段之外的背景音
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ noizai/ skills --skill video-translation安装后在 Claude Code 中输入/video-translation确认已加载。
附带文件scripts/replace_audio.shscripts/srt_to_duck.py
详细介绍
视频翻译
将视频中的语音翻译成另一种语言,使用 TTS 生成配音,并替换原音轨。
触发语
- 翻译这个视频
- 给这个视频配英语音
- 把视频从 X 语译成 Y 语
- 视频翻译
使用场景
- 用户想观看外语 YouTube 视频,但更希望听到母语配音。
- 用户提供视频链接,并明确要求更改音频语言。
工作流
用户要求翻译视频时:
-
下载视频和字幕: 使用
youtube-downloaderskill 下载视频及其 SRT 字幕。请务必指定源语言,以获取正确的字幕。python path/to/youtube-downloader/scripts/download_video.py "VIDEO_URL" --subtitles --sub-lang <source_lang_code> -o /tmp/video-translation -
翻译字幕: 读取下载的
.srt文件。使用以下固定提示词,将字幕内容逐句翻译成目标语言。保持 SRT 索引和时间戳格式完全一致!翻译提示词:
将以下字幕文本从
翻译成 。 仅提供翻译后的文本。不要解释,不要添加备注,也不要添加索引编号。 译文必须口语化、自然流畅,适合视频配音。 将翻译后的文本保存到新文件
translated.srt。 -
生成配音: 使用
ttsskill,根据翻译后的 SRT 生成与时间轴精准对齐的音频。Noiz 后端会自动将每句话的时长与原视频字幕时间戳对齐。为确保克隆的声音在每句话中都与原说话者的语气和情绪完全一致,请将原视频文件传给
--ref-audio-track。TTS 引擎会自动按照每条字幕的精确时间戳切分原音频,并将其用作对应片段的参考音频。创建基本的
voice_map.json:{ "default": { "target_lang": "<target_lang_code>" } }生成与时间轴精准对齐的音频:
bash skills/tts/scripts/tts.sh render --srt translated.srt --voice-map voice_map.json --backend noiz --auto-emotion --ref-audio-track original_video.mp4 -o dubbed.wav -
替换视频中的音频: 使用
replace_audio.sh脚本将原视频与新配音合并。若要保留翻译片段之外的原视频非语音背景音,请传入--srt文件。bash skills/video-translation/scripts/replace_audio.sh --video original_video.mp4 --audio dubbed.wav --output final_video.mp4 --srt translated.srt -
提供结果: 将
final_video.mp4文件路径返回给用户。
输入
- 必需输入:
VIDEO_URL:要翻译的视频 URL。target_language:音频要翻译成的语言。
- 可选输入:
source_language:原视频的语言(如果未自动检测或指定)。reference_audio:用于声音克隆的指定音频文件/URL,以替代动态原视频音轨。
输出
- 成功:替换音频后的最终视频文件路径。
- 失败:清晰说明下载、TTS 或音频替换是否失败。
要求
- 依赖项(其他技能)
- youtube-downloader (crazynomad/skills) — SKILL.md
安装:将 crazynomad/skills 中的skills/youtube-downloader目录克隆或复制到你的skills/文件夹,以确保skills/youtube-downloader/scripts/download_video.py可用。 - tts (NoizAI/skills) — SKILL.md
如果此仓库中尚未包含该目录:将 NoizAI/skills 中的skills/tts目录克隆或复制到你的skills/文件夹。确保其中包含skills/tts/scripts/tts.sh及相关脚本。
- youtube-downloader (crazynomad/skills) — SKILL.md
- 为 Noiz 后端配置
NOIZ_API_KEY。如果尚未设置,先引导用户前往https://developers.noiz.ai/api-keys获取 API 密钥。用户提供密钥后,询问他们是否希望持久保存;如果同意,可以在项目的.env文件中写入或更新NOIZ_API_KEY=...,也可以运行bash skills/tts/scripts/tts.sh config --set-api-key YOUR_KEY进行保存。 - 已安装
ffmpeg。
限制
- 平台上必须提供源视频的字幕(或自动生成的字幕),且字幕语言必须与源语言一致。
- 翻译和配音很长的视频可能需要大量时间。