我对这个命令很满意。它需要三个图像输入。添加第四个白色背景输入,用于设置视频的大小并充当画布。
三个输入经过scale
过滤器然后创建三个新的输出。
新输出连接到画布,有一个覆盖集(在 UI 中,用户可以将图像定位在 x 和 y 坐标上)。然后创建三个新输出。我以这种方式构建它,以便更容易管理转换。
然后在最后三个输出上,我使用第一个输出过渡到第二个输出。然后将第三个输出连接到过渡。
我认为我没有得到 1080x1080 框,因为我忘记将过渡输出放回空白画布上,但我不确定如何做到这一点。这是命令。
ffmpeg
-i "0.jpg"
-i "1.jpg"
-i "2.jpg"
-f lavfi
-i color=c=white:s=1080x1080
-filter_complex "
// scale
[0:v]scale=1330:1989[out1],
[1:v]scale=1588:2381[out2],
[2:v]scale=1144:1717[out3],
// overlays
[3:v][out1]overlay=-125:-454:enable='between(t,-0.5,5.5)'[out101],
[3:v][out2]overlay=-340:-1093:enable='between(t,4.51,10.5)'[out102],
[3:v][out3]overlay=-32:-13:enable='between(t,9.51,15)'[out103],
// transitions
[out101][out102]gltransition=duration=1:offset=4.51[vt0],
[vt0][out103]gltransition=duration=1:offset=9.51[main]
"
-map "[main]"
-ac 2
-vcodec libx264
-preset veryfast
-crf 27
-pix_fmt yuv420p
-vb 20M
-t 00:00:15
out.mp4
以下是结果链接https://storycreatoruploads2.s3-us-west-2.amazonaws.com/f0eb5120-5511-11ea-8afc-05bd6ece194b您会发现它的尺寸不正确,底部有一个黑色方块。
有什么方法可以让图像填满 1080x1080 的正方形吗?另外,我对命令的思考是否正确?
干杯