赞
踩
使用ffmpeg rotate滤镜对图片视频进行任意角度旋转
参数如下
angle,a
设置顺时针旋转的角度表达式,表示为若干弧度。负值为逆时针旋转。默认设置为“0”。
out_w
设置输出宽度表达式,默认值为“iw”
out_h
设置输出高度表达式,默认值为“ih”
bilinear
如果设置为1则允许双线性插值,为0则禁用它,默认为1
fillcolor c
设置旋转后的填充颜色,none表示不填充,即透明,默认为黑色
n
输入帧,从0开始
t
输入帧时间(秒)
hsub
vsub
水平和垂直色度子样本值,例如:对应像素格式yuv422,hsub是2,而vsub是1
in_w
in_h
输入宽高
out_w,ow
out_h,oh
输出宽高
rotw(a)
roth(a)
完全包含由弧度旋转的输入视频所需的最小宽度/高度。
只有在计算out_w和out_h表达式时才可用。
例子
把图片旋转45度放到视频中心
ffmpeg -i scenery.mp4 -i logo.png -filter_complex "[1:v]rotate='45*PI/180:ow=hypot(iw,ih):oh=ow:c=none'[rotate];[0:v][rotate]overlay=(W-w)/2:(H-h)/2" rotate.mp4 -y
解析
c=none这样就不会出现黑色背景
ow=hypot(iw,ih):hypot(x, y) 计算斜边(直角三角形最长边)等效于sqrt(xx + yy),如果不设置ow,oh则旋转之后溢出边框部分之间被裁剪掉了
实现旋转过渡小姑:rotate='45*PI/180*t 图片就可以随着时间旋转,还可以加相应的函数根据一定规则旋转
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。