Skip to content

chaye7417/SoraWatermarkCleaner

Repository files navigation

SoraWatermarkCleaner - Sora2 视频水印去除工具

基于深度学习的 Sora2 视频水印去除工具,快速、高质量地清除 AI 生成视频中的水印。

案例1 (25秒)
keigo_matsumaru_sora_watermark_removed_10mb.mp4
案例2 (10秒)
man_in_snowmountain_sora_watermark_removed_combined.mp4
案例3 (10秒)
STH_soar2_sora_watermark_removed_combined.mp4

特性亮点

  • 支持批量处理 - 一次处理整个文件夹的视频
  • 双模型可选 - LAMA(快速)和 E2FGVI_HQ(时间一致性好)
  • 支持新版水印 - 已更新 YOLO 权重,支持带用户名的新版水印
  • Claude Code Skill - 可作为 Claude Code 技能使用,语音命令即可去水印

1. 技术方案

SoraWatermarkCleaner(简称 SoraWM)由两部分组成:

  • SoraWaterMarkDetector:基于 YOLOv11s 训练的水印检测模型
  • WaterMarkCleaner:基于 LAMA 模型的水印修复模块(参考 IOPaint 实现)

整个流程完全由深度学习驱动,在大多数 Sora 生成的视频上都能获得良好效果。

2. 安装

前置要求

  • FFmpeg - 视频处理必需
  • uv - 推荐的 Python 包管理器

安装步骤

# 克隆仓库
git clone https://github.com/chaye7417/SoraWatermarkCleaner.git
cd SoraWatermarkCleaner

# 安装依赖
uv sync

# 激活环境(可选)
source .venv/bin/activate

模型下载

模型会在首次运行时自动下载:

  • YOLO 权重:保存到 resources/best.pt
  • LAMA 模型:保存到 torch 缓存目录

3. 使用方法

命令行批量处理

python cli.py -i 输入目录 -o 输出目录

更多选项:

# 处理 .mov 文件
python cli.py -i /输入目录 -o /输出目录 --pattern "*.mov"

# 处理多种格式
python cli.py -i /输入目录 -o /输出目录 --pattern "*.{mp4,mov,avi}"

# 使用 E2FGVI_HQ 模型(时间一致性好,较慢,需要 CUDA)
python cli.py -i /输入目录 -o /输出目录 --model e2fgvi_hq

# 静默模式(不显示进度条)
python cli.py -i /输入目录 -o /输出目录 --quiet

Python API

from pathlib import Path
from sorawm.core import SoraWM
from sorawm.schemas import CleanerType

# 方式1:LAMA - 快速,质量好,可能有轻微闪烁
sora_wm = SoraWM(cleaner_type=CleanerType.LAMA)
sora_wm.run(Path("输入视频.mp4"), Path("输出视频.mp4"))

# 方式2:E2FGVI_HQ - 时间一致性好,但在非 CUDA 设备上很慢
sora_wm = SoraWM(cleaner_type=CleanerType.E2FGVI_HQ)
sora_wm.run(Path("输入视频.mp4"), Path("输出视频.mp4"))

Claude Code Skill

本项目可作为 Claude Code 技能使用。安装后,直接对 Claude 说:

去水印 /path/to/video.mp4

触发词:去水印Sora水印清除水印dewatermarkremove watermark

Web 界面 (Streamlit)

streamlit run app.py

支持单文件和批量处理,可切换模型:

4. 性能优化

我们提供了多种加速选项:

检测器 批量 清理器 TorchCompile Bf16 耗时(秒) 加速比
YOLO × LAMA × × 44.33 -
YOLO × E2FGVI × × 142.42 1.00×
YOLO × E2FGVI × 117.19 1.22×
YOLO 4 E2FGVI × 82.63 1.72×
YOLO 4 E2FGVI 58.60 2.43×

优化选项说明:

  • YOLO 批量检测:默认批量大小为 4,可提升约 40% 速度
  • TorchCompile(仅 E2FGVI):默认开启,可提升约 22% 速度
  • Bf16 推理(仅 E2FGVI):最高可达 2.43 倍加速,但质量可能略有下降
from sorawm.core import SoraWM
from sorawm.schemas import CleanerType

# LAMA + 批量检测(快速)
sora_wm = SoraWM(
    cleaner_type=CleanerType.LAMA,
    detect_batch_size=4
)

# E2FGVI_HQ + 全部优化(时间一致性好)
sora_wm = SoraWM(
    cleaner_type=CleanerType.E2FGVI_HQ,
    enable_torch_compile=True,
    detect_batch_size=8
)

# E2FGVI_HQ + Bf16(最快,质量略有损失)
sora_wm = SoraWM(
    cleaner_type=CleanerType.E2FGVI_HQ,
    enable_torch_compile=True,
    detect_batch_size=4,
    use_bf16=True
)

5. Web 服务器

提供基于 FastAPI 的 Web 服务:

# 构建前端(可选)
cd frontend && bun install && bun run build && cd ..

# 启动服务器
python start_server.py

服务器运行在 5344 端口,访问 http://localhost:5344 查看界面。

API 接口:

  1. submit_remove_task - 上传视频,返回任务 ID
  2. get_results - 查询任务状态和进度
  3. download - 下载处理后的视频

详细文档:http://localhost:5344/docs

6. 一键便携版(Windows)

提供免安装便携版,解压即用:

下载链接:

特点:

  • ✅ 无需安装
  • ✅ 包含所有依赖
  • ✅ 开箱即用

7. 数据集

标注数据集已上传至 Hugging Face:sora-watermark-dataset

欢迎使用该数据集训练自己的检测模型或改进现有模型。

8. 许可证

Apache License 2.0

9. 致谢

About

Deep learning powered Sora2 watermark cleaner (YOLOv11s + LAMA)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors