当前位置: 首页 > news >正文

视频剪辑智能体开发日志(Week 1)——从0开始搭建整个Pipeline

开发时间:2026.06.26 - 2026.07.02

本周主要工作:完成项目整体架构设计,打通 Pipeline 主流程,完成 ASR、视频分段、重复检测、脚本匹配等核心模块,为后续视频渲染做好准备。


一、本周开发进展

这周没有继续做最终的视频渲染,而是把更多时间放在了整个工程框架上。

刚开始做的时候,我以为重点应该放在去重算法或者字幕同步上,真正写下来以后才发现,真正影响开发效率的其实是整个 Pipeline 的设计。

如果数据流没有统一,后面每增加一个模块,就意味着前面的代码可能都要跟着改。

所以这周主要完成了两件事:

  • 重新设计整个 Pipeline
  • 重新整理整个 Job 数据结构

这也是后面所有模块能够独立开发的基础。


二、项目架构设计

整个视频剪辑智能体目前已经拆成了两个阶段。

第一阶段负责素材处理。

第二阶段负责分析、匹配以及最终生成视频。

整个流程如下。

从流程上来看,每一个模块只负责自己的任务。

例如:

  • 视频信息读取不会负责 ASR
  • ASR 不负责字幕
  • Timeline 不负责渲染

所有模块之间全部通过 JSON 进行通信。

这样最大的好处就是:

任何一个模块出现问题,都可以单独重新运行,而不用重新执行整个 Pipeline。


三、Job 生命周期与数据组织

随着模块越来越多,我发现如果所有文件都放在一起,后面基本没办法维护。

于是重新设计了整个 Job 目录。

每一次运行都会创建一个新的 Job。

所有中间结果全部保存在对应目录。

整个目录按照功能进行了划分。

例如:

  • input 保存原始素材
  • transcript 保存 ASR 结果
  • segments 保存视频片段
  • timeline 保存最终时间轴
  • output 保存最终结果

这样做最大的好处就是:

以后无论调试哪个模块,都能直接找到对应的数据,而不是重新跑完整个流程。


四、Timeline 核心调度设计

这是这一周改动最大的地方。

刚开始的时候,每个模块都在计算自己的时间。

字幕有自己的时间。

Render 有自己的时间。

播放器又重新计算了一遍。

虽然每一个模块看起来都没有问题,但是最终字幕总会出现轻微偏差。

后来干脆把 Timeline 独立出来。

以后所有模块全部读取 timeline.json。

整个系统开始变成:

现在:

  • 字幕读取 Timeline
  • Render 读取 Timeline
  • Player 读取 Timeline

整个项目只有一个时间来源。

后面维护起来简单了很多。


五、脚本匹配模块开发

目前已经完成了脚本和视频片段的自动匹配。

每一句脚本都会计算自己的匹配得分。

最终选择得分最高的视频片段。

例如下面就是目前所有脚本的匹配结果。

可以看到,目前不同脚本之间的匹配质量差异还是比较明显。

有些已经可以达到比较高的匹配分。

但仍然有几句脚本匹配效果一般。

为了更加直观,又把所有匹配结果重新划分成了三个等级。

目前:

  • 强匹配:1 个
  • 可能匹配:3 个
  • 低置信度:4 个

整体平均得分还存在进一步优化空间。


六、系统运行效果分析

为了方便后面继续调试,我又增加了一套综合诊断页面。

运行结束以后,可以直接看到整个 Pipeline 当前的运行状态。

包括:

  • 平均匹配得分
  • 问题严重程度
  • 匹配等级分布
  • 当前建议

相比以前只能查看日志,现在基本可以一眼看到整个项目当前的问题集中在哪。

调试效率提升了很多。


七、关键问题定位与修复

虽然整体流程已经能够正常运行,但调试过程中还是发现了一些比较明显的问题。

例如:

  • Semantic 匹配正常。
  • Fuzzy 匹配几乎全部失效。
  • 部分脚本主题理解仍然不足。
  • 候选片段之间区分度不够。

于是把这些问题重新整理成了一份诊断报告。

其中最明显的问题就是:

Fuzzy 匹配基本没有发挥作用。

于是又把 Semantic 和 Fuzzy 单独拆出来进行了分析。

