你将得到什么
这是 1 份可直接复制给 AI 的在线工具生成型提示词,目标是让 AI 一次性产出一个可运行、可构建、可部署的「字幕对齐与时间轴修复」在线工具项目。项目包含完整代码、清晰的文件结构、可复现的运行命令、Docker 部署方式,以及测试用例或 QA checklist,便于你快速落地到实际工作流。
适用场景
适合处理访谈、网课、会议录屏、外语学习视频等素材:常见问题包括字幕整体提前/滞后、换源导致帧率变化引发的逐渐漂移、分段对齐(不同区间偏移不同)、字幕格式混杂(SRT/ASS)、以及对齐后需要导出新版字幕并生成对齐报告。
AI 提示词 (Prompts)
你是一个资深全栈工程师 + 音视频工程师。请生成一个可运行的在线工具项目:
【工具名称】在线字幕对齐与时间轴修复工具
【目标】用户上传视频(或仅上传音频)与字幕文件(SRT/ASS),工具提供多种对齐与修复方式,输出修复后的字幕文件,并生成对齐诊断报告(JSON + 可读 HTML)。
【必须交付物(硬性)】
1) 完整项目源码(前后端)+ 详细文件树。
2) 可复现运行命令:本地开发、生产构建、启动。
3) Docker 部署:Dockerfile + docker-compose.yml(含资源限制示例)。
4) 测试用例或 QA checklist:覆盖至少 10 条关键场景,含预期结果。
5) 文档:README 写清楚环境要求、功能点、输入输出、常见错误与排查。
【技术栈要求】
- 前端:Next.js + Type ,UI 允许使用 Tailwind。
- 后端:Node.js(可用 Next.js API Routes 或独立 Express/Koa 均可)。
- 音视频处理:优先用 ffmpeg(服务器端),并给出在无 GPU 的情况下的参数选择;如果你选择 ffmpeg.wasm(纯前端)也可以,但必须说明体积、性能与浏览器限制,并提供回退方案。
- 字幕解析:实现 SRT 与 ASS 的解析与序列化(保留样式信息时需解释策略)。
【核心功能(必须实现)】
A. 诊断模式(不改字幕):
- 检测字幕时间戳合法性(起止顺序、重叠、间隙异常)。
- 检测整体偏移(以用户输入偏移或通过采样点拟合)。
- 检测漂移:支持线性漂移拟合(例如帧率变化导致)。
- 输出诊断报告:summary + issues[] + suggestedFixes[]。
B. 修复模式(生成新字幕):
- 统一偏移:整体 +/− N ms。
- 漂移修复:支持线性模型 t' = a*t + b,并提供 UI 输入两个锚点(原时间与目标时间)自动计算 a,b。
- 分段修复:用户可新增多个区间规则(例如 00:00-05:00 +200ms,05:00-10:00 +450ms)。
- 去重与规范化:合并极短间隔、修复负时间、可选裁剪到视频时长范围。
- 导出:SRT、ASS(若输入为 ASS,默认输出 ASS;如果输出 SRT,需说明样式丢失策略)。
C. 预览与对比:
- 前端提供字幕时间轴预览:显示每条字幕的开始/结束/文本;支持搜索、定位、快速播放片段(可只播放音频)。
- 修复前后对比:同一条字幕的时间变化可视化(表格或差异标记)。
【上传与安全(必须说明并实现基本防护)】
- 限制文件大小与类型;给出错误提示。
- 服务端保存采用临时目录,支持任务完成后自动清理。
- 任务队列:同一时间限制并发(例如 2 个),其余排队;返回任务进度。
【输出格式(必须)】
- 修复后的字幕文件下载。
- 诊断报告下载:report.json 与 report.html。
【项目结构(必须明确列出)】
- /apps/web(前端)
- /apps/api(后端)
- /packages/sub (字幕解析库)
- /packages/shared(类型与工具)
【实现细节(请写清楚)】
- 字幕时间戳的精度:毫秒;ASS 处理时需要处理 centisecond 与样式行。
- 线性漂移的拟合方法:给出公式与示例。
- 分段规则的优先级与冲突处理。
- FFmpeg 参数选择:如何抽取音频、如何获取时长、如何生成低码率预览。
【测试 / QA(必须至少 10 条)】
- SRT 输入包含 BOM、不同换行符、空行。
- ASS 包含样式行与 Dialogue 行。
- 整体偏移后出现负时间的修复策略。
- 漂移修复前后首尾字幕对齐验证。
- 分段修复的区间边界与重叠规则。
- 大文件性能:10 万行字幕的处理策略(分页/流式/内存控制)。
- 并发与队列:同时提交 3 个任务的行为。
- 临时文件清理:任务结束后目录不存在。
- 导出文件编码:UTF-8,必要时保留原编码并说明。
- UI 对齐结果可视化:差异标记准确。
请直接输出:
1) 设计说明(简明)
2) 完整文件树
3) 关键代码(可复制运行)
4) 运行命令
5) Docker 部署
6) 测试或 QA checklist
注意:必须保证项目可构建可启动;README 要写到照抄即可跑通。
落地建议
如果你的素材来自不同平台,字幕漂移往往与帧率变更或剪辑再编码有关。优先使用「两个锚点」方式做线性漂移修复:在开头与结尾各选一条你能确认对齐的字幕,输入“原时间→目标时间”,工具自动计算校正系数,再用分段规则处理局部异常区间。最后用诊断报告检查重叠与负时间,避免导出后播放器解析失败。
验收要点(快速 QA)
导出后至少抽检 3 个区间:开头 1 分钟、中段随机 1 分钟、结尾 1 分钟。确认字幕不持续漂移、无明显重叠、无负时间、无空文本;ASS 输出时样式行存在且 Dialogue 时间格式正确。若输入为 SRT,输出 SRT 的换行符与编码需兼容常见播放器(UTF-8、CRLF/ LF 均可)。