我的第一次开源之旅:从一个简单需求到两个开源项目

今天是个特别的日子 —— 我正式发布了人生中的前两个开源项目!🎉
作为一个独立开发者,我一直在思考如何为开源社区做出贡献。这次的契机来自一个实际的业务需求:如何高效地为用户生成专业的故事动画视频?
故事的开始:app.sumatman.ai 的技术挑战
几个月前,我在开发 app.sumatman.ai 时遇到了技术挑战。这个产品允许用户输入一句话,就能自动生成一个完整的故事动画。每个故事由 10-20 个场景组成,每个场景包含:
- 🎨 插画风格的场景图片
- 🎙️ 专业的画外音配音
- 📝 同步字幕
- 🎬 Ken Burns 视觉特效(缩放、平移等)
这不是传统意义上的视频,而是一种插画动画——通过静态图片加上动态效果、字幕和配音组合而成的故事视频。
初期产品效果不错,但随着用户增长,我面临了一个严峻的问题:服务器处理效率。单个故事可能需要处理 10-20 个场景,每个场景都要将图片、音频和字幕合成为视频片段,这对服务器资源要求极高,尤其是需要放大和缩小动态特效的时候。
于是我决定采用 AWS 按需扩容的方案:当用户需求量大时,程序自动创建 AWS 实例来处理视频生成任务,完成后自动销毁实例。这样既能应对高并发,又能控制成本。
这个想法最终衍生出了两个开源项目。
开源项目一:Video Generation API
项目地址:https://github.com/preangelleo/video-generation-docker
诞生背景
为了实现按需扩容,我需要将视频生成的核心逻辑——将图片、音频和字幕合成为视频——封装成一个独立的 Docker 镜像。这样就能在任何 AWS 实例上快速部署和运行。
它能做什么?
这个 API 专门解决插画动画的生成需求:
- 🎬 智能视频合成 - 自动将图片和音频完美同步
- 📝 专业字幕渲染 - 支持中英文,带半透明背景框,电影级别的字幕效果
- 🎨 Ken Burns 特效 - 让静态插画"动"起来,通过缩放、平移创造视觉层次
- 🚀 Docker 化部署 - 一行命令即可在任何环境运行
- ⚡ 多线程并发处理 - 单个实例可以串行处理 10-20 个场景
效果展示
这里有两个实际生成的动画视频示例:
这些看似专业的动画视频,实际上都是由静态插画自动生成的!
开发挑战与突破
字幕渲染挑战:最初使用 FFmpeg 内置滤镜,但效果很差——字体模糊、样式单一、中文支持糟糕。经过多次尝试,我最终基于 OpenCV 实现了一套完整的字幕渲染系统。OpenCV 作为强大的计算机视觉库,不仅能处理视频帧,还提供了精确的文字渲染能力,让我能够实现专业级的字幕效果,包括自定义字体、半透明背景、精确的文字定位和渲染质量控制。
这样表述更准确,因为:
- OpenCV 是一个综合性的计算机视觉和图像/视频处理库
- 它不仅仅处理字幕,还能处理整个视频帧的合成、特效等
- 使用 OpenCV 是为了获得更精确的视频处理和文字渲染控制
- 相比 FFmpeg 的内置滤镜,OpenCV 提供了更灵活的编程接口来实现复杂的视觉效果
并发处理优化:与 Claude Code 联合开发,从原来的单线程处理升级为多线程并发处理,大幅提升了处理效率。通过智能场景检测,系统提供 4 种处理模式(基础版、字幕版、特效版、完整版),根据需求自动选择最优方案。
新的问题:云服务器成本太高!
Video Generation API 部署到 AWS 后,我发现了一个严重问题:24/7 运行的 GPU 实例成本高达 500 美元/月!我已经在 Runpod.io 运行了一台,但是人也不够。随着用户增加,就需要更多的服务器。
但实际上,大部分时候服务器都在空转。用户的动画生成需求是突发性的,可能一天只需要几个小时的计算资源,却要为全天候的服务器付费。
这催生了第二个开源项目。

