ai-chatbot/docs/video-canvas-director-chain-2026-09-16.md

50 lines
4.6 KiB
Markdown
Raw Permalink 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.

# 视频画布与 3D 导演台串联验收(2026-09-16 至 09-17)
测试范围:本地隔离工作树、真实登录、真实阿里云模型与现有对象存储。未部署线上,未修改线上模型目录。临时模型目录仅含官方千问 3.8 Max 和万相 `wan2.6-i2v-flash`。
## 实测发现与修复
- 旧导演台只有 CSS 场景、计时器和固定示例截图。活动入口替换为延迟加载的 Three.js 导演台:对象变换、机位、真实截图、GLB 导入及场景持久化。
- 通用上传拒绝 GLB。增加登录校验的专用接口,限制 25 MiB,验证 GLB 2.0 头部、总长度、JSON 场景和嵌入资源;明确拒绝外部纹理/缓冲区。
- 当前七牛存储域名未提供浏览器跨域响应头,GLB 上传成功后仍无法渲染。使用现有登录保护的模型代理,并加入该存储域名的匹配。
- 新画布首次携带节点保存时,先写节点再建父记录导致外键失败。改为事务内创建父记录、同步节点和关系、更新画布;已有画布加行锁校验版本。
- 主视频编辑器声音开关未传给生成接口,现已传递 `generateAudio`。
- 首帧/首尾帧快捷入口自动插入示例图片且未固定模式。改为选择画布真实图片,显式设置模式;缺少首帧/尾帧时禁止提交。
- 裁剪尺寸一直显示固定的 1024×576,且覆盖层继承 `pointer-events: none` 导致拖框实际移动节点。恢复裁剪层交互,尺寸随选择区域与素材尺寸变化;未知尺寸时显示区域百分比。
- 音轨卡片播放按钮只有占位提示。接入真实 audio 元素、播放/暂停、进度和错误反馈。
- 提示词接口补充不含密钥和提示词正文的失败类型/状态码日志,便于区分模型与传输错误。
## 验收记录
| 步骤 | 实际结果 |
|---|---|
| 首次带节点 PUT 保存 | HTTP 200,节点与画布均落库 |
| 同版本并发保存 | 一次 200、一次 409,未覆盖较新版本 |
| 真实 3D 渲染 | 人偶与上传的橙色立方体 GLB 可见;位置修改生效 |
| 多机位截图 | 正面 1280×720 / 40,614 B;侧面 720×1280 / 38,032 B;文件哈希不同 |
| 场景持久化 | 数据库保存后完整刷新页面,恢复 2 对象、3 机位、2 截图、9:16 比例及模型 X=1.8/Y=0;GLB 重新可见 |
| 千问优化 | 首次页面调用失败,原文保留;重试成功,HTTP 200 / 54 秒,结果应用到视频节点 |
| 真实截图引用 | 节点参考缩略图 URL 与导演台截图逐一一致 |
| 万相生成 | HTTP 200 / 35.0 秒;1280×720,5.008 秒,708,505 B,H.264 + AAC 双声道 |
| 浏览器播放 | `paused=false`、播放时间推进、无视频错误 |
| 自动归档 | HTTP 200 / 23.8 秒,换成持久存储地址 |
| 剪辑 | 以正确生成视频为输入,1280×720、1.734 秒、H.264 + AAC;HTTP 200 / 32.6 秒 |
| 裁剪 | 在剪辑结果上真实拖框,标签和导出均为 638×358,1.734 秒、H.264 + AAC;HTTP 200 / 19.8 秒 |
| 音视频分离 | 裁剪结果生成 638×358、1.734 秒无音轨视频,以及 1.719 秒 AAC 双声道 M4A |
| 完整刷新恢复 | 全部结果节点和 6 条处理连线恢复;独立音频与无声视频均播放成功、时间推进且无媒体错误 |
| 代码验证 | TypeScript 源码检查通过,6 组共 40 条定向回归测试通过 |
第一轮回归过程中,遗留示例节点与导演台截图重叠导致误选,生成了汽车背景视频。这轮被判为串联失败,不能作为导演台成功证据。清理旧示例后,从修复的新入口重跑,并核对真实参考 URL,再生成上述 1280×720 视频。
## 能力边界
AI 识图重建尚未接入,入口禁用并标明“未接通”;不再以计时器假装完成。当前验证的是基础场景与自包含 GLB,不包括复杂压缩模型、骨骼动画、完整素材库和参考站全部界面的像素验收。视频超分、智能去字幕等未配置服务的功能不计为通过。
本地冷编译和 SSH 数据库连接抖动明显增加了初次加载耗时。测试中恢复连接并重试失败保存后完成后续流程;这些本地耗时不能当作线上性能结论。原提示词优化首次失败没有足够诊断信息,不能断言具体根因。
## 串联顺序与留档
实际画布连线为:导演台 → 真实机位截图 → 万相首帧视频 → 剪辑 → 裁剪 → 无声视频 + 独立音轨。每一步均使用上一步真实产物。
本地 `.qa/video-chain/` 保存了截图、FFprobe 检查结果及实际 MP4/M4A;测试账户、密钥、签名地址、数据库快照不提交 Git。测试结束后禁用临时账户并清理隔离模型目录及临时服务。