给视频加字幕,视频不用上传:这个开源工具在浏览器里跑 Whisper
给视频加字幕这件事,卡在一个尴尬的地方。
用在线工具吧,得把视频传上去。如果是会议录像、内部培训、或者任何带点隐私的内容,传到别人服务器上总让人心里不踏实。而且大文件上传慢,等云端处理完再下载,来回折腾。用本地软件吧,得装个几百兆的剪辑工具,只为了加个字幕,杀鸡用牛刀。
OpenSubs 想绕开这个两难。它在浏览器里直接跑 Whisper 模型,视频文件从头到尾留在你电脑上,不经过任何服务器。转写完了还能直接把字幕烧录进 MP4。AGPL-3.0 开源。
作者在论坛上自荐时的说法很直接:视频没有地方可传,因为它根本没离开过本机。
这是什么
OpenSubs 是一个隐私优先的开源 AI 字幕工具。核心能力就四件事:从视频里识别语音、翻译字幕、套用样式、把字幕烧进视频。全部在客户端完成。
技术上,核心引擎用 Rust 写成,编译成 WebAssembly 跑在浏览器里。网页端用 Svelte 5 + Vite 构建,视频处理走 WebCodecs API,字幕渲染用的是 libass 编译的 WASM 版本——和 ffmpeg 用的是同一个渲染器。桌面端和命令行版本则用原生 ffmpeg。
一共四种形态:网页版、浏览器扩展、桌面应用(macOS/Windows/Linux)、命令行工具。核心引擎共享,界面不同,场景不同。
浏览器里跑 Whisper
Whisper 是 OpenAI 开源的语音识别模型,通常得在本地装 Python 环境跑。OpenSubs 把它搬进了浏览器。
三种模型尺寸可选:Tiny 约 40MB(只支持英文)、Base 约 80MB、Small 约 250MB。首次使用时从 Hugging Face 下载,之后浏览器会缓存,不用重复下载。
推理有两条路径:有 GPU 就用 WebGPU,没有就退回 WebAssembly。这个设计有个实际的故事——论坛上一位用户反馈,他的 Intel 核显用 WebGPU 反而比 WASM 慢,作者随后修复了这个问题,现在 Intel 核显默认走更快的后端,模型选择器旁边也加了手动切换 GPU/CPU 的开关。
转写时模型每 4 秒自动检测一次语言,所以多语言混合的视频也能处理。

视频不出本机
这是整个工具最核心的价值。
你打开 opensubs.app,把视频拖进去,剩下的全部在浏览器里完成。文件读取走本地 API,不发送到任何服务器。没有账号,没有上传,没有云端队列。内容涉及隐私的视频——内部会议、客户资料、个人素材——都可以放心处理。
对比一下在线字幕工具的流程:选文件、上传、等待、云端转写、下载字幕、下载视频。OpenSubs 的流程是:拖进去、本地转写、导出。没有上传和下载这两步,大文件也不用等网络。
直接烧录进 MP4
生成字幕后,多数工具就到此为止了,你还得再找个软件把字幕压进视频。OpenSubs 把这个环节也做了。
它用 WebCodecs 把字幕直接编码进视频像素,导出一个带字幕的 MP4 文件,没有水印。整个过程在浏览器内完成,和转写一样不上传。
如果不想烧录,也可以导出 .srt、.vtt、.ass 这三种字幕格式,拿去别的工具用。

12 种字幕样式
内置 12 种字幕样式预设,从传统广播字幕风到社交媒体风格都有,样式能实时叠加在视频画面上预览,不用导出才知道效果。
其中有个逐词高亮效果值得单独说——就是短视频里常见的那种,说到哪个词哪个词就放大或发光,跟着语音节奏走。以前做这个效果得用专业剪辑工具打关键帧,现在选个预设就行。

20 种语言的翻译
转写完可以翻译成 20 种语言,包括简体中文、繁体中文、日文、韩文、阿拉伯文、印地文,非拉丁字体都打包在工具里,不会出现方块字。
免费路径用的是 Chrome 内置的端侧翻译,同样不上传内容。如果想要更好的翻译质量,可以自己填 Claude、OpenAI 或 DeepSeek 的 API Key,走云端翻译——这部分是可选的,默认关闭。
字幕可以只显示译文,也可以双语对照,原文和译文上下叠放。
还能当字幕编辑器用
OpenSubs 内置了字幕编辑功能。转写结果里识别错的字,直接在文本框里改;点时间戳,视频会跳到对应位置,方便核对。
它还能打开已有的 .srt 或 .vtt 文件(会自动识别编码),不加载视频也能翻译、改样式、转格式。手里有现成字幕文件、只是想翻译一下的场景,用这个很顺手。
四种形态
网页版最轻,打开就用,适合偶尔处理一两个视频。
浏览器扩展(Chrome、Edge、Firefox)能给正在播放的视频实时叠加字幕,看外语视频时有用。目前还没上架应用商店,需要从 GitHub Releases 下载 zip 手动加载。
桌面应用支持 macOS、Windows、Linux,适合处理长视频和批量转写。macOS 版从 v1.0.1 起做了开发者签名和公证。
命令行版一个命令处理一个文件,方便写脚本、接 CI。
实际用起来
打开 opensubs.app,把视频拖进去,选模型尺寸,点开始。首次会下载模型(40MB 到 250MB 不等),之后就缓存在浏览器里了。
转写等一会儿——具体时间取决于视频长度和你的硬件。有独立显卡的话 WebGPU 会快很多。转写完成后字幕出现在编辑区,可以逐条修改,然后选样式、决定是否翻译,最后导出字幕文件或烧录 MP4。
几个细节。模型下载是一次性的,第二次用同一个模型就不用等了。转写和烧录都在本地跑,CPU 占用会高一些,处理长视频时电脑风扇会响。整个过程浏览器标签页要开着,关了就中断了。
现在还不完善的地方
项目很新,v1.0 是 2026 年 9 月发布的,有些地方还需要打磨。
只接受视频文件,纯音频不行。字幕的时间轴不能编辑——文字能改,但每条字幕的开始和结束时间是固定的。字幕条也不能新增、删除或合并。界面有简体和繁体中文,但少数文案还是英文。
另外,官方说明当前版本是 release candidate 状态,功能和稳定性还在收敛。
和其他方案比
和在线字幕工具比:那些工具必须上传视频,OpenSubs 全程本地,隐私上有本质差别,大文件也不用等上传下载。
和剪映这类剪辑软件比:剪辑软件功能更全,但要装几百兆的软件,为了加个字幕不太划算。OpenSubs 打开网页就行。
和本地跑 Whisper 命令行比:命令行版本效果一样但要配 Python 环境,网页版省掉了这一步。
适合什么人
如果你符合这几条,OpenSubs 值得试试:经常要给视频加字幕;处理的内容有隐私顾虑,不想上传;想省掉”转写工具 + 烧录工具”两道流程;需要把字幕翻译成其他语言。
几个提醒。这是新项目,GitHub 上 25 Star,2026 年 9 月发布首个稳定版,功能完整但还在迭代。所有端侧功能永久免费、无需账号;云端翻译是可选的付费项,5 美元 1000 积分,积分不过期。命令行和桌面版从 GitHub Releases 下载。
获取方式:直接打开 opensubs.app 使用,或 GitHub 仓库 github.com/open-subs/opensubs。
给视频加字幕不该以交出视频为代价。把模型搬到浏览器里跑,这个思路值得一试。
关注「善忘技术夹」全媒体矩阵
扫描上方宣传海报二维码,第一时间获取最新技术文章、开源项目与免安装小程序体验。