Flycut Caption 是一款基于 React 的 AI 视频字幕编辑组件,集成 OpenAI Whisper 模型实现本地语音识别转字幕,支持可视化剪辑、实时预览、样式自定义和多格式导出。浏览器本地运行 AI 无需上传服务器,隐私安全有保障,文末附详细使用教程
🎤 引言
做视频的朋友应该都懂——加字幕是最枯燥的重复劳动。传统流程要先把音频导出,上传到某飞某讯的语音识别服务,等待处理完下载字幕文件,再导入剪辑软件对齐时间轴,遇到识别错误还得逐句校对,一套下来半小时没了。
Flycut Caption 是一个开源的 React 字幕编辑组件,直接把整个流程打包成浏览器应用。上传视频、自动识别、可视化编辑、样式调整、导出成品,全在本地搞定。关键是 AI 模型跑在浏览器里,你的视频数据不会离开电脑,隐私这块拿捏住了。
⭐ 核心功能
🧠 AI 语音识别
基于 OpenAI 的 Whisper 模型,通过 Hugging Face Transformers.js 在浏览器本地运行。支持中文、英文等多语言识别,识别过程放在 Web Worker 后台线程,界面不会卡顿。
跟在线服务比起来,本地运行的优势很明显:不用等上传下载、不用担心网络波动、敏感内容不会经过第三方服务器。实测一段 5 分钟的 1080p 视频,识别耗时约 30 秒(取决于电脑性能)。
✂️ 可视化字幕剪辑
识别完的字幕以时间轴形式呈现,想删哪段直接点选,支持批量操作和撤销重做。点击字幕就能跳转到对应视频位置,配合实时预览快速定位。
这个设计比传统字幕软件直观得多——不用在密密麻麻的时间轴里找片段,直接看文字列表就知道哪句要删。
🎨 字幕样式自定义
字体大小、粗细、颜色、位置、对齐方式、背景透明度,这些都能调。调整效果实时显示在视频预览上,所见即所得。
对于需要统一品牌风格的创作者,这个功能能省不少后期调色的功夫。
📤 多格式导出
字幕可以导出 SRT(通用格式,Pr/FCP/剪映都能导入)或 JSON(方便二次开发)。视频导出支持剪辑功能——只保留没删的片段,还能选择是否把字幕烧录进视频。
📥 安装与使用
项目源码托管在 GitHub,基于 Node.js 开发,环境要求:
- Node.js 18+
- pnpm(推荐)或 npm
快速开始:
# 克隆项目
git clone https://github.com/x007xyz/flycut-caption.git
cd flycut-caption
# 安装依赖
pnpm install
# 启动开发服务器
pnpm dev
# 浏览器访问
http://localhost:5173也可以作为组件集成到自己的项目:
npm install @flycut/caption-reactimport { FlyCutCaption, zhCN, enUS } from '@flycut/caption-react'
// 使用中文语言包
<FlyCutCaption
config={{ language: 'zh' }}
locale={zhCN}
/>支持自定义语言包,文档里给了日语示例,需要其他语言可以照葫芦画瓢。
🎯 技术亮点
| 特性 | 说明 |
|---|---|
| React 19 + TypeScript + Vite + Tailwind CSS | 现代前端技术栈,类型安全、开发体验好 |
| 本地化 AI 处理 | Transformers.js 让 Whisper 在浏览器里跑,数据不上云 |
| Web Worker 后台处理 | ASR 识别不阻塞主界面,操作流畅 |
| 组件化架构 | 模块化设计,方便二次开发和集成 |
| 国际化支持 | 内置中英文语言包,支持自定义扩展 |
✅ 总结
Flycut Caption 适合需要快速给视频加字幕的场景——vlog 剪辑、课程录制、会议录像都能用。本地跑 AI 这点很加分,敏感内容不用担心泄露。
目前项目还在早期阶段,功能已经可用但还有优化空间。如果你熟悉 React,可以 fork 出来按自己需求改,MIT 协议随便折腾。源码在 GitHub,欢迎 star 和提 issue。
适合人群:视频创作者、开发者、需要批量处理字幕的用户
上手难度:⭐⭐(有 Node.js 基础就能跑起来)