从目前的数据来看:

Semantic 分支已经能够正常工作。

真正需要继续排查的是 Fuzzy 匹配链路。

后面准备继续定位这个问题。


八、匹配算法优化规划

目前虽然已经能够找到对应片段。

但是还有另外一个问题。

有些候选片段之间得分非常接近。

例如:

Top1 得分:

0.71

Top2 得分:

0.69

这种情况下,很容易选错视频。

于是又增加了一项新的分析。

如果 Top1 和 Top2 得分差距过小,就说明:

当前匹配还不够稳定。

后面会继续优化候选区分能力。


九、素材利用率分析

除了匹配准确率之外,我还比较关注另外一个问题。

就是素材到底有没有真正利用起来。

目前增加了素材利用率统计。

目前来看:

  • 已使用素材约 43%
  • 未使用素材约 57%

这说明还有不少素材没有参与最终剪辑。

后面可以继续优化片段选择策略,提高素材利用率,同时避免重复片段被频繁使用。


十、本周开发总结

这一周最大的感受就是:

真正花时间的并不是模型本身,而是整个工程的组织方式。

如果没有统一的数据结构,没有统一的时间轴,没有统一的 JSON 规范,那么后面每增加一个功能,都会不断返工。

目前整个 Pipeline 已经能够稳定完成:

  • 视频读取
  • 音频提取
  • ASR
  • 视频分段
  • 重复检测
  • 脚本匹配
  • Timeline 构建
  • 字幕映射
  • 数据诊断

下一步会继续完善:

  • Script Match 精度
  • Timeline 调度策略
  • 视频渲染模块
  • AiPy 前端联调

争取尽快实现从输入素材到最终视频输出的完整自动化流程。

http://www.cnnetsun.cn/news/3112640.html

相关文章:

  • [Whirl节点]原理解析与实际应用
  • 2026年罗马尼亚EOR名义雇主服务商权威排行榜:揭晓五款精选五大方案
  • Claude Code:拉开新时代的差距
  • 鸿蒙原生应用开发实战:基于ArkTS构建智能记账助手的完整指南
  • 2026最新8款AI编程工具免费深度对比|学生党权威实测
  • Java 枚举类型三大实战场景详解
  • 2026最新2款学生党平替AI编程工具深度实测对比
  • 信道编码定理推导过程以及理论原理调研报告(P124302020向文杰)
  • 163MusicLyrics:网易云与QQ音乐歌词获取的完整解决方案
  • 还在手搓测试网DEX前端?OpenTools:拿来吧你!
  • 如何一键获取九大网盘真实下载链接?LinkSwift浏览器脚本终极指南
  • Android随笔-Binder缓冲区大小为什么远小于1M
  • 机器学习工程师的统计学实战手册:从数据诊断到模型解释
  • sp.net core + ef core 实现动态可扩展的分页方案
  • 无真实标签时如何评估模型性能:CBPE校准监控实战
  • MCP与Spring AI整合实战:云原生与AI技术融合指南
  • HunterPie终极指南:5分钟掌握《怪物猎人世界》最强数据覆盖层
  • FPGA与STM32的SPI通信 - FPGA主 STM32从
  • Android 7系统日志(五)日志读取—logcat源码深度分析
  • AI科研效率革命:用Claude技能包重构论文写作与数据分析流程
  • 海外短剧平台技术架构与运营实战指南
  • 本地部署AI Agent,6G显存跑Qwen3.6-35B-A3B 从入门到实战全流程
  • 科技融匠心!康姿百德学生床垫筑牢成长睡眠防线
  • 嵌套 H5 的跨端通信:iOS / Android / 小程序 / 浏览器
  • 第【48期】-- 通信问题的cvx教程之基础篇【一】-- MU-MIMO下行功率分配问题
  • Node.js Promise.all 并行查询实战:性能提升与错误处理详解
  • RAG 是什么?让大模型读懂私有知识库的关键技术
  • 多项式回归实战:用3阶曲线拟合替代线性模型
  • 180火龙传奇打金搬砖三天测试表:新手怎么判断有没有跑顺
  • tModCodeAssist:泰拉瑞亚模组开发者的智能代码助手终极指南