ffmpeg水印 静态旋转

文章介绍了如何使用ffmpeg的rotate过滤器来实现水印45度旋转,并通过调整输出尺寸(ow,oh)以适应旋转后的新尺寸,同时设置fillcolor为none去除黑色背景,从而完整显示旋转后的水印。
摘要由CSDN通过智能技术生成

在这里插入图片描述
旋转的水印使用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

下面分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

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

第二步,重新计算输出尺寸,可以使用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

在这里插入图片描述
输出尺寸没问题了,剩下一块乌漆嘛黑的背景色,添加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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值