Last updated on

【WoLNamesBlackedOut for OBS】OBSで配信しているFF14からユーザー名を隠すのプラグインをリリースしました!


OBSで配信しているFF14からユーザー名を消したい!

OBSでキャプチャしているFFXIV(Final Fantasy XIV)の画面からユーザー名を黒塗りするOBSプラグインです。
"WoLNamesBlackedOut for OBS"という名前にしています。

ダウンロードはGithubから。

OBSの公式フォーラムにも掲載頂いています!

動作環境

以下で動作確認しています。

  • Windows11 25H2 64bit
  • OBS 32.1.1
  • Intel 11400F
  • Geforce RTX 4700TiS 16GB
    DirectMLを利用しているためRadeonでも動作すると思われます。

    環境

    OBSでのFPS

    備考

    CPU:Intel 11400F
    GPU:Geforce RTX 4700TiS

    最大60FPS
    (1.2.1)

    DirectML
    (DirectX12 GPU)

 

インストール方法

  1. リリースから最新のobs-wolnamesblackedout_x.x.x.zipをダウンロードします。
  2. OBSを終了します。
  3. ZIPを全て展開し出てくるobs-wolnamesblackedoutフォルダを%ProgramData%\obs-studio\plugins\にコピーします。
    もしくは、同梱しているinstall.ps1の内容を確認の上、右クリックから”Powershellで実行”。管理者権限が必要なのでsmartscreenの確認画面が表示されます。実行すると上記フォルダにコピーをしてくれます。
    (通常C:\ProgramData\obs-studio\plugins\です。
    ProgramDataは隠しフォルダになっているので、エクスプローラーのアドレスバーにコピペし、該当フォルダを開くのがおすすめです。)
  4. OBSでゲームキャプチャにエフェクトフィルタ”WoLNamesBlackedOut”を追加して利用します。

 

"WoLNamesBlackedOut for OBS"の使い方

設定画面

メニュー説明

  • 推論
    • しきい値(Threshold)
      名前検出の閾値です。数値を小さくすると検出しやすくなりますがノイズも増えます。
    • 推論間隔(フレーム)
      推論実行間隔です。推論していない間はBytetrackで追跡を行うことで補間します。
    • 非同期推論(Asynchronous Inference)
      名前検出処理の非同期/同期を変更します。
      初期値は非同期となっています。非同期処理の場合、キャプチャと名前検出処理が別々に並行動作するので、トータルとして高いFPSを実現できます。ただ非同期処理の場合、現在のフレームではなく1つ前のフレームでの名前検出結果を利用して名前を隠すことがあり、フレーム間のキャラクターの移動が大きい場合(具体的にはジャンプ)名前と隠すマスクがずれてしまうことがあります。
      非同期をオフ(同期)とした場合、キャプチャと検出が順番に実行されます。そのため現在のフレームに対して名前検出処理が実行され、名前とマスクがずれることがありません。しかし順番に処理を行うため、FPSが十分にあがらないという欠点があります。
  • マスクオプション(Masking Options)
    マスク設定メニューです。チェックボックスオフで、無効になります。
    • マスクタイプ(Masking Type)
      名前の塗りつぶし方を選択できます。
      • 単色塗り(Solid Color):単色塗りつぶし。色を選択できます。
      • ブラーぼかし(Blur):ぼかし。スライダーで調整ができます。
      • モザイク(Pixelate):モザイク。スライダーで調整ができます。
      • インペイント(Inpaint):透明風。スライダーで調整ができます。
      • 透明(Transparent):OBSの背景画像を透過
    • 膨張(Dilation)
      名前の検出エリアを大きく太らせることができます。
  • 名前で対象外(Exclude by Name)
    検出した名前が指定した名前だった場合、マスクの対象外とするメニューです。チェックボックスオフで、無効になります。
    • OCR用拡張ピクセル数(OCR Expand Pixels)
      OCRに渡す検出エリアの膨張ピクセル数です。少し膨張させてOCRに渡すことでOCRしやすくします。
    • フレームごとのOCR最大ROI数
      フレームごとのOCR最大数です。上限を設定することで急な負荷上昇を回避します。
    • テキスト類似度
      OCRしたテキストが対象外とするテキストとどれくらい類似しているかで対象外とするか判断しています。
    • 対象外テキスト(Exclude Text)
      対象外とするテキストです。カンマ","区切りで対象外を複数設定も可能です。
  • 対象外エリア設定(Exclude Area Settings)
    マスク対象外エリアの設定メニューです。チェックボックスオフで、無効になります。
    • 対象外領域のプレビュー(Preview Exclude Region)
      チェックボックスオンで、対象外エリアの範囲が見えるようになります。
      マスク対象:黄色半透明
      マスク対象外:点線枠内の無着色エリア
    • 左、右、上、下(Left、Right、Top、Bottom)
      対象外範囲の左右上下を設定します。
      このエリアにすっぽりと収まる検出のみマスク対象外となります。
      少しでも対象エリアにかかるとマスクされます。
  • 詳細設定
    • 検出ボックスをプレビュー(Preview detection boxes)
      検出の様子、トラッキングID、OCR抽出したテキストなどを確認できます。
    • Perf Log
      ログに書く処理時間を記録します。

 

