水印猫实用指南

浏览器里的逐帧修复:方向插值与 Worker 调度

不用服务器也能做基础画面修复:浏览器解码视频帧,把选区送入算法 Worker,按边界方向补全像素,再重新封装音视频。

解码与时间轴决定处理范围

浏览器需要读取视频轨道、帧率和时长,只在选区生效的时间段处理画面。限定时段可以减少无关像素变化,也缩短计算时间。

从边界向内部推进

算法先观察遮罩四周的颜色与梯度,再沿更可靠的方向向内推进。同步推进可以避免一侧结果过早影响另一侧。

Worker 让界面保持可操作

逐帧运算放入 Worker 后,主线程仍可更新进度和响应取消操作。任务队列需要正确处理异常、终止信号和资源释放。

编码阶段同样影响结果

画面修复完成后还要重新编码视频流,并尽量保留原有音轨。编码器可用性、帧率和浏览器能力都会影响最终文件。

浏览器处理前的选区与时间设置

  1. 选区只覆盖水印和少量边缘
  2. 为间歇水印限定开始与结束时间
  3. 导出后检查音画同步与总时长

读完后常见问题

为什么使用 Worker?
它能把耗时像素运算移出主线程,降低页面卡顿并便于管理并行任务。
算法模式和 AI 模式有什么区别?
算法模式按明确规则传播像素;AI 模式靠模型推理。两者适合的背景不同,资源消耗也不同。
浏览器处理会改变音频吗?
理想情况下音轨可直接保留,但实际行为取决于容器、编码器和浏览器支持。