运行时依赖
安装命令
点击复制技能文档
视频音频替换 用TTS生成的语音替换视频的原始音频,同时保持精确的时间对齐。还支持使用Whisper从视频生成字幕。 完整工作流程 步骤1:生成字幕(可选) 如果没有SRT文件,可以使用包含的脚本从视频生成一个: # 生成字幕(使用faster-whisper,免费,局部) generate_subtitles.py video.mp4 -o subtitles.srt -l zh 或者使用Python手动生成: # 使用faster-whisper(推荐,局部,免费) pip install faster-whisper srt python3 << 'EOF' from faster_whisper import WhisperModel import srt from datetime import timedelta model = WhisperModel("base", device="cpu", compute_type="int8") segments, info = model.transcribe("input_video.mp4", language="zh") # 生成SRT def format_time(seconds): td = timedelta(seconds=seconds) return f"{td.seconds//3600:02d}:{(td.seconds%3600)//60:02d}:{td.seconds%60:02d},{td.microseconds//1000:03d}" srt_content = "" for i, seg in enumerate(segments, 1): start = format_time(seg.start) end = format_time(seg.end) srt_content += f"{i}\n{start} --> {end}\n{seg.text.strip()}\n\n" with open("subtitles.srt", "w", encoding="utf-8") as f: f.write(srt_content) EOF 步骤2:用TTS替换音频 使用生成的SRT创建一个带有TTS语音的新视频。 何时使用 配音视频以AI生成的语音 将字幕文件转换为语音 创建多语言视频版本 要求 API密钥(选择一个) ElevenLabs:设置ELEVENLABS_API_KEY环境变量 Edge TTS(免费,无需密钥):使用--engine edge 系统依赖 ffmpeg sox(可选,用于高级处理) 使用方法 基本使用方法(ElevenLabs) video-audio-replace --video input.mp4 --srt subtitles.srt --output output.mp4 --voice "Liam" 使用Edge TTS(免费,无API密钥) video-audio-replace --video input.mp4 --srt subtitles.srt --output output.mp4 --engine edge --voice "zh-CN-YunxiNeural" 选项 选项描述 默认 --video 输入视频文件 必需 --srt SRT字幕文件 必需 --output 输出视频文件 input_tts.mp4 --voice 语音ID或名称 Liam(ElevenLabs) --engine TTS引擎:elevenlabs,edge elevenlabs --speed-range 速度调整范围 0.85-1.15 示例 英语语音(ElevenLabs) video-audio-replace --video 2028.mp4 --srt 2028.srt --output 2028_final.mp4 --voice "Liam" 中文语音(Edge TTS) video-audio-replace --video video.mp4 --srt subs.srt --output result.mp4 --engine edge --voice "zh-CN-YunxiNeural" 工作原理 提取视频的原始音频 根据字幕时间戳将音频分割为段 为每个字幕段生成TTS音频 调整TTS速度(在0.85-1.15x范围内)以匹配原始段持续时间 添加静默填充以填充任何剩余的时间间隙 合并所有段,保留原始时间间隙 用对齐的TTS音频替换视频音频 可用语音 ElevenLabs(需要API密钥) Liam - 充满活力的男性(推荐) Sarah - 专业女性 Brian - 深沉的男性 使用API密钥运行curl以列出所有语音 Edge TTS(免费) 中文:zh-CN-XiaoxiaoNeural,zh-CN-YunxiNeural,zh-CN-YunyangNeural 英语:en-US-JennyNeural,en-US-GuyNeural 还有很多其他语言可用 GitHub CLI API