既知の不具合

  • 特にありません

 

名前の検出精度について

「このパターン、必ずと言ってもいいほど消えないんだよねー」
とか
「チラチラしたり、たまに検出が漏れたりするなー」
というものがあれば、パターンを教えていただければ、対応できるかもしれません。
動画そのものか、動画から切り出した動画と同じ解像度の画像を5枚程度頂けるととても助かります。
学習データの作成は半自動化ができており、従来より比較的容易に作成できるようになりました。
ファイル送信は、例えば下記のようなサービスを利用して送付、ご連絡ください。
よろしくお願いいたします。

 

本アプリに関するお問い合わせ

ツイッター、ブログお問い合わせフォームなどでご連絡いただけると助かります。

https://x.com/calcMCalcm

 


更新履歴

1.2.1:2026/07/15
・GPU-CPU間のメモリ行き来をなくし、GPU内で完結することでFPSを改善しました。

1.2.0:2026/07/12
FPS改善を中心に修正しています。
・推論間隔を変更できるようにしました。推論が実施されない間はBytetrackでの追跡で対応します。
・フレームごとのOCRを実施件数に上限を設定し負荷を分散しました。
・OCR実施間隔を自動設定としメニューから削除しました。
・対象外エリア設定の表示がプレビューに依存していたものを修正し、独立して表示できるようにしました。
・メニューを整理し、推論、詳細設定のグループを追加しました。
・利用していない変数やコードを整理しました。

1.1.2:2026/06/17
・yolo26の入力をRGBとするところをBGRとしていた不具合を修正しました。検出精度が改善しています。
・検出モデルを更新しました。従来よりも検出精度が改善しています。
・OCRへの前処理をループ処理からcv::dnn:blobFromImageに置き換え、効率化しました。
・利用していない変数やコードを整理しました。

1.1.1:2026/06/07
・指定した名前でマスク対象外とする時、テキストの類似度で判断するようにしました。
 対象外テキストとOCRしたテキストのレーベンシュタイン距離で判断しています。

1.1.0:2026/06/04
・検出モデルを更新しました。長い名前、短い名前の検出精度が向上し、NPCの名前に反応しにくくなっていると思います。
・名前で対象外を実装しました。指定した名前はマスクの対象外にできます。
・利用させていただいているライブラリのライセンステキストを同梱しました。

1.0.6:2026/05/10
・inpaint半径を固定値からスライダーで可変としました。
・ブラー、モザイクの初期値を0から3に変更しました。
・マスクタイプ"なし"を削除しました。
 マスクをしたくない場合は、マスクオプションのチェックを外してください
・多言語対応しました。

1.0.5:2026/05/05
・マスク対象外エリアのプレビュー機能が無効になっている不具合を修正しました。

1.0.4:2026/05/04
・マスク対象外エリアを設定できるように変更しました。
 対象外エリアを設定し、配信者の自キャラの名前はマスク処理をしない、というような使い方を想定しています。

1.0.3:2026/04/24
・AsyncInferenceのチェックボックスを追加し、名前検出処理の非同期/同期を変更できるようにしました。

1.0.2:2026/04/24
・マスクタイプにInpaintを追加しました。
・プラグインフォルダにコピーするスクリプト、install.ps1を同梱しました。

1.0.1:2026/04/19
・ビルドオプションAVX2を指定することで処理速度が安定するようになりました。

1.0.0:2026/04/16
・推論部分のスレッド化でOBSでのFPSが30FPS > 50FPSになりました。
・不要な設定UIやコードを整理しました。

0.0.1:2026/04/12
・初期リリース。動作するようになった。