在 youtube 找到一套免费教程视频,但只有英文版本,于是让 AI 写了一套脚本,将英文翻译成中文,转为中文语音,然后再合并导出为新的视频文件。
之前都是 AI 写出来部分模块后,人工 review 再合并入项目。但是 ai 写的太快了,而且每次 ai 都会有不同的领悟, 写法多变,review 它的代码相当的痛苦。这次脚本完全 ai 写的,我只提了要求、指导意见,出错再贴上错误日志。第一版的时候还算顺利,虽然有翻译失败不报错,语音重复,语句合并逻辑错误,语音选择错误,相对还算快的完成,并产出了第一个视频,对于不会开发的人来说,能有这个结果可能就惊为天人了。但是下面的修改 bug 及添加功能才是痛苦的开始。目前已知中断后继续处理,重用已处理资源应该是有问题的,其它根据需要再优化了。还有目前是基于字幕文字进行处理的,下一步考虑直接基于音频自动生成 srt 或 vtt 字幕(可能使用 Whisper 相关工具),然后再进行处理。
工作流程
- 下载视频及字幕
- 分析字幕,合并成完整的文字句子
- 将合并后的文字交给 AI 翻译 (目前使用本地搭建的 ollama + qwen2.5:14b )
- 翻译完成后,将翻译后的文字交给 msedge-tts 进行合成语音
- 调用 pydub 合并音频
- 从原视频中提取视频部分
- 将视频和音频合并成新的视频文件
所以目前成本基本是零吧,语音稍稍机械了一些,其它还好
项目开源在 https://github.com/ioxinfty/auto-video-localizer
视频有点多, 转全部处理完成并整理好准备发到 b 站