当用户将视频上传到 Adstacker 时,他们只期望一件事:他们的剪辑应该变成精美的广告变体,而不会出现令人困惑的等待、导出失败或字幕不同步的情况。在这个简单工作流的背后,是一个精心分阶段构建的 AI 驱动视频管道。我们会在每个素材进入项目之前对其进行验证,将语音转化为帧精确的字幕数据,然后渲染可重用的创意组件,最后组装成最终的变体。
这就是 Adstacker 处理用户视频的方式——从上传到导出——以及为什么其架构旨在实现可靠的创意生产量。
挑战:视频输入默认情况下很少能直接用于生产
视频文件在文件选择器中可能看起来相似,但在渲染管道中表现却大相径庭。剪辑可能具有意外的时长、低分辨率、来自手机摄像头的旋转标记,或者根本没有可用的视频流。如果在项目开始渲染后才发现这些问题,用户将浪费时间,计算资源也将被浪费。
字幕带来了第二个挑战。仅仅一份文稿不足以制作社交广告。文本需要字词级别的精确时间戳,以便与说话者同步显示、保持可读性,并且绝不会与下一行重叠。
最后,Adstacker 旨在从少量素材中创建多种组合。为每个开头、主体、CTA 和字幕样式组合重复渲染相同的带字幕剪辑将是 L 不需要 的慢且昂贵的。
我们的解决方案:分阶段且职责明确的管道
我们分离了验证、转录、叠加层渲染和最终组装。每个阶段都会产生一个持久化的结果,供下一阶段使用,从而允许系统重试失败的步骤,而无需重新启动整个项目。
架构

1. FFprobe 在项目开始前捕获不良输入
在 Adstacker 将上传的剪辑提交到项目之前,它会对每个文件运行 FFprobe——一个轻量级的媒体检测工具。我们读取对可靠输出至关重要的详细信息:
- 存在真实的视频流。
- 时长在项目允许的范围内。
- 有效分辨率符合我们的最低质量标准,且不超过配置的最大值。
- 帧率可用于时间计算。
- 显示方向正确,包括手机视频,其旋转信息存在于元数据中,而非像素尺寸。
这是一个快速失败的关卡。如果一个素材无法生成可靠的广告,创作者会在渲染开始前收到有用的消息。它还允许我们为项目选择一个有界的基准分辨率,这样下游工作器可以在可预测的画布上操作,而不是独立处理每个原始源尺寸。
2. AssemblyAI 将语音转化为可用的字幕时间戳
对于使用字幕的项目,我们通过 AssemblyAI 处理源音频,得到的不仅仅是一段文本:我们收到的是带有开始和结束时间戳的单个单词。这些时间戳是口语和视觉时间同步之间的桥梁。
我们将时间标准化为秒,将其转换为项目目标帧率下的帧,并将单词分组为短字幕块。这种分组是故意的:在有意义的停顿之后,或者当前行达到可读长度后,开始一个新的字幕。我们还会限制相邻的字幕块,使得在任何帧中只有一个可见,即使源单词时间戳重叠。
结果是简洁、帧感知且适用于所选视觉风格的字幕数据——而不是简单粘贴到视频上的通用文稿。
3. 一次渲染共享叠加层,然后重复使用
实现创意规模化的关键是避免重复工作。一个 Adstacker 项目可以将相同的开头剪辑与许多主体剪辑、CTAs、文本层和字幕样式配对。我们为每个独特的配方渲染一次带有字幕或文本层的片段,而不是为每个使用它的最终组合都渲染一次。 这与我们为 Ssemble,一个短视频创作平台(我们产品组合中的一个)构建的自动化字幕方法相呼应。
叠加层工作器接收准备好的源视频、目标宽高比、自定义文本层和字幕块。它在一致的画布上渲染视觉处理效果,并将完成的叠加层存储为可重用资产。最终合并阶段然后选择正确的开头、主体和 CTA 叠加层,并组装完成的变体。
这种划分带来了两个实际好处:
- 当许多组合共享相同的构建块时,重用可减少渲染工作量。
- 独立重试允许在不丢弃已完成工作的情况下修复一个叠加层或一次最终合并中的失败。
真实案例:一次产品拍摄,数十个可测试广告
想象一个护肤品牌上传了三个开头、两个产品演示和两个 CTAs。它还选择了两种字幕样式。创意可能性迅速增加,但有几个最终视频会重用相同的源片段和字幕处理。
Adstacker 会预先验证所有七个剪辑,考虑任何肖像方向的元数据,并从每个口语片段构建带时间戳的字幕块。然后,它一次性创建每个所需的叠加层。当最终组合组装完成时,系统会重用这些准备好的部分,而不是重复创建它们。
该品牌获得了一套一致的、可供测试的广告,而管道则完成了创建它们所需的最低工作量。
为可靠的创意生产量而构建
在 Adstacker,视频处理并非一个不透明的“渲染”按钮。它是一系列专注的步骤:验证源文件、理解语音、渲染可重用层,并组装最终创意。这种结构有助于我们在上传时保护质量、保持字幕同步,并在不增加浪费的情况下扩展变体,运行在为弹性、容器化工作负载构建的 云基础设施上。
上传您的视频素材,选择您想测试的创意构建块,然后让 Adstacker 在后台处理生产管道。
技术栈:NestJS · FFprobe · AssemblyAI · AWS S3 · AWS ECS Fargate · Remotion · FFmpeg · MongoDB
阅读我们团队的更多文章

