ai-chatbot/docs/video-render-service-2026-09-17.md

2.8 KiB
Raw Blame History

视频合成独立服务实施记录

用户明确只迁移视频合成,其他分析、选片和任务管理保留主项目。新建独立 Node HTTP 服务,复用同一 EDL/FFmpeg 渲染实现;没有重新实现另一套预览/导出时间规则。

算力服务器

只读检查:shujuku3,AMD EPYC 7B12,64物理核/128线程,125GiB内存,可用约79GiB,根盘空余约151GiB(检查时点)。四张Tesla P40,三张已加载千问模型。现有 qwen3.8-27b-q4-32k 三个实例在18230/18231/18233,健康接口均成功;/props 明确 vision/video/audio 均为false,只能复用文字能力。

部署:专用 video-render 用户和 systemd 服务,FFmpeg 6.1.1,已有 Noto CJK 字体。CPUQuota=400%,MemoryHigh=6G,MemoryMax=8G,并发1,监听127.0.0.1:18340。文字助手指向18231,普通合成不调用模型;此轮没有新增模型推理测试或改变现有千问服务配置。

48 主机通过专用 SSH 隧道访问同一回环端口。新隧道密钥仅允许指定回环监听端口,固定主机公钥,服务另有随机 Bearer 认证。客户端凭据保存在 /etc/video-render-client.env,没有提交 Git。

已验证

  • 真实 PySceneDetect 识别三个色块镜头;RMS识别两段有声区间;librosa识别22个节拍。
  • 真实 FFmpeg:直接拼接4秒、叠化后3.5秒,含无音轨素材、2倍速、配乐和中文字幕。
  • 独立 HTTP 服务真实测试:无凭据401、同ID重复提交幂等、不同参数409、强制杀进程后重启恢复、完成后重启仍可下载。
  • 48主机适配器→加密隧道→算力服务→读取成片→现有对象存储归档:720p横屏及1080p竖屏成功。竖屏额外覆盖三片段、非整秒边界、不同速度和0.25秒叠化。
  • 真实 React 组件操作:添加素材、生成方案、转写未就绪禁用、分割、变速、转场、排序、导出参数、关闭重开恢复、EDL下载。尚需主项目发布后的完整页面验证。
  • helpers 482项通过,1项跳过;TypeScript通过。真实PostgreSQL队列回归通过。

智能剪辑实现范围

四种模式、最多三版广告排序、语句/镜头候选、可选千问3.8视觉选片、节拍切镜、去静音、可编辑时间轴和字幕、方案/SRT下载、成片回到画布。模型语义请求状态不明确时禁止重复调用。广告多版本目前是候选排序轮换,不能宣称独立创意脚本生成。

FunASR适配与安装脚本已实现,未装权重、未做真实ASR验收,界面禁用自动转写并支持导入SRT。当前本地千问接口不能替代视觉选片,视觉分析继续使用主项目已有模型配置。

部署边界:独立合成服务已启动且两机链路实测通过;主项目正式应用的切换状态将在发布验证后追加。此前音频/导演台等开发分支改动不能凭本记录视为已经上线。