ffmpeg api · 云端 worker

面向开发者的
FFmpeg API。

在云端运行真实 FFmpeg 命令。通过 HTTP 发送命令,worker、存储、重试和扩缩容交给 FFHub,完成后拿到处理好的文件 URL。

原生 FFmpeg 命令REST API输出 URL不用搭服务器
POST /v1/tasks
curl -X POST https://api.ffhub.io/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command": "ffmpeg -i https://example.com/input.mp4 -c:v libx264 -crf 24 output.mp4"
  }'

# → { "task_id": "tsk_..." }
# Poll GET /v1/tasks/{task_id}
# → outputs[0].url
为什么不自建

本地跑 FFmpeg 很简单,
生产环境难在周边。

真正拖慢团队的通常不是那条命令,而是命令外面的运行、排队、存储和扩缩容。

Worker 维护

FFmpeg 二进制、编码器、系统依赖、CPU 容量和任务隔离都要维护,还不能拖垮应用服务器。

队列和重试

视频任务会失败、超时、需要轮询。清晰的任务生命周期比多写一个脚本更重要。

存储链路

输入要有可访问 URL,输出要有稳定下载链接,临时文件还要清理。

突发扩容

一个上传很简单,一批用户视频就需要并发控制和能独立扩缩容的 worker。

工作方式

一个 API,
仍然是熟悉的 FFmpeg 语法。

FFHub 把接入路径压到很短:上传或传 URL、创建任务、轮询状态、下载结果。

01

提供输入

使用公开 URL,或者通过 Files API 上传本地文件。

02

提交命令

用 bearer token 把 FFmpeg 命令 POST 到 /v1/tasks。

03

跟踪进度

从后端轮询任务状态,或者在 dashboard 里查看运行记录。

04

使用输出 URL

任务完成后返回公开输出 URL,可保存、分发或传给下游流程。

能做什么

产品里那些一直想补的
媒体处理能力。

只要 FFmpeg 能表达,FFHub 就适合把它变成一个异步云端任务。

视频转码

把 MOV、MKV、AVI、WebM 或用户上传转成适合网页播放的 MP4、HLS、DASH。

压缩流水线

用 CRF、preset、缩放和编码器选择压缩大文件,参数完全自己控制。

缩略图生成

为 UGC 信息流、CMS 素材、产品视频或预览图截取封面帧。

音频提取

提取 MP3、AAC、WAV、FLAC 或 Opus,用于转写、播客和 AI 工作流。

字幕和叠加

烧录字幕、添加文字水印、叠加 logo,并保留完整 filter 控制。

批量处理

从队列、webhook、定时任务或你自己的后端工作流触发处理。

方案对比

直接使用 FFmpeg,
但不用拥有整套机器。

FFHub 介于原始自建基础设施和纯 preset 视频 API 之间。

需求FFHub自建 FFmpegPreset 型 API
命令控制原生 FFmpeg 命令参数完全控制通常受限于已支持的 preset
基础设施托管云端 worker 和存储自己维护服务器、队列和清理托管,但不够 FFmpeg 原生
自定义 filter使用正常 filter graph使用正常 filter graph经常受限或不可用
接入方式REST task API、轮询和输出 URL自定义 worker 协议供应商自己的 job 格式
适合场景已经懂 FFmpeg 的开发者有媒体基础设施能力的团队只需要标准输出的团队
适用性

适合 API-first 团队,
不是魔法 preset 层。

FFHub 刻意贴近 FFmpeg,这正是它的价值。

适合使用 FFHub

  • 你已经知道需要哪些 FFmpeg 参数。
  • 你想要异步任务,但不想维护 worker。
  • 你需要自定义 filter、stream mapping 或不常见编码器。
  • 你想先小规模开始,按处理量付费,而不是为空闲机器付费。

更适合其他方案

  • 你想要面向消费者的剪辑器或时间线 UI。
  • 你想要完全不懂 FFmpeg 的 preset-only 工作流。
  • 你想拥有每台机器并亲自调底层基础设施。
  • 你需要完整视频 CMS、播放器、DRM 和分析平台。
开始

几分钟内发送
第一个 FFmpeg 任务。

用 quickstart 跑一遍真实请求流程;如果想先试命令,也可以打开 playground。

面向开发者的 FFmpeg API — 云端 REST FFmpeg | FFHub