当前位置:   article > 正文

ffmpeg水印 静态旋转_ffmpeg图片旋转

ffmpeg图片旋转

在这里插入图片描述
旋转的水印使用rotate过滤器实现。但要注意旋转后内容实际占用区域和原区域是不同的,rotate默认的输出尺寸是使用输入尺寸。因此需要重新计算输出宽度ow和输出高度oh

ffmpeg -i main.mp4 -i overlay.png -filter_complex [1:v]rotate=a=PI/4:ow="rotw(PI/4)":oh="roth(PI/4)":fillcolor="none"[rot],[0:v][rot]overlay=x=50:y=50 output.mp4
  • 1

下面分3步说明实现:

第一步,将overlay层旋转45度。

ffmpeg -i main.mp4 -i overlay.png -filter_complex [1:v]rotate=a=PI/4[rot],[0:v][rot]overlay=x=50:y=50 output.mp4
  • 1

在这里插入图片描述
黑色区域是输入尺寸,红色框是旋转后实际需要的尺寸。由于默认使用输入的尺寸作为输出尺寸,旋转后的图片并不能完全展示。

第二步,重新计算输出尺寸,可以使用ffmpeg提供的表达式rotw以及roth。这两表达式返回的是包含旋转后图层需要的最小宽度和高度。

ffmpeg -i main.mp4 -i overlay.png -filter_complex [1:v]rotate=a=PI/4:ow="rotw(PI/4)":oh="roth(PI/4)"[rot],[0:v][rot]overlay=x=50:y=50 output.mp4
  • 1

在这里插入图片描述
输出尺寸没问题了,剩下一块乌漆嘛黑的背景色,添加rotate过滤器的fillcolor参数并设置为不指定。

第三步,不指定背景色

ffmpeg -i main.mp4 -i overlay.png -filter_complex [1:v]rotate=a=PI/4:ow="rotw(PI/4)":oh="roth(PI/4)":fillcolor="none"[rot],[0:v][rot]overlay=x=50:y=50 output.mp4
  • 1

在这里插入图片描述
旋转一定角度的水印就完成了!参数描述可参考 ffmpeg 入门篇

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

闽ICP备14008679号