crosssubtitle-ai/README.md
2026-03-19 14:50:22 +08:00

2.1 KiB
Raw Permalink Blame History

CrossSubtitle-AI

基于 Tauri v2 + Vue 3 + Pinia + Tailwind CSS 的本地优先字幕工作台,覆盖以下 MVP 链路:

  • 导入音视频文件并创建任务队列
  • 使用 ffmpeg 抽取 16kHz 单声道 WAV
  • 执行基础 VAD 切分并生成语音片段时间轴
  • 进入 Whisper 转录/翻译环节
  • 可选接入 OpenAI-compatible 接口生成中文译文
  • 实时推送任务进度和字幕片段
  • 导出 SRT / VTT / ASS

目录结构

  • src/: Vue 前端界面、Pinia 状态、字幕编辑器
  • src-tauri/src/audio.rs: 音频抽取与 WAV 读取
  • src-tauri/src/vad.rs: VAD API 与基础能量检测实现
  • src-tauri/src/whisper.rs: Whisper 接口层
  • src-tauri/src/translate.rs: OpenAI-compatible 滑动窗口翻译
  • src-tauri/src/subtitle.rs: SRT / VTT / ASS 导出
  • src-tauri/src/task.rs: 任务编排与事件广播

当前实现说明

  • 当前仓库已补齐完整工程骨架与核心数据流。
  • 前端 npm run build 已通过Rust 侧 cargo check 已通过。
  • whisper.rs 已接入真实 whisper-rs,会基于 VAD 片段逐段转录;目标语言为英文时启用 Whisper 原生 translate
  • vad.rs 已接入 ort 版 Silero VAD 推理入口;当模型缺失或推理失败时,会自动回退到能量检测,保证链路不断。

运行前准备

  1. 安装 Rust 工具链。
  2. 安装 cmakewhisper-rs-sys 在首次编译时需要它。
  3. 安装 ffmpeg,并确保可通过命令行直接调用。
  4. 安装前端依赖:
npm install
  1. 如需中文翻译,配置环境变量:
export OPENAI_API_BASE=https://your-openai-compatible-endpoint/v1
export OPENAI_API_KEY=your_api_key
export OPENAI_MODEL=GLM-4-Flash-250414
  1. 若要真正启用 ONNX Runtime 推理,请确保本机存在可被 ort 动态加载的 ONNX Runtime 库,或按你的部署方式提供运行库。

  2. 启动桌面应用:

npm run dev

下一步建议

  • src-tauri/src/vad.rs 补模型输入名自适应和更多异常日志。
  • 加入文件选择器、任务恢复、批量导出与测试用例。
  • whisper-rs 增加硬件加速参数与模型配置面板。