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?
推荐阅读
- c# - C# Firebase Cloud Message 使用主题消息发送多个 Web JS 通知
- java - 如何告诉 JAXB,该元素是 Root 的 Child?
- wordpress - 如何在 Wordpress 中隐藏 AMP 帖子底部的评论按钮?
- amcharts - AmCharts 系列图表与第二两行类别
- spring-boot - 使用命令行参数设置 application.properties
- php - 在 WooCommerce 中将索引数组转换为可读的订单项元数据
- javascript - 输入后换行
- vue.js - 材料设计 nuxt 集成
- node.js - 如何在不存在的用户上获取 AWS 预身份验证触发器
- javascript - 在 react-konva 中转换后矩形无法正确重新渲染