我用 AI 给 YouTube 视频自动加中文字幕,3 分钟搞定
每天刷 YouTube 的时候,总能看到优质的 AI 教程、技术演讲和产品发布。问题来了——大部分没有中文字幕。靠听的,偶尔漏几句;靠浏览器插件翻译,质量参差不齐,还经常断在 buffering 上。
手动做字幕?一个 10 分钟的视频,听写、断句、翻译、调时间轴,至少花一个小时。如果是一小时的视频,一下午就搭进去了。
所以我把整个流程自动化了:下载视频 → 转录英文 → 翻译中文 → 烧录字幕,端到端跑完大概 3 分钟(取决于视频长度)。这篇文章把每一步拆开讲,给你所有可以直接复制的命令和代码。
整体工作流
先看全貌:
1 | YouTube 链接 |
需要安装的工具:yt-dlp、ffmpeg、Python 3.10+,以及几个 Python 库。下面一步步来。
第一步:用 yt-dlp 下载视频
yt-dlp 是 youtube-dl 的活跃分支,下载速度快,格式支持全。
1 | # 安装 |
如果只需要音频来做转录,可以跳过视频下载,直接拿音频:
1 | yt-dlp -x --audio-format mp3 \ |
但后面烧录字幕需要视频文件,所以一般情况下还是下载完整视频。
第二步:用 ffmpeg 提取音频
Whisper 处理的是音频文件,所以需要从视频里提取出来:
1 | ffmpeg -i input.mp4 -vn -acodec pcm_s16le -ar 16000 -ac 1 audio.wav |
参数解释:
-vn:不要视频流-ar 16000:采样率 16kHz,Whisper 的推荐值-ac 1:单声道,识别效果更稳定
这一步很快,通常几秒钟。
第三步:用 Whisper 自动语音识别
Whisper 是 OpenAI 开源的语音识别模型,支持 99 种语言。对于英文视频,识别准确率非常高。
1 | # 安装 |
模型大小选择:
tiny/base:速度快,准确率一般,适合短视频small:平衡选择,10 分钟视频大概 1 分钟跑完medium:准确率高,需要 5GB 显存large:最高准确率,显存需求大,速度慢
没有 GPU 也能跑,就是慢一些。M 系列 Mac 用 MPS 后端还挺快的。
运行完你会得到 audio.srt,这就是英文字幕文件。
也可以在 Python 里调用,方便后续流水线串联:
1 | import whisper |
第四步:翻译成中文
拿到英文 SRT 之后,需要把每一条字幕翻译成中文。直接用全文翻译会比逐条翻译更连贯,因为上下文能保留。
这里用 OpenAI 的 API 来做翻译,你也可以换成其他大模型:
1 | import re |
想做成双语字幕?把原文和翻译拼在一起就行:
1 | def make_bilingual_srt(en_srt, zh_srt, output_path): |
第五步:用 moviepy 烧录字幕到视频
字幕文件准备好了,最后一步是把字幕”烧”进视频画面里。
1 | from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip |
几个注意点:
- Mac 上显示中文,字体改成
'PingFang-SC'或/System/Library/Fonts/PingFang.ttc ImageMagick是 moviepy 的依赖,Mac 上用brew install imagemagick安装- 烧录速度取决于视频长度和 CPU,10 分钟视频大概 2-3 分钟
第六步:生成 GIF 预览
做完视频,顺手截一段 GIF 预览,方便分享:
1 | # 截取第 30 秒开始的 5 秒,生成 GIF |
-ss 30 是起始时间,-t 5 是时长,scale=480 限制宽度,保持 GIF 体积可控。
进阶:用 edge-tts 做中文配音
如果光看字幕还不够,想加上中文语音旁白,可以用微软的 edge-tts,免费且效果不错。
1 | pip install edge-tts |
1 | import edge_tts |
可用中文语音列表:
1 | edge-tts --list-voices | grep zh-CN |
推荐几个:
zh-CN-YunxiNeural:男声,年轻自然zh-CN-XiaoxiaoNeural:女声,温柔清晰zh-CN-YunjianNeural:男声,沉稳有力
然后把配音替换到视频里:
1 | ffmpeg -i output.mp4 -i chinese_voice.mp3 \ |
注意配音时长要和视频时长大致匹配,如果差太多可以用 ffmpeg 的 atempo 滤镜调速。
一键脚本
把上面的步骤串起来,做成一个完整脚本:
1 | #!/usr/bin/env python3 |
用法:
1 | # 只有英文字幕 |
小结
整个流程跑通之后,看 YouTube 技术视频的体验完全不一样了。3 分钟自动出字幕,比手动快了 20 倍,而且 Whisper 的识别准确率在英文清晰的情况下能到 95% 以上。
几个可以继续优化的方向:
- 批量处理:丢一个播放列表链接进去,自动逐个翻译
- 术语表:给翻译模型一份术语对照表,保证技术名词一致性
- 样式定制:字幕字体、颜色、描边、位置全部可调
- 内容摘要:翻译完之后顺手让大模型生成一份视频摘要
工具链都是开源的,跑起来零成本(除了翻译 API 的几毛钱)。周末花一个小时搭好环境,以后就是一键的事。
参考链接
- yt-dlp 文档: https://github.com/yt-dlp/yt-dlp
- Whisper 项目: https://github.com/openai/whisper
- moviepy 文档: https://zulko.github.io/moviepy/
- edge-tts 项目: https://github.com/rany2/edge-tts
- ffmpeg 官网: https://ffmpeg.org/
本文标题:我用 AI 给 YouTube 视频自动加中文字幕,3 分钟搞定
文章作者:AwesomeYang
发布时间:2026-06-21
最后更新:2026-06-22
原始链接:https://awesomeyang.com/2026/06/21/ai-youtube-subtitle-translate/
版权声明:未经允许禁止转载,请关注公众号联系作者
