news 2026/8/16 5:18:35

梦绘片场 ProjectDream总览篇:从项目到成片的 AI 漫剧工作台

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
梦绘片场 ProjectDream总览篇:从项目到成片的 AI 漫剧工作台

梦绘片场 ProjectDream:从项目到成片的 AI 漫剧工作台

本文是 ProjectDream 专栏的总览篇,主要记录这个项目如何把“故事想法”一路做成“可导出的成片”。

一、项目简介

ProjectDream 是一套面向 AI 漫剧和短视频生产的项目级工作台,不是单点生成工具,而是把完整生产链路串起来的一套系统。

它覆盖的流程很长:

项目创建 -> 故事总纲 -> 场景拆解 -> 单场剧本 -> 角色库 -> 分镜 -> 静帧 -> 视频 -> 音频 -> 成片编辑 -> 导出

和普通的“生成一个结果”不同,这个项目更强调生产过程中的可确认、可回跳、可重试。也就是说,前面每一步产出的内容,后面都能继续接上;中间任一步出问题,也能回到上游重新处理。

二、项目要解决什么问题

真正做过短视频或漫剧流程的人会发现,最难的往往不是“能不能生成”,而是“能不能稳定地串起来”。

常见问题包括:

  • 文本和画面不一致
  • 角色前后长相漂移
  • 分镜数量一多就乱
  • 音频和镜头对不齐
  • 导出时历史素材混进去

ProjectDream 的思路不是让 AI 一口气做完,而是把每个环节都设计成一个独立但能衔接的节点。这样,内容生产就从黑盒变成了一条可管理的工作流。

三、技术栈与整体架构

3.1 技术栈

  • 前端:Vue 3、TypeScript、Vite、Vue Router、Pinia、Tailwind CSS
  • 后端:Node.js 原生 HTTP 服务
  • 数据库:MySQL 8
  • AI 能力:OpenAI-compatible 文本接口、Agnes 图片/视频、DashScope TTS
  • 媒体处理:FFmpeg
  • 本地存储:.codex-runtime/

3.2 架构图

前端工作台
Vue 3 + TypeScript

Node.js 原生 HTTP 服务
server/index.mjs

MySQL 8

本地媒体目录
.codex-runtime

OpenAI-compatible
总纲 / 剧本 / 角色 / 分镜

Agnes
静帧 / 定妆图

Agnes
图生视频

DashScope TTS
对白 / 旁白

FFmpeg
成片导出

3.3 目录分工

  • src/views/:各个业务页面
  • src/components/:工作台壳层组件
  • src/api/:前端接口封装
  • server/index.mjs:后端统一入口
  • server/services/:文本、图片、视频、音频、导出等核心服务

这种拆法的好处很直接:前端页面按流程拆,后端逻辑按能力拆,结构清楚,后面写文章也方便按模块展开。

四、核心功能模块

4.1 认证与项目管理

项目支持登录、注册、找回密码和项目总览。登录后进入工作台,可以新建项目、切换项目,并查看当前项目的整体进度。

这一层的作用是把整个生产流程先装进“项目”这个容器里。后续所有总纲、场景、角色、分镜、素材和导出记录,都围绕项目展开。

4.2 故事总纲、场景拆解、单场剧本

文本链路是整个项目的上游。

系统先生成故事总纲,再拆成场景,最后扩写成单场剧本。这样做的好处是,上游语境会持续传递到下游,后面的角色、分镜和画面不会完全脱节。

4.3 角色库与一致性控制

ProjectDream 不是生成完角色图就结束,而是把角色当成长期资产来管理。

角色会保存姓名、性格、外貌、年龄段、性别、声线和定妆图。后面的分镜和静帧生成会尽量沿着这些信息走,避免“同一个角色在不同镜头里变脸”。

这部分是整个项目里很重要的一块,因为漫剧最怕的就是角色漂移。

4.4 分镜、静帧、视频和音频

分镜模块负责把剧本拆成镜头;静帧模块负责生成候选画面并确认主版本;视频模块负责把静帧转成视频候选;音频模块负责对白和旁白生成。

这些模块不是孤立存在的,而是层层向下衔接:

  • 分镜决定镜头内容
  • 静帧决定画面基底
  • 视频决定运动表现
  • 音频决定对白和节奏

4.5 任务中心与成片导出

图片、视频、口型同步这类耗时任务,没有做成前端同步等待,而是统一进入任务中心。

用户提交后可以先离开当前页面,后台继续执行。最后再通过成片编辑和导出模块,把确认过的素材合成 MP4。

导出时会走 FFmpeg,并结合时间线、字幕和音轨做最终拼接。

五、几个比较关键的实现点

5.1 后端为什么用原生 HTTP

