当前位置:   article > 正文

使用ffmpeg对图片视频进行任意角度旋转,解决黑边和裁剪问题_ffmpeg 旋转之后的黑影如何消除

ffmpeg 旋转之后的黑影如何消除

使用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 图片就可以随着时间旋转,还可以加相应的函数根据一定规则旋转

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/174763
推荐阅读
  

闽ICP备14008679号