右侧进入
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。
- 调整