第三方工具参考:用 FFmpeg 处理固定标识
本文介绍自行使用 FFmpeg 时可参考的通用滤镜思路。水印猫网页工具不内置、不调用 FFmpeg,也不要求安装 FFmpeg。
先确定坐标、尺寸和生效时间
滤镜需要明确 x、y、宽度和高度。使用时间表达式限制生效区间,可以避免整段视频都被处理。
delogo 用周边像素平滑填充
它适合小型固定区域,参数简单、速度可控。背景纹理复杂或水印压住轮廓时,结果可能呈现明显的模糊块。
裁剪和覆盖更可预测
裁剪会改变画面尺寸;覆盖可以放入色块、图片或新的设计元素。两者都不会试图恢复真实背景,因此失败方式更容易预估。
滤镜输出通常需要重新编码
修改视频像素后无法直接流复制视频轨道。应设置编码器和质量参数,同时根据需要复制或重新编码音频。
三类处理的参考命令
以下命令假设标识位于画面左上角附近,x、y、宽度和高度需按实际截图测量;滤镜会修改像素,因此视频轨道需要重新编码,音频则可直接复制。
ffmpeg -i input.mp4 -vf "delogo=x=40:y=40:w=180:h=48" -c:a copy output.mp4
delogo 依据选区周边像素做平滑填充,适合小型固定标识;如果接受直接遮挡而不是补全,可以换成 drawbox:
ffmpeg -i input.mp4 -vf "drawbox=x=40:y=40:w=180:h=48:color=black@0.6:t=fill" -c:a copy output.mp4
标识贴近画面边缘且允许改变构图时,可以直接裁掉所在边缘,例如裁去底部 60 像素:
ffmpeg -i input.mp4 -vf "crop=iw:ih-60:0:0" -c:a copy output.mp4
标识只在部分时间段出现时,用 enable 表达式限定生效区间,避免整段视频都被处理:
ffmpeg -i input.mp4 -vf "delogo=x=40:y=40:w=180:h=48:enable='between(t,3,18)'" -c:a copy output.mp4
自行使用 FFmpeg 前的参数检查
- 用截图确认坐标和范围
- 为滤镜设置准确时间段
- 检查输出编码与播放兼容性
读完后常见问题
- 水印猫会调用 FFmpeg 吗?
- 不会。水印猫当前使用 Mediabunny、WebCodecs、WebGPU 和 ONNX 等浏览器技术,不包含 FFmpeg 或 ffmpeg.wasm。
- FFmpeg 能处理移动水印吗?
- 可以组合表达式或分段命令,但复杂轨迹维护成本较高。
- delogo 会恢复原画面吗?
- 不会,它主要依据区域周围像素做平滑和插值。
- 为什么不能直接复制视频流?
- 因为画面像素已经被滤镜修改,视频轨道必须重新编码。