FFMPEG zoompan 滤镜示例

FFMPEG zoompan 滤镜示例

我需要制作一个视频ffmpeg使用各种平移和缩放放大滤镜。我必须能够创建放大、缩小、平移和平移效果到视频的所有区域,例如:左上角、中上角、右上角、右下角、中下角、左下角、左下角和中间。到目前为止,我只能弄清楚如何放大几个区域,例如:

放大左上角:

-vf "zoompan=z='zoom+0.001':x='if(gte(zoom,1.5),x,x-1)':y='y':d=125"

放大右上角:

-vf "zoompan=z='zoom+0.001':x='if(gte(zoom,1.5),x,x+1)':y='y':d=125"

放大左下方:

-vf "zoompan=z='min(zoom+0.0005,1.5)':y='if(gte(zoom,1.5),y,y+1)':x='x':d=125"

我一直无法找到好的资源来解释这些数字如何工作,以及如何找出所有这些变化的特定 zoompan 过滤器。

帮助????

答案1

zoompan 滤镜表达式每帧都会被评估。表达式中引用的变量包含最后计算的值,如果是第一帧,则包含默认值。

评估表达式的值zoom表示结果尺寸与原始尺寸的比率,即zoom = 3缩放窗口的宽度和高度为输入的三分之一。

xy表示缩放窗口的左上角在输入图像中的位置。

d是评估和应用缩放的帧持续时间。

当然,你应该指定输出帧速率fps和大小s 过滤器的(看其文档),否则滤镜将应用其默认的 25 fps 和 1280x720,这可能不是您想要的。

为了平滑缩放,您可能需要高档事先的图像。

相关内容