lxulxu/WatermarkRemover

批量去除视频中位置固定的水印

WatermarkRemover

機能: LAMA モデルを使用して、動画から固定ウォーターマークを一括削除するツール。

要件

  • Python 3.10(正確なバージョンが必要)

インストール

  1. リポジトリをクローンし、フォルダに入ります。
  2. (任意ですが推奨)Python 仮想環境を作成して有効にします。
  3. pip install -r requirements.txt で基本依存関係をインストールします。
  4. PyTorch をインストールします — 次の 2 つのオプションのいずれかを選択します:
    • CPU バージョン: pip install torch
    • GPU バージョン(NVIDIA グラフィックカードが必要):
      • NVIDIA のダウンロードページから CUDA Toolkit をインストールします。
      • CUDA バージョンに一致する cuDNN をインストールします。
      • PyTorch 公式サイトのコマンドを使用して PyTorch の GPU ビルドをインストールします(例:pip3 install torch==2.6.0+cu126 ...)。

プログラムは GPU が利用可能かどうかを自動的に検出し、処理モードを選択します。

使用方法

コマンドラインから実行します:

python watermark_remover.py --input /path/to/videos --output /path/to/output

処理前に効果を確認するには --preview を追加します。

コマンドラインオプション

パラメータ 短縮オプション 説明 デフォルト
--input -i 動画ファイルを含むフォルダ .(現在のフォルダ)
--output -o 処理済み動画の出力フォルダ output
--preview -p 処理前に効果プレビューを表示 無効

仕組み

  1. ウォーターマーク領域を選択: プログラムは動画の 1 フレームを表示します。ウォーターマークの周囲に手動でボックスを描き、スペース または エンター キーを押して続行します。
  2. プレビュー(任意): 有効にすると、処理結果が表示されます。スペース または エンター キーで確認、ESC キーでキャンセルして終了します。
  3. 動画を処理: 初回実行時に LAMA モデルがダウンロードされ、時間がかかります。
  4. 出力: 結果は MP4 ファイルとして保存されます。

制限

  • 固定位置にあるウォーターマークのみ対応 — 移動するウォーターマークはサポートされていません。
  • 1 つのバッチで処理されるすべての動画は同じ寸法である必要があります。
  • 1 つのバッチ内のすべての動画は同じウォーターマークである必要があります。

GPU 問題のトラブルシューティング

No GPU detected, using CPU for processing というメッセージが表示された場合、README は以下を提案しています:

  • Python が 3.10 であることを確認します。
  • CPU 版ではなく GPU 版の PyTorch をインストールしたことを確認します(README は Lama Cleaner のドキュメントを引用:ツールが GPU を使用していない場合、CPU 専用の PyTorch がインストールされている可能性が高い)。
  • CUDA、cuDNN、PyTorch のバージョンがグラフィックカードと互換性があることを確認します:
    • GPU の NVIDIA CUDA 互換性リストを確認します。
    • NVIDIA のアーカイブから一致する cuDNN バージョンを選択します。
    • PyTorch のサイトから一致する PyTorch ビルドを選択します。

GPU が正しく検出されると、プログラムは GPU detected: NVIDIA XXX Using GPU for processing のようなメッセージを出力します。

スター履歴

README には、プロジェクトの GitHub スターの時間経過を示すスター履歴チャートが含まれています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト