# video-analyzer Specification ## Purpose TBD - created by archiving change update-video-analyzer-task-queue. Update Purpose after archive. ## Requirements ### Requirement: 视频分析必须进入统一任务队列 爆款视频生成工具在用户提交视频分析时,系统 SHALL 创建一个可追踪的队列任务,而不是仅在组件内直接等待异步结果。 #### Scenario: YouTube 视频分析入队 - **WHEN** 用户在爆款视频生成工具第 1 步输入 YouTube URL 并开始分析 - **THEN** 系统创建一个视频分析任务并出现在任务队列中 - **AND** 任务完成后将结构化分析结果写回对应的分析记录 #### Scenario: 本地上传视频分析入队 - **WHEN** 用户在爆款视频生成工具第 1 步上传本地视频并开始分析 - **THEN** 系统创建一个视频分析任务并出现在任务队列中 - **AND** 任务完成后将结构化分析结果写回对应的分析记录 ### Requirement: 脚本改编必须进入统一任务队列 爆款视频生成工具在用户执行 AI 脚本改编时,系统 SHALL 创建一个可追踪的队列任务,并在完成后回写镜头脚本。 #### Scenario: 脚本改编任务完成后回写 - **WHEN** 用户在第 2 步提交 AI 改编脚本 - **THEN** 系统创建一个脚本改编任务并出现在任务队列中 - **AND** 任务完成后将改编后的镜头数据写回当前分析记录 ### Requirement: 历史分析记录必须保存可恢复输入源 爆款视频生成工具保存分析历史时,系统 SHALL 同时保存足以恢复再次分析的输入源快照。 #### Scenario: 保存 YouTube 输入源 - **WHEN** 用户使用 YouTube URL 完成一次分析 - **THEN** 历史记录保存原始 `youtubeUrl` #### Scenario: 保存本地上传输入源 - **WHEN** 用户使用本地视频完成一次分析 - **THEN** 系统将本地视频缓存到本地存储 - **AND** 历史记录保存恢复该视频所需的缓存引用与文件元数据 ### Requirement: 从历史记录重新进入分析页时必须回填输入源 用户从爆款视频生成工具的历史记录重新进入分析页时,系统 SHALL 尝试恢复原始输入源,而不是只展示历史结果。 #### Scenario: 回填 YouTube URL - **WHEN** 用户打开一条来自 YouTube 的历史分析记录 - **THEN** 分析页自动回填对应的 YouTube URL #### Scenario: 恢复本地上传视频 - **WHEN** 用户打开一条来自本地上传的历史分析记录且本地缓存仍可用 - **THEN** 分析页自动恢复视频预览 - **AND** 用户可以直接重新提交分析 #### Scenario: 本地视频缓存不可恢复时安全降级 - **WHEN** 用户打开一条来自本地上传的历史分析记录但原视频缓存已丢失 - **THEN** 系统保留原有分析结果展示 - **AND** 明确提示该历史记录无法恢复原视频输入