crosssubtitle-ai/README.md
2026-03-18 22:14:49 +08:00

62 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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. 安装 `cmake``whisper-rs-sys` 在首次编译时需要它。
3. 安装 `ffmpeg`,并确保可通过命令行直接调用。
4. 安装前端依赖:
```bash
npm install
```
5. 如需中文翻译,配置环境变量:
```bash
export OPENAI_API_BASE=https://your-openai-compatible-endpoint/v1
export OPENAI_API_KEY=your_api_key
export OPENAI_MODEL=gpt-4o-mini
```
6. 若要真正启用 ONNX Runtime 推理,请确保本机存在可被 `ort` 动态加载的 ONNX Runtime 库,或按你的部署方式提供运行库。
7. 启动桌面应用:
```bash
npm run dev
```
## 下一步建议
-`src-tauri/src/vad.rs` 补模型输入名自适应和更多异常日志。
- 加入文件选择器、任务恢复、批量导出与测试用例。
-`whisper-rs` 增加硬件加速参数与模型配置面板。