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-react
import { 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 基础就能跑起来)