FFmpeg 媒体处理 · FFmpeg
FFmpeg 媒体处理 · 介绍NEW
FFmpeg 媒体处理 API:转码、压缩、缩放、裁剪、抽帧、单帧抽取、水印、字幕合成、人物名牌文字、拼接、带转场拼接、合流、多音轨时间轴混流、提取音频、转 GIF、缩略图、媒体探测、成片深度质检,以及文件上传。 调用流程:① 用 upload 上传文件拿到 CDN URL → ② 调用对应操作(输入用该 URL)→ ③ 按 taskId 轮询结果直到 succeeded / failed。 输入只接受受信白名单域名的 URL(平台 CDN 或受信来源 CDN),素材已在受信 CDN 上可跳过 upload 直接使用。按积分付费:任务开始执行时扣费(价格需先探测输入才能确定),排队中(queued)尚未扣费,失败自动全额退回,参数错误与余额不足在扣费前拒绝。 平台繁忙不会报错:所有节点都在忙时,提交照常返回 taskId、任务以 queued 排队,轮到时自动开跑,正常轮询即可,无需自行重试。
怎么调用
- 上传:
POST /v1/ffmpeg/upload(multipart),拿到 CDN URL。 - 提交:
POST /v1/ffmpeg/{operation},输入用上一步的 URL,返回 taskId。 - 查询:
GET /v1/ffmpeg/info?id=taskId,轮询到 status = succeeded。
能力地图
POST文件上传upload
上传媒体文件(multipart),同步直传并返回 CDN URL。
POST媒体探测probe
提取媒体元信息:时长 / 分辨率 / 码率 / 编码。瞬时完成。
POST成片深度质检qc
只读质检:把成片完整解码两遍(视频一遍、音频一遍)跑检测滤镜,产出一份小体积 JSON 报告——黑帧、定格(画面冻结)、静音三类问题区间 + EBU R128 响度指标。不生成任何媒体文件,原片不变。
POST转码 / 格式转换transcode
转换容器格式与音视频编码。
POST压缩降体积compress
降低视频体积。
POST分辨率缩放scale
把视频缩放到目标分辨率。
POST裁剪片段trim
截取视频的一段时间区间。
POST提取音频extract_audio
从视频中分离出音频文件。
POST视频转 GIFto_gif
把视频片段转成 GIF 动图。
POST截取缩略图thumbnail
在指定时间点截取一帧图片。
POST叠加水印watermark
在视频上叠加图片水印。
POST字幕合成burn_subtitle
给视频加字幕:soft = 软字幕轨道(可开关、不重编码);hard = 硬字幕烧进画面(永久显示、必然重编码)。
POST人物名牌文字overlay_text
把 1~4 条「下三分之一名牌」(角色名 + 身份副标题,各带时间窗)烧进视频画面。视频重编码、音轨原样拷贝,分辨率 / 帧率 / SAR 与源一致。
POST拼接视频concat
把多个视频按顺序拼接成一个。
POST视频音频合流mux
把音频合并进视频(替换或追加音轨)。
POST批量抽帧frames
按间隔或帧率批量导出图片帧,产物打包为单个 .zip,resultUrl 指向该压缩包。
POST抽取单帧extract_frame
从视频中抽取一帧图片:可取最后一帧或指定某个时间点,输出保持原始分辨率、不缩放。
POST多音轨时间轴混流mux_timeline
把多条音频按各自的时间偏移贴进视频,一次调用完成整条音轨的摆位与合流。
POST带转场拼接concat_transition
按顺序拼接多段视频,并可在指定接缝上做交叉淡化或压黑过渡,支持片头淡入、片尾淡出。
💰 价格见定价页 →
并发与限制
- 单账户同时任务上限:按账户配置的额度(与网站上的生成任务共用同一额度),排队中(queued)与执行中(running)都计入;超出额度的新提交返回 429,错误信息里带你的上限值 max N
- 平台繁忙不会报错:所有节点都在忙时,提交照常返回 taskId,任务以 queued 排队、轮到时自动开跑——正常轮询即可,无需自行重试
- 单任务超时:300 秒(超时判失败并退款)
- 上传上限 200MB;任务输入下载上限 1GB
- 输入 URL 仅支持受信白名单域名(平台 CDN + 受信来源 CDN)
常见错误
| 错误码 | msg | 含义 | 处理建议 |
|---|---|---|---|
| 400 | invalid params / non-allowlist url | 参数非法或输入 URL 非白名单域名(扣费前拒绝) | 检查枚举取值/范围;输入先用 upload 上传获取 CDN URL |
| 429 | Task limit reached (max N) | 超出你账户的「同时最多几个任务」额度(与网站上的生成任务共用同一额度,排队中 queued 与执行中 running 都算在内);错误信息里的 max N 即你的上限 | 等已有任务完成后再提交,或联系我们提升额度。⚠ 平台繁忙本身不会报 429——所有节点都忙时任务会排队(queued),无需处理 |
| 500 | failed / timeout | 处理失败或超时(300 秒),积分已自动退回,详见 data.errorMsg | 按 errorMsg 调整输入/参数后重试 |