在使用ffmpeg的scale
过滤器时,我看到许多与此类似的示例:
ffmpeg -i input.mov -vf scale="'if(gt(a,4/3),320,-2)':'if(gt(a,4/3),-2,240)'" output.mov
变量a
表示什么?
答案 0 :(得分:2)
答案 1 :(得分:1)
我在阅读https://trac.ffmpeg.org/wiki/Scaling%20(resizing)%20with%20ffmpeg后的猜测是a是输入文件的宽高比。
网页上给出的示例让您了解如何使用它:
有时需要以适合的方式缩放输入图像 到一个指定的矩形,即如果你有一个占位符(空 矩形),您想在其中缩放任何给定的图像。这是一个 有点棘手,因为你需要检查原始的宽高比, 为了决定指定哪个组件并设置另一个组件 组件为-1(保持纵横比)。例如,如果我们愿意的话 喜欢将输入图像缩放为尺寸为的矩形 320x240,我们可以使用这样的东西:
ffmpeg -i input.jpg -vf scale="'if(gt(a,4/3),320,-1)':'if(gt(a,4/3),-1,240)'" output_320x240_boxed.png
答案 2 :(得分:1)
在ffmpeg wiki" Scaling (resizing) with ffmpeg"中,他们使用此示例:
gt(a,4/3)
据我所知,gt(a,4/3)
的目的是确定视频(或图像,在本例中)的方向(纵向或横向)。
对于某些奇怪的宽高比(7:6,例如,ffmpeg -i input.jpg -vf scale="'if(gt(iw,ih),320,-1)':'if(gt(iw,ih),-1,240)'" output.png
会错误地变为虚假的情况,这不会起作用。
在我看来,最好使用视频的高度和宽度,因此上面的代码将是:
mvn package