摘要:大家好,我是徐小夕。架构师,曾任职多家上市公司,多年架构经验,打造过上亿用户规模的产品,目前全职创业,主要聚集于“Dooring AI零代码搭建平台”和“flowmixAI多模态办公软件”
大家好,我是徐小夕。
架构师,曾任职多家上市公司,多年架构经验,打造过上亿用户规模的产品,目前全职创业,主要聚集于“Dooring AI零代码搭建平台”和“flowmixAI多模态办公软件”
之前和大家分享了我实现的 pxcharts 多维表格编辑器和协同文档编辑器:
px-doc,一款开箱即用的协同文档编辑器
pxcharts多维表格ultra版:AI + 多维表,工作效率飙升!
作为一名常年跟开源项目打交道的技术博主,我最近在逛 GitHub 时,偶然发现了一个特别有意思的项目 ——FFCreator。如果你也在做短视频相关开发,或者想快速实现图片、文字、视频片段的自动化合成,那这个项目你一定不能错过。
先给大家甩个 gitHub 地址:https://github.com/tnfe/FFCreator。
目前这个项目在 GitHub 上已经积累了近 3k star 的关注,而且还在持续更新中,issues 和 PR 的响应也很及时,看得出来维护者很用心。
简单说,FFCreator 是一个基于 Node.js 的轻量级短视频处理库。它的核心目标是降低短视频合成的技术门槛 —— 哪怕我们是前端工程师,只要懂点 Node.js,也能快速上手,把图片、视频片段、文字、背景音乐这些素材,一键合成为带炫酷动画的短视频。
我研究下来,FFCreator 的几个核心优势特别突出,完全击中了短视频开发的痛点:
速度快一个 5 分钟的视频,用它合成只需要 1-2 分钟,比传统的 AE 模板方案快太多。如果需求更简单,还能选它的「Lite 版」,速度直接翻倍,2-3 倍于标准版。动画效果丰富到炸
内置了近百种场景转场特效,还模拟了animate.css中 90% 的动画效果 —— 也就是说,你在网页上能实现的 CSS 动画,几乎都能无缝转换成视频里的效果。支持多元素混合
图片、视频剪辑、文字、背景音乐、字幕、甚至虚拟主播(VTuber)都能往里塞,组合自由度极高。轻量易扩展
依赖少、安装简单,对机器配置要求低(双核 1G 就能跑),而且基于 Node.js 开发,前端工程师上手毫无压力,二次开发也很方便。双版本选择
除了完整版,还有一个FFCreatorLite—— 基于 FFmpeg 纯命令行实现,安装更简单(只依赖 FFmpeg),处理视频的速度更快,适合对动画精细度要求不高的场景。
下面是它嵌入图表的案例:
为了让大家更直观理解 FFCreator 的工作原理,我画了几个思维导图:
接下来给大家简单分析一下:
核心引擎层(蓝色)是基石,OpenGL 负责精细动画渲染,FFmpeg 负责最终视频合成,两者结合既保证了动画质量又兼顾了效率;功能模块层(绿色)是核心能力,处理素材加载、动画执行、转场效果等核心逻辑;辅助组件层(黄色)是加分项,字幕、虚拟主播等功能让应用场景更丰富;FFCreator 的技术栈非常「前端友好」,我扒了pkg的内容,核心依赖包括:
Node.js整个项目的运行环境,让前端工程师可以用熟悉的 JS 语法开发;FFmpeg视频处理的底层依赖,负责视频拼接、格式转换等核心操作;OpenGL图形渲染引擎,处理动画效果的实时渲染;InkPaint基于 OpenGL 的 2D 渲染库,负责文字、图片等元素的绘制;fluent-ffmpegNode.js 下的 FFmpeg 封装库,简化视频处理的 API 调用;tween.js动画缓动库,实现平滑的动画过渡效果;gl-transitions基于 Shader 的转场效果库,提供近百种转场动画。这些技术的组合非常巧妙 —— 用前端熟悉的工具链,解决了视频合成这个传统上需要复杂后端或专业软件的问题。
应用场景总结我梳理了几个典型场景,看看有没有大家的需求:
批量生成信息流短视频 比如新闻平台、电商平台,需要根据图文内容自动生成短视频(类似百度的 vidpress)。用 FFCreator 可以对接算法生成的摘要、配图、TTS 语音,批量合成视频,效率极高。可视化视频搭建平台 像 MAKA 这类 H5 制作工具,想增加「一键转视频」功能?用 FFCreator 配合前端拖拽界面,就能把用户编辑的 H5 动画直接转为视频,体验丝滑。相册影集小程序 / APP 用户上传一堆照片,选个模板和音乐,就能生成带动画的影集。FFCreator 可以作为后端核心,开发者只需要专注于设计好看的模板即可。企业内部视频自动化工具 比如自动生成月度数据报告视频、员工生日祝福视频等,通过脚本调用 FFCreator,实现全流程自动化。# 运行基础示例npm run examples运行成功后,会在 output 目录下生成一个合成好的视频。如果想看不同效果,可以修改examples目录下的 js 文件(比如subtitle.js是字幕示例,video.js是视频合成示例)。
接触 FFCreator 这段时间,我最大的感受是:它把短视频合成的门槛拉到了「前端工程师也能轻松驾驭」的程度。无论是批量生成、可视化搭建还是自定义模板,它都能给出简单高效的解决方案。
如果大家正在做短视频相关的开发,或者只是想快速把图片、文字合成带动画的视频,不妨试试这个项目。甚至如果你有兴趣,还可以参与到它的开源贡献中(官方很欢迎 PR,文档里有详细的贡献指南)。
来源:趣谈前端