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

求助:合并FFmpeg命令实现多层循环视频叠加、绿幕抠像及logo定时显示功能

求助:合并FFmpeg命令实现多层循环视频叠加、绿幕抠像及logo定时显示功能

没问题,我帮你把两个命令整合到一起,完美实现你需要的所有功能:让背景视频和绿幕视频循环播放至主视频时长,绿幕视频抠像后叠加在背景上,再把主视频缩放后叠上去,最后添加定时显示的logo。

完整整合后的FFmpeg命令

ffmpeg -y -stream_loop -1 -i background.mp4 -stream_loop -1 -i green.mp4 -i input.mp4 -i logo.png -filter_complex "[1:v]colorkey=0x00ff00:0.3:0.2[ckout];[0:v][ckout]overlay[bg_with_green];[2:v]scale=1280:720[scaled_input];[bg_with_green][scaled_input]overlay=70:70:shortest=1[vid];[vid][3:v]overlay=10:10:enable='not(between(t\,10\,15))'[out]" -map "[out]" -map 2:a -c:a copy -shortest output.mp4

命令拆解说明(帮你理解每一步)

我把整个流程拆成了几个清晰的步骤,你可以根据自己的需求调整参数:

  • 循环输入设置:-stream_loop -1 分别加在background.mp4和green.mp4前,让这两个视频无限循环,直到主视频input.mp4播放结束(靠最后的-shortest控制时长)
  • 绿幕抠像处理:[1:v]colorkey=0x00ff00:0.3:0.2[ckout] 对绿幕视频(第二个输入索引1)进行抠像,0x00ff00是绿色的十六进制值,0.3是相似度,0.2是混合度,你可以根据实际绿幕效果微调
  • 绿幕叠加到背景:[0:v][ckout]overlay[bg_with_green] 把抠像后的绿幕内容叠加到循环的背景视频(第一个输入索引0)上,生成带绿幕内容的背景层
  • 主视频缩放与叠加:[2:v]scale=1280:720[scaled_input] 把主视频(第三个输入索引2)缩放到1280x720分辨率;[bg_with_green][scaled_input]overlay=70:70:shortest=1[vid] 把缩放后的主视频叠加到带绿幕的背景上,位置是x=70、y=70,shortest=1确保这一步的输出长度和主视频一致
  • logo定时显示:[vid][3:v]overlay=10:10:enable='not(between(t\,10\,15))'[out] 把logo(第四个输入索引3)叠加到最终视频层上,位置x=10、y=10,enable参数控制logo在10-15秒期间隐藏,其他时间显示
  • 输出设置:-map "[out]" 指定输出视频流,-map 2:a 沿用主视频的音频流,-c:a copy 直接复制音频不重新编码,-shortest 让最终输出时长等于主视频的长度,-y 自动覆盖已存在的输出文件

备注:内容来源于stack exchange,提问作者alexdo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 07:24:31