【发布时间】:2018-08-02 19:22:28
【问题描述】:
在从图像中创建 mp4 幻灯片时,我在网上为 zoompan 做了一些示例,但我仍然没有完全掌握如何让它们从图像中的某个位置开始。这是典型的命令:
ffmpeg -i image-000.jpg -filter_complex "color=c=black:r=60:s=1920x1080[demo];[0:v]format=pix_fmts=yuva420p,scale=8000:-1,zoompan =z='min(zoom+0.0005,1.2)':s=2000x1333:d=360:x='if(gte(zoom,0.9),x,x+1/a)':y='if(gte (zoom,0.9),y,y+1)',fade=in:0:25:alpha=1,setpts=PTS-STARTPTS+0.0/TB[v0];[demo][v0]overlay=format=yuv420 " -t 6 -c:v libx264 -y out000.mp4
我使用的照片的纵横比通常为 3x2 或 4x3,因此我知道它们必须在 16x9 视频的某个地方被截断。上述代码(以及许多其他“Ken Burns 效果”示例)的问题在于,它们从图像的底部截断开始,然后放大或缩小,从不显示底部。
如何让动画在图像上进一步向下开始? 我在 y='...' 部分所做的任何操作都不会影响它。甚至没有输入 0 到 100000 之间的常数,而是调整该公式中的值 y='if(gte(zoom,0.9),y,y+1)'。
注意:我已经为原始图像使用 crop 或 pad 取得了一些成功,但我更想了解如何更好地在图像内定位缩放。
【问题讨论】:
标签: video ffmpeg video-encoding