ai-chatbot/docs/video-canvas-base-audit-2026-09-18.md

60 lines
6.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.

# 视频画布基础功能核对与 P40 资源调整(2026-09-18)
## 本轮范围与结论
直接核对 LibTV 现有画布的九宫格菜单、手写剧本工作流、资产准备和编组工具栏,并检查本地实现;没有触发参考站付费生成。应用改动仅在本地验收,未更新主站。本次服务器操作仅降低千问实例数量,未部署人声分离或视频超分模型。
| 功能 | 参考站 | 本地核对结果 |
| --- | --- | --- |
| 九宫格菜单 | 多机位九宫格、剧情推演四宫格、角色脸部三视图、角色设定图、场景设定图、产品设定图、25宫格连贯分镜、电影级光影校正、角色三视图、3秒后/5秒前推演,共11项 | 均有配置与生成入口;参考图模型路由及宫格拆分已实现。本轮未重复实际付费生图 |
| 宫格默认提示词 | 应随输入素材保持主体与场景 | 发现4项写死绿色服装或森林;已改成素材通用约束,保留2x2/3x3/5x5布局。仅迁移已知旧默认值,保留管理员自定义提示词 |
| 自己编写分镜脚本 | 直接打开确认镜头,初始1个空镜头 | 原入口仅选中节点,未打开编辑器;已修复。编辑、新增、自动保存及刷新持久化在本地浏览器通过 |
| 分镜编辑 | 确认镜头、准备资产、合成提示词;单元格弹层、行拖动 | 本地已有三阶段、逐格编辑、增删/上移、逐行/全部合成、导出;弹层样式和拖动排序未完全对齐 |
| 资产准备 | 角色/场景/道具;AI生成、当前画布、本地上传、个人资产库 | 已有前3种来源,个人资产库入口及逐资产模型/比例参数仍缺;不能标记完全复刻 |
| 批量生成条件 | 三阶段完成状态及视频生成门槛 | 本地已统计资产/提示词就绪数,但批量入口尚未完整落实三阶段门槛,空镜头也应补校验 |
| 编组 | 组颜色、布局、整组执行、添加到工具箱、转分镜组、解组、批量下载 | 现有 TOOLBOX_TEMPLATE_GROUP 为预设背景框,没有完整成员关系和通用编组操作,尚未完整实现 |
| 视频高清 | 视频超分功能 | 已有1080/2K/4K节点参数,但执行函数明确报未接通;没有实际超分服务 |
| 人声分离 | 人声/伴奏处理 | 本地已实现HTDemucs实际分离,但当前Python脚本使用主应用所在机器CPU,尚未迁移算力服务器 |
## 千问与 GPU 调整:已执行
- 服务器4张Tesla P40,每张驱动报告23040MiB。
- 调整前 GPU0、1、3 各运行一个 `qwen38-27b-32k` 实例,单实例 `--parallel 1`;GPU2 被 masked。
- GPU2 的既有 Nginx 配置明确记录历史 `NVIDIA Xid 79 / fallen off bus`。虽然当前可枚举、显存5MiB,不能因此宣称可稳定计算。本轮没有解除该卡禁用。
- 将 `127.0.0.1:18233` 从 Nginx upstream 移除,`nginx -t` 通过并 reload。
- 连续3次确认18233的槽位空闲后,disable并stop `qwen38-27b-32k@3.service`。
- GPU3显存从19055MiB降到5MiB,无计算进程,复查利用率0%。GPU0、1仍各19055MiB。
- 并发由3路降为2路;模型、量化和单实例32K上下文保持不变。超过两路的请求等待或上游限流风险相应增加,未扩大请求队列。
- 18230、18231直接健康检查、18080/18188代理健康检查通过;18084鉴权模型列表返回200。
- 两个保留实例同时执行短文本推理,均200且返回2个输出token。
- 手动运行CUDA驻留守护检查后,GPU3仍inactive。守护脚本会跳过disabled/masked实例。
- 原视频服务所用18231保留;video-render与FRP服务均active。
- 配置备份位于服务器 `/root/qwen-gpu-release-20260918-104112/qwen38-27b-local.conf`,备份目录仅root可访问。
### 回滚
先启用并启动 `qwen38-27b-32k@3.service`,等待18233健康且确认GPU3模型已驻留,再从备份恢复原Nginx配置,检查语法后reload。不能先恢复路由到尚未就绪的实例。部署媒体模型后回滚应先排空媒体任务并释放GPU3。
## 算力服务方案与开源检索
优先把新释放的GPU3作为媒体任务卡,人声分离和视频超分共享有界队列,初期每卡仅一个重任务。GPU2故障卡另行稳定性测试后才考虑加入。主应用仅处理鉴权、任务状态和结果引用;媒体下载、推理、封装及上传在算力服务执行,禁止失败后静默回落主站CPU。
| 项目 | 依据与用途 | 本机边界 |
| --- | --- | --- |
| [Demucs](https://github.com/facebookresearch/demucs) | MIT,官方支持GPU;可沿用当前HTDemucs模型与人声/伴奏输出 | 将脚本硬编码CPU改为显式GPU设备,独立依赖环境、异步任务和取消/超时;目前未部署GPU实例 |
| [Real-ESRGAN](https://github.com/xinntao/Real-ESRGAN) | BSD-3-Clause,官方包含视频推理、分块和FP32选项;优先作为可验证的超分基线 | P40先验证兼容环境和分块推理;逐帧方法可能闪烁,实际速度和质量未测,不能承诺实时4K |
| [RealBasicVSR](https://github.com/ckkelvinchan/RealBasicVSR) | Apache-2.0,面向真实视频恢复,具有时序处理 | 旧MMCV/MMEditing依赖需隔离。原示例整段读帧、默认25fps,不可原样上线;应分段并保持源帧率及音轨 |
| [FlashVSR](https://github.com/OpenImagingLab/FlashVSR) | Apache-2.0,官方性能展示基于A100等,依赖稀疏注意力实现 | 官方性能不能套用P40,不作为首选部署目标 |
| [SeedVR2](https://github.com/ByteDance-Seed/SeedVR) | Apache-2.0,官方高规格GPU视频恢复方案 | 官方H100示例不能用于推断P40吞吐,暂不作为首选 |
Real-ESRGAN的视频示例存在shell路径调用、FPS表达式求值和帧失败继续执行等行为,不能直接封装为公网API。实现时使用安全argv调用FFmpeg、验证媒体参数、限制时长/像素/磁盘量;输入帧失败应明确失败,成片校验帧率、帧数、时长及音轨,不把普通缩放标成AI超分。
## 本轮验证
- 本地浏览器3027:手写入口打开含1个空镜头的工作流;填写柜门画面描述,新增第2镜头;保存后刷新,2个镜头和描述均保留。
- 四个相关测试文件:66通过,1项FFmpeg集成测试因当前命令PATH无FFmpeg跳过。本轮没有修改媒体编解码实现。
- TypeScript 全量 `tsc --noEmit --incremental false` 通过。
- 新增回归覆盖:旧示例提示词迁移、布局约束保留,以及管理员自定义绿色服装/森林提示词不被覆盖。
- 参考站临时测试节点已删除,原11个节点保留,恢复到素材混剪分组视图。
- 本轮不宣称编组、超分服务、像素级分镜编辑器或GPU人声分离已完成。