右侧进入
ffmpeg -loop 1 -i image.jpg -f lavfi -i color=c=black:s=1280x720:d=20 -filter_complex "[1:v]format=rgba[bg];[0:v]format=rgba,scale=1280:720[img];[bg][img]overlay=x='if(lt(t,3),W,if(lt(t,8),W-(t-3)*W/5,0))':y=(H-h)/2:enable='gte(t,3)'" -c:v libx264 -t 20 -pix_fmt yuv420p output.mp4
命令说明
-
输入源:
-loop 1 -i image.jpg
:将静态图片循环为无限帧。-f lavfi -i color=c=black:s=1280x720:d=20
:生成一个黑色背景,分辨率为 1280×720,持续 20 秒。
-
overlay
滤镜:x='if(lt(t,3),W,if(lt(t,8),W-(t-3)*W/5,0))'
:t < 3
:图片在右侧画面外,x=W
。3 ≤ t < 8
:从第 3 秒开始,图片从右侧向左缓慢滑入,x
的位置从W
逐渐减小到0
。t ≥ 8
:图片完全显示,停留在x=0
。
y=(H-h)/2
:图片垂直居中显示。enable='gte(t,3)'
:从第 3 秒开始显示图片。
-
视频编码和时长:
-c:v libx264
:指定使用 H.264 编码。-t 20
:生成 20 秒的视频。-pix_fmt yuv420p
:确保视频兼容性。
效果描述
- 视频总时长 20 秒 :
- 视频总长度为 20 秒,背景为黑色或自定义背景。
- 图片从右侧进入 :
- 第 3 秒,图片开始从右侧滑入。
- 第 8 秒,图片完全进入画面并停留在中央。
- 背景保持静止 :
- 可根据需要替换背景颜色或使用背景视频。
参数调整建议
-
滑入速度:
- 修改
(t-3)*W/5
:- 更快:将
W/5
改为W/3
。 - 更慢:将
W/5
改为W/8
。
- 更快:将
- 修改
-
图片完全显示的时间:
- 调整
if(lt(t,8),...)
中的时间范围,例如将8
改为6
或10
。
- 调整