FFmpeg 平铺裁剪

MSH*_*MSH 1 ffmpeg tile android-ffmpeg

该图像被分成 12 个相等的部分。有没有办法用 ffmpeg 来做这样的工作?

这张图片上传到 Instagram

Gya*_*yan 5

使用

ffmpeg -loop 1 -i image.png -vf "crop=iw/3:ih/4:mod(n,3)*iw/3:trunc(n/3)*ih/4" -vframes 12 out%d.png
Run Code Online (Sandbox Code Playgroud)

为了完全覆盖图像,图像宽度必须能被 3 整除,高度必须能被 4 整除。


对于方形输出,将裁剪高度设置为裁剪宽度。垂直裁剪在顶部和底部留下一些空间。

ffmpeg -loop 1 -i image.png -vf "crop=iw/3:iw/3:mod(n,3)*iw/3:trunc(n/3)*iw/3+(ih-iw)/2" -vframes 12 out%d.png
Run Code Online (Sandbox Code Playgroud)

(此方法要求 ih/4 > iw/3 才能获得所需的输出)

  • 我必须转义 `mod(n,3)` 中的逗号才能使其正常工作:`mod(n\,3)` (2认同)