Serverless ffmpeg
Serverless ffmpeg 手册:每种运行时,一个 API
每个 serverless 运行时都各有各的理由把 ffmpeg 阻挡在外,解决方案也因平台而异。这里就是索引:每个平台阻挡了什么,以及绕过它的那一次调用。从你的平台开始,或者直接跳到你需要的操作。
按平台
为什么原生 ffmpeg 二进制文件在每个 serverless 运行时上都跑不了——以及一次调用就能搞定的方案。选择你的平台,查看完整指南。
| 平台 | 原生 ffmpeg | 受阻原因 |
|---|---|---|
| Vercel 上的 ffmpeg | 不行 | Node 函数解压后 250MB 打包上限——ffmpeg 加上编解码器根本装不下 |
| Supabase Edge Functions 上的 ffmpeg | 不行 | Deno 运行时没有 child_process/subprocess API,你根本没法执行 ffmpeg 二进制 |
| Netlify Functions 上的 ffmpeg | 不行 | ffmpeg 二进制加依赖库超出 Netlify 的 50MB 压缩包 Lambda 部署上限 |
| Cloudflare Workers 上的 ffmpeg | 不行 | V8 isolate:无法运行原生二进制——装不了也执行不了 ffmpeg 二进制文件 |
| AWS Lambda 上的 ffmpeg | 勉强 | 只能通过你自己打包的 ffmpeg Layer 运行,还得压在 250MB 解压体积上限之内 |
| Deno Deploy 上的 ffmpeg | 不行 | V8 isolate 没有子进程 API,也没有 FFI,ffmpeg 二进制根本启动不了 |
加水印、裁剪、音频与缩略图
每种操作都是一个独立端点——POST 一个 URL,拿到一个托管结果。
水印操作
一次 HTTP 调用,为视频和图片叠加 Logo 或文字水印。无需 ffmpeg,不受 serverless 超时困扰,直接拿回托管的结果 URL。首个 API 密钥免费。
查看指南操作 · 提取音频从任意视频中提取音频,一次 HTTPS 调用即可拿到托管的 MP3 和音频时长,你的技术栈里无需 ffmpeg。免费额度,即刻上手。
查看指南视频操作托管式视频裁剪 API:POST 源视频 URL 和起止时间,拿回帧级精准的 MP4 片段。无需打包 ffmpeg 二进制,零基础设施,免费试用。
查看指南音频操作按起止时间剪辑任意音频,直接拿到托管的 MP3。一次 POST 调用搞定,无需部署,也不用盯着服务器。免费领取 API 密钥。
查看指南视频缩略图 / 封面帧一次 HTTP 调用生成视频缩略图和封面图。按任意时间点抓取一帧,直接拿到托管好的图片 URL,无需在项目里打包 ffmpeg 二进制。
查看指南