markdown复制## 1. FFmpeg水印处理全攻略
给视频添加水印是内容创作者的刚需,既能保护版权又能强化品牌曝光。FFmpeg作为视频处理领域的瑞士军刀,其水印功能强大但参数复杂,很多新手容易在位置控制上翻车。这里分享一套经过实战验证的标准化操作流程。
### 1.1 基础水印添加命令
最简水印命令格式如下:
```bash
ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10" output.mp4
这条命令实现了:
-i input.mp4指定输入视频-i logo.png加载水印图片overlay=10:10设置水印出现在距左上角横向10像素、纵向10像素位置
注意:水印图片建议使用PNG格式透明图层,JPG白色背景会破坏画面美感。我遇到过用JPG做水印导致最终效果像打了马赛克的惨案。
1.2 九宫格定位法实战
手动计算像素位置既麻烦又不精准,FFmpeg内置的变量可以智能定位:
bash复制# 右下角定位
ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=main_w-overlay_w-10:main_h-overlay_h-10" output.mp4
# 居中定位
ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" output.mp4
变量说明:
main_w/main_h:主视频宽高overlay_w/overlay_h:水印图片宽高- 最后的
-10是边距调整
实测发现,当处理竖屏视频时,直接使用overlay_w可能会造成位置偏差。我的经验是先用ffprobe检查水印图片实际尺寸,在命令里用scale=参数统一缩放比例:
bash复制ffmpeg -i input.mp4 -i logo.png -filter_complex "[1:v]scale=100:-1[wm];[0:v][wm]overlay=main_w-overlay_w-10:main_h-overlay_h-10" output.mp4
1.3 动态水印高级技巧
让水印周期性闪现可以降低对内容的干扰:
bash复制ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10:enable='between(t,5,10)'" output.mp4
这个案例实现:
- 第5到10秒显示水印
t代表时间轴(秒)- 可以组合多个时间段:
enable='between(t,2,4)+between(t,8,12)'
最近给客户做电商视频时,还开发出移动水印效果:
bash复制ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=x='if(gte(t,2), -w+(t-2)*200, NAN)':y=10" output.mp4
- 从第2秒开始,水印以每秒200像素速度从左向右滑动
-w表
