首页 > 解决方案 > 以背景为中心连续旋转图像

问题描述

是否可以连续旋转图像或一系列图像并作为视频输出ffmpeg?旋转图像应以背景为中心。

请参阅示例视频

标签: ffmpeg

解决方案


使用旋转滤镜旋转图像,使用颜色滤镜作为背景,使用叠加滤镜将图像置于背景之上,使用格式滤镜确保广泛兼容的 H.264 视频色度二次采样。

在纯背景上旋转图像的示例

ffmpeg -f lavfi -i color=c=00ff00:s=1280x720:d=10 -loop 1 -i image.png -filter_complex "[1]rotate=angle=PI*t:fillcolor=none:ow='hypot(iw,ih)':oh=ow[fg];[0][fg]overlay=x=(W-w)/2:y=(H-h)/2:shortest=1:format=auto,format=yuv420p" -movflags +faststart output.mp4

速度由旋转过滤器控制:特别是angle参数。例子:

  • 每秒顺时针90度:angle=90*PI/180*t
  • 每帧顺时针 1 度:angle=PI/180*n
  • 逆时针每秒 1 个完整的旋转(2 弧度):angle=-2*PI*t

有关更多示例,请参阅旋转过滤器文档

如果您想要 GIF 而不是 MP4,请参阅如何使用 ffmpeg 输出 GIF?


推荐阅读