![FFmpeg 过滤器可任意角度旋转图像](https://linux22.com/image/1369519/FFmpeg%20%E8%BF%87%E6%BB%A4%E5%99%A8%E5%8F%AF%E4%BB%BB%E6%84%8F%E8%A7%92%E5%BA%A6%E6%97%8B%E8%BD%AC%E5%9B%BE%E5%83%8F.png)
我需要用安装在略微偏离垂直角度的网络摄像头制作延时视频,并且需要将图像逆时针旋转约 3 度。(网络摄像头位于几乎无法接近的位置,即使我们确实修复了角度,由于天气原因,最终也可能被踢歪。所以我需要在软件中修复它。)
我已经成功使用 ImageMagick 的转换工具和命令行选项:
convert infile.jpg -distort ScaleRotateTranslate 750,50,-3 outfile.jpg
但当然,转换速度非常慢。我可以使用 FFmpeg 过滤器完成我需要做的一切(裁剪并在图像上叠加徽标),但似乎没有过滤器允许将图像旋转任意角度,只能旋转 90 度或 180 度。
也许有某种通用的线性变换过滤器可以做到这一点?
谢谢你的帮助。
答案1
Arotate
FFmpeg 中存在过滤器,允许任意角度旋转。
要使用它,你可以下载最近的快照构建或从 git 构建最新版本。
角度以弧度表示;正数表示顺时针,负数表示逆时针。如果以度数表示,则乘以 PI/180 即可转换为弧度。例如,要逆时针旋转 3°:
ffmpeg -i in.mp4 -vf "rotate=-3*PI/180" out.mp4
查看文档了解更多详细信息和其他示例。