后端没有用 Express,而是直接用 Node.js 原生 HTTP 服务统一分发路由。主入口是server/index.mjs

这样做的好处是:

  • 依赖少
  • 路由清晰
  • 调试直观
  • 适合演示和快速排查

代价也很明显,就是入口文件比较长,后期需要继续拆分。

5.2 AI Provider 抽象层

文本生成没有直接绑死某一家模型,而是做了一层统一适配。这样总纲、剧本、角色和分镜都可以走同一套结构化输出逻辑。

这层抽象的价值在于:

  • 便于切换供应商
  • 便于处理 JSON 解析异常
  • 便于做 mock 模式和降级

5.3 异步任务与状态流转

图片、视频、口型同步这类任务都不是瞬时返回,而是先入库,再由后台持续处理。

任务中心负责把这些状态统一展示出来,用户可以看到排队、执行、成功和失败状态。这样就算页面刷新或服务重启,任务也还能继续追踪。

5.4 FFmpeg 合成导出

成片导出不是简单拼接几个视频,而是要同时处理:

  • 镜头启用状态
  • 音频位置
  • 字幕烧录
  • 视频时长对齐
  • 历史素材过滤

最终通过 FFmpeg 统一合成 MP4,这一步是整个链路的收口。

六、项目成果

目前这套项目已经跑通了一条完整闭环:

  • 登录注册
  • 项目总览和新建项目
  • 总纲、场景、剧本生成
  • 角色库和角色一致性
  • 分镜生成与编辑
  • 静帧生成与确认
  • 视频生成与口型同步
  • 音频生成与声线绑定
  • 任务中心
  • 成片编辑
  • 导出

从工程角度看,它已经不是“页面都在”的 demo,而是一个可以真正把内容往下推的工作台。

七、截图展示

1. 项目总览

2. 新建项目

3. 登录注册页


4. 完整成片画面

八、总结

ProjectDream 的重点,不在于“某一个页面做得多花”,而在于它真的把内容生产链路接起来了。

从故事到角色,从分镜到素材,再到最后的成片导出,整条流程是能跑通的,能回跳的,也能继续迭代的。对于一个 AI 漫剧工作台来说,这比“会生成一张图”更重要。

下一篇会继续拆解认证、项目总览,以及整个工作台的入口设计。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/16 5:17:50

大模型推理全流程解析:从权重加载到文本生成的工程实践

1. 项目概述:大模型运行的全景图最近和不少刚入行AI应用开发的朋友聊天,发现一个挺普遍的现象:大家用各种框架(比如LangChain、LlamaIndex)调用API或者跑起来一个本地模型后,感觉挺神奇,但一问到…

作者头像 李华
网站建设 2026/8/16 5:10:52

Ansible Playbook使用案例

Ansible Loop 循环Ansible 的 loop 循环功能允许您对一组数据项重复执行同一任务,从而简化批量操作。本节将通过创建用户账户的实例,演示 loop 的基本用法及其进阶应用。1. 1 基础循环:创建用户以下 Playbook 使用 loop 在目标主机组 db 上创…

作者头像 李华
网站建设 2026/8/16 5:10:02

Linux tail命令实战:从日志监控到数据流处理的核心技巧

这次我们来看一个 Linux 系统运维和开发中几乎每天都会用到的命令:tail。它远不止是“查看文件末尾几行”那么简单。对于监控实时日志、追踪服务状态、处理大文件、进行数据流分析,tail都是不可或缺的利器。这篇文章不讲空泛的概念,直接聚焦于…

作者头像 李华
网站建设 2026/8/16 5:09:36

实验报告PPT模板哪家强?2026全网实测对比

一、前言:为什么实验报告PPT极其吃模板与效率?在高校课程汇报、毕业论文答辩、科研实验展示、企业研发汇报等场景中,实验报告PPT是成果输出的核心载体。不同于普通演示PPT,实验类PPT强逻辑、重数据、讲严谨、需规范,对…

作者头像 李华
网站建设 2026/8/16 5:09:08

射频巴伦电路设计:从原理到PCB实现与调测

1. 巴伦电路:射频设计中的“翻译官”在射频和微波电路的世界里,我们常常会遇到一个看似简单却至关重要的挑战:如何让一个“单端”的信号源,比如一根同轴电缆,与一个“差分”的负载,比如一个偶极子天线或者一…

作者头像 李华
网站建设 2026/8/16 5:07:14

Pygame入门:用Python开发你的第一个2D游戏

1. 为什么选择Pygame开发你的第一个游戏十年前我刚开始接触游戏开发时,面对Unity、Unreal这些庞然大物完全无从下手。直到发现了Pygame这个轻量级框架,才真正体会到写游戏的乐趣。Pygame基于Python语言,用SDL库封装了底层图形、声音和输入处理…

作者头像 李华