开源项目二:CloudBurst
项目地址:https://github.com/preangelleo/cloudburst
核心理念:真正的按需计算
CloudBurst 专为 app.sumatman.ai 这种场景设计:
- 📈 智能监控需求 - 实时监测用户的动画生成请求
- 🚀 自动创建实例 - 需要时立即启动 AWS 实例
- 🐳 部署 Docker 镜像 - 自动部署 Video Generation API
- 🎯 批量处理任务 - 单实例可处理多个故事的生成需求
- 💰 精确成本控制 - 任务完成后立即销毁实例,按秒计费
在 app.sumatman.ai 中的应用
在我的动画生成平台中,CloudBurst 承担着关键作用:
- 用户提交故事生成请求 - 平台接收到用户的"一句话变故事"需求
- 智能任务分配 - 系统将多个用户的请求打包成批次
- 按需启动实例 - CloudBurst 自动创建 AWS 实例并部署 Video Generation API
- 并行处理场景 - 每个实例处理 10-20 个场景的视频生成
- 自动清理资源 - 任务完成后立即销毁实例
成本节省效果
真实运营数据:
- 传统方式:24/7 GPU 实例 = 500 美元/月
- 使用 CloudBurst:处理相同工作量 = 20 美元/月
- 节省比例:96% 的成本削减!
技术特性
- 🤖 全自动化工作流 - 从实例创建到销毁,无需人工干预
- 💰 实时成本追踪 - 集成 AWS Pricing API,精确到秒的费用计算
- 🔧 智能资源管理 - 自动处理 AWS 配额限制,智能切换实例类型
- 📊 API 友好 - 返回结构化 JSON 数据,完美集成到业务系统
两个项目的协同作用
在 app.sumatman.ai 的技术架构中:
- Video Generation API = 核心引擎(处理单个场景的视频合成)
- CloudBurst = 资源调度器(管理 AWS 实例的生命周期)
用户在前端输入一句话,后端系统通过 CloudBurst 调度 Video Generation API,最终为用户生成一个完整的故事动画。整个过程对用户完全透明,但大幅降低了运营成本。
开源的价值
将这两个项目开源,是因为我相信它们能解决更广泛的问题:
适用场景
内容创作者:
- 教育机构批量制作教学动画
- 播客主将音频内容转化为视觉故事
- 儿童内容创作者制作有声绘本
技术团队:
- 需要集成视频/动画生成功能的产品
- 希望优化云计算成本的项目
- 构建按需计算架构的应用
创业公司:
- 预算有限但需要专业内容生产能力
- 不想维护昂贵基础设施的团队
- 需要快速验证创意的项目
未来规划
对 app.sumatman.ai 的支持
这两个开源项目将持续为 app.sumatman.ai 提供底层支持,随着用户增长和需求变化不断优化:
- Video Generation API:支持更多动画效果、支持自动生成语音、支持自动生成字幕等
- CloudBurst:支持更多云服务商、GPU 实例、竞价实例以进一步降低成本
技术演进计划
- 🌐 多云支持 - 扩展到 Google Cloud、Azure
- 🎯 智能调度 - 基于历史数据优化资源分配
快速开始
Video Generation API:
docker pull betashow/video-generation-api:latest
docker run -p 5000:5000 betashow/video-generation-api:latest
CloudBurst:
git clone https://github.com/preangelleo/cloudburst
cd cloudburst
pip install -r requirements.txt
# 查看 example_usage.py 开始使用
加入开源社区
这是我开源之旅的开始。如果你:
- 🐛 发现了问题 - 请在 GitHub Issues 中反馈
- 💡 有改进建议 - 欢迎提交 Feature Request
- 🔧 想贡献代码 - Pull Request 永远欢迎
- ⭐ 觉得有用 - Star 是最大的鼓励
写在最后
从 app.sumatman.ai 的实际需求出发,到两个开源项目的诞生,这个过程让我深刻体会到:真正有价值的开源项目往往来源于真实的业务挑战。
每当看到用户通过 app.sumatman.ai 轻松创建出专业的故事动画,背后的技术栈能够稳定高效地运行,我就为这次开源决定感到自豪。
感谢所有关注和支持的朋友。让我们一起推动技术的开放和创新,让更多人能够享受到技术进步带来的便利!
项目链接:
- Video Generation API: GitHub
- CloudBurst: GitHub
- 体验产品: app.sumatman.ai
联系方式:
- GitHub: @preangelleo
- 项目讨论:在 GitHub Issues 中找我
第一次做开源,期待你的反馈和建议!🙏