You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单个FFMPEG命令实现静态帧背景叠加视频连续帧无中间文件输出

你原有命令出错的核心原因是:给A视频添加的-frames:v 1 -f null -参数作用是直接丢弃A视频的输出流,滤镜处理环节仍然会读取A视频的后续帧来匹配B视频的帧序列,所以最终输出的背景会随叠加帧同步变化。

可使用以下单条FFMPEG命令实现需求,无中间磁盘写入:

ffmpeg -y \
  -ss 730.250 -i A.mkv \
  -ss 730.250 -i B.mkv \
  -filter_complex "[0:v]trim=end_frame=1,loop=loop=-1:size=1[bg];[1:v]scale=iw/3:-1[tmp];[bg][tmp]overlay=shortest=1[out]" \
  -map [out] -frames:v 20 out%d.jpg

核心参数说明:

  • [0:v]trim=end_frame=1:仅保留A视频指定时间点抽取的第一帧,裁剪掉后续所有帧
  • loop=loop=-1:size=1:把裁剪得到的单帧无限循环,生成持续的静态背景流
  • overlay=shortest=1:指定输出流时长以较短的B视频流为准,避免静态背景无限循环导致命令无法停止
  • 全局-frames:v 20:控制最终输出20张图片,无需在B视频的输入参数中单独指定帧数

内容的提问来源于stack exchange,提问作者AndroidX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:54:00