图片生成视频-右进

右侧进入

复制代码
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

命令说明

  1. 输入源

    • -loop 1 -i image.jpg:将静态图片循环为无限帧。
    • -f lavfi -i color=c=black:s=1280x720:d=20:生成一个黑色背景,分辨率为 1280×720,持续 20 秒。
  2. 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 秒开始显示图片。
  3. 视频编码和时长

    • -c:v libx264:指定使用 H.264 编码。
    • -t 20:生成 20 秒的视频。
    • -pix_fmt yuv420p:确保视频兼容性。

效果描述

  1. 视频总时长 20 秒
    • 视频总长度为 20 秒,背景为黑色或自定义背景。
  2. 图片从右侧进入
    • 第 3 秒,图片开始从右侧滑入。
    • 第 8 秒,图片完全进入画面并停留在中央。
  3. 背景保持静止
    • 可根据需要替换背景颜色或使用背景视频。

参数调整建议

  1. 滑入速度

    • 修改 (t-3)*W/5
      • 更快:将 W/5 改为 W/3
      • 更慢:将 W/5 改为 W/8
  2. 图片完全显示的时间

    • 调整 if(lt(t,8),...) 中的时间范围,例如将 8 改为 610
相关推荐
云枫晖5 分钟前
手写Promise-catch和finally
前端·javascript
薄雾晚晴9 分钟前
大屏开发实战:封装自动判断、无缝衔接的文字滚动组件,告别文本截断烦恼
前端·javascript·vue.js
Beginner x_u31 分钟前
前端八股文 Vue上
前端·javascript·vue.js·八股文
Strawberry_rabbit34 分钟前
Docker
前端
江拥羡橙34 分钟前
JavaScript异步编程:告别回调地狱,拥抱Promise async/await
开发语言·javascript·ecmascript·promise·async/await
前端康师傅35 分钟前
JavaScript数组中的陷阱
前端·javascript
用泥种荷花36 分钟前
【web音频学习(七)】科大讯飞Web端语音合成
前端
月弦笙音38 分钟前
【class 】static与 # 私有及static私有:系统梳理
前端·javascript·面试
forever_Mamba38 分钟前
CSS隐藏页面元素
前端·css
云枫晖39 分钟前
JS核心知识-对象继承
前端·javascript