ffmpeg 水印 随机缩小放大
时间: 2023-07-07 11:43:49 浏览: 237
您可以使用 FFmpeg 的 `scale` 和 `zoompan` 滤镜来实现随机缩小放大的效果。具体步骤如下:
1. 准备一个水印图片和视频文件。
2. 使用 `scale` 滤镜设置水印图片的初始大小,例如设置为 100x100:
```
ffmpeg -i watermark.png -vf "scale=100:100" watermark_scaled.png
```
3. 使用 `zoompan` 滤镜设置水印图片的随机缩放和移动效果。例如,设置缩放范围为 0.5 到 2 倍,移动范围为视频宽度和高度的 20%:
```
ffmpeg -i input.mp4 -i watermark_scaled.png -filter_complex "[1:v]zoompan=z='if(eq(on,0),1.5,max(1.001,zoom-0.0015))':x='if(eq(on,0),random(0,(w-tw)*0.2),x+random(-10,10))':y='if(eq(on,0),random(0,(h-th)*0.2),y+random(-10,10))':d=125:fps=30:on=1[v];[0:v][v]overlay=10:10" output.mp4
```
在上述命令中,`zoompan` 滤镜的 `z` 参数用于设置缩放系数,`x` 和 `y` 参数用于设置水印图片的位置,`d` 参数用于设置动画时长,`fps` 参数用于设置动画帧率,`on` 参数用于控制动画的开始和结束。在本例中,`on` 初始值为 0,表示水印图片不显示。当 `on` 变为 1 时,水印图片开始缩放和移动,动画时长为 125 帧,帧率为 30 帧/秒。
4. 使用 `overlay` 滤镜将水印图片叠加到视频上。在本例中,使用 `(10,10)` 作为水印图片的初始位置。
```
[0:v][v]overlay=10:10
```
最终生成的视频文件名为 `output.mp4`。
阅读全文