動画を公開するとき、通行人や参加者の顔だけを隠したいことがあります。写真と違い、動画では人物が動くため、同じ位置へ固定したモザイクを置くだけでは途中から顔が見えてしまうことがあります。

Browser KittyのVideo Face Redactor / 動画顔ぼかしは、MP4 / MOVをブラウザ内で解析し、YuNetで顔を検出して、モザイク・ぼかし・塗りつぶし・絵文字を適用できます。選択した動画をアプリのサーバーへアップロードして処理する方式ではありません。

動画では顔の位置が時間とともに変わる

写真では顔の位置は1枚の画像内で固定されていますが、動画では人物が移動し、顔の大きさや向きも変わります。顔が一時的に隠れたり、別の人物と重なったりする場面もあります。

そのため動画の匿名化では、顔を見つけるだけでなく、時間方向の位置を確認し、ずれた場面や見逃した場面を修正する工程が重要です。

MP4 / MOVを開くと顔検出を自動開始する

Video Face RedactorはH.264 / AVC動画を、現在のブラウザがその動画をデコードできる場合に扱えます。H.265 / HEVC入力は、ブラウザ・OS・端末がWebCodecsのHEVCデコードに対応している場合に利用できます。AV1 / VP9はv1.0.0では対象外です。

動画を読み込むとYuNet + ONNX Runtime Webによる顔検出が端末内で始まります。再解析では1 / 2 / 5 / 10回/秒から検出頻度を選べ、動画末尾の1コマも追加で確認します。

連続再生と1コマ確認でマスクのずれを探す

自動検出が終わったら、確認・編集で動画を通して見ます。顔の端が出ていないか、人物の移動にマスクが追従しているか、別の顔を取り違えていないかを確認します。

細かい場面は1コマ前 / 1コマ次で確認できます。Video Face RedactorはMP4のサンプル時刻に合わせてフレームを確認するため、横を向く瞬間や人物同士がすれ違う瞬間などを止めて調べられます。

位置ずれは再検出、見逃しは手動マスクで補う

一部の場面だけマスク位置がずれている場合は、そのフレームで「この場面の顔を探し直す」を使えます。動画全体を最初から再解析せず、問題のある場面を修正できます。

自動検出で見つからなかった顔には手動マスクを追加できます。適用時間は1コマ、前後1秒 / 3秒 / 5秒、動画全体から選択でき、位置を動きに合わせるか同じ場所へ固定するかも選べます。

モザイク・ぼかし・塗りつぶし・絵文字を使い分ける

隠し方はモザイク、ぼかし、塗りつぶし、絵文字から選べます。どの方式でも、顔の端が見える場合は「隠す範囲の余白」を広げてマスクを少し大きくできます。

余白を大きくしすぎると周囲の人物や字幕まで隠れるため、Previewを見ながら調整します。顔を隠すこと自体が本人特定を完全に防ぐ保証になるわけではないため、声や背景など動画内の別の情報も公開前に確認します。

出力はH.264 MP4、対応AAC音声はそのまま引き継ぐ

書き出し解像度は元解像度 / 1080p / 720pから選べます。現在のブラウザ・端末が選択解像度でH.264をエンコードできるかを確認し、対応していない場合は書き出しを有効にしません。

入力がH.265 / HEVCでも出力はH.264 MP4です。対応するAAC(mp4a)音声は再圧縮せず新しいMP4へ引き継ぎます。v1.0.0で扱えない音声形式は警告後に無音で書き出されます。

v1.0.0で確認したい入出力
項目対応
H.264 / AVC入力ブラウザがその動画をデコードできる場合に対応
H.265 / HEVC入力ブラウザ・OS・端末のWebCodecs HEVC対応に依存
映像出力H.264 MP4
AAC音声対応するmp4aは無変換で引き継ぎ

長時間・高解像度動画は端末メモリにも注意する

動画処理をブラウザ内で行っても、端末のメモリ制限はなくなりません。長時間動画や4K動画では、圧縮済みサンプルやエンコード済み結果をMP4完成まで保持するため、メモリ使用量が増える場合があります。

スマートフォンなどメモリに余裕が少ない環境では、短い動画や720p / 1080p出力から試すと問題を切り分けやすくなります。特殊なMOV構成や回転情報の組み合わせも互換性上の制限があります。

選択した動画はブラウザ内で処理する

顔検出に使うYuNetモデル、ONNX Runtime WebのJavaScript / WASM、MP4Box.jsは生成済み単一HTMLへ内包されます。実行時CSPにはconnect-src 'none'が含まれ、生成済みアプリの実行中にCDNへ接続しません。

Web版では最初にHTMLを取得する通信がありますが、その後、選択した動画や音声をアプリのサーバーへアップロードする処理はありません。生成済みdist/index.htmlをローカルで開けば、ネットワーク接続なしでも利用できます。

手順

  1. Video Face Redactorを開き、顔を隠したいMP4 / MOV動画を選びます。
  2. 自動顔検出が終わるまで待ちます。必要なら1 / 2 / 5 / 10回/秒から頻度を選んで再解析します。
  3. 確認・編集で動画を連続再生し、マスクが顔に追従しているか、見逃した顔がないか確認します。
  4. 気になる場面は1コマ前 / 1コマ次で確認し、位置がずれていれば「この場面の顔を探し直す」を使います。
  5. 検出されていない顔には手動マスクを追加し、適用時間と動きに合わせる / 固定を設定します。
  6. モザイク / ぼかし / 塗りつぶし / 絵文字を選び、必要なら「隠す範囲の余白」を調整します。
  7. 出力ファイル名、元解像度 / 1080p / 720p、画質、音声設定を確認します。
  8. H.264 MP4を書き出して端末へ保存します。
  9. 完成した動画を最初から最後まで再生し、顔の見逃し、位置ずれ、音声の有無を確認してから共有します。
Browser Kittyで試す

動画顔ぼかし

動画内の顔を自動検出し、モザイク・ぼかし・塗りつぶし・絵文字で隠してMP4保存します。

ツールを開くツールの詳細を見る

注意点

  • 自動検出後すぐに保存せず、人物が出入りする場面、横顔、すれ違い、カメラが急に動く場面を重点的に確認します。
  • 顔の端が少し見える場合は余白を広げますが、字幕や周囲の人物まで覆わないかPreviewで確認します。
  • 一部だけ位置がずれた場合は動画全体の再解析より「この場面の顔を探し直す」を先に試します。
  • 長時間・4K動画はメモリ使用量が増えるため、端末によっては短い動画や低めの出力解像度から試します。
  • 顔を隠すだけで完全な匿名化が保証されるわけではないため、声・背景・画面内の文字なども公開前に確認します。

よくある質問

動画の顔を自動で見つけてぼかせますか?

はい。動画を読み込むとYuNetによる顔検出を端末内で開始し、検出した顔へマスクを配置します。ただし検出・追跡は完全ではないため、完成動画を全編確認してください。

モザイク以外の隠し方も使えますか?

モザイク、ぼかし、塗りつぶし、絵文字から選べます。顔の端が見える場合は隠す範囲の余白も調整できます。

自動検出されなかった顔はどうすればよいですか?

手動マスクを追加できます。1コマ、前後1秒 / 3秒 / 5秒、動画全体から適用時間を選び、動きに合わせるか固定するかも設定できます。

H.265 / HEVC動画も使えますか?

ブラウザ・OS・端末がWebCodecsのHEVCデコードに対応している場合に利用できます。対応状況は動画選択時に確認されます。

書き出し形式は何ですか?

H.264 MP4です。入力がH.265 / HEVCでも、v1.0.0の映像出力はH.264になります。

動画の音声は残りますか?

対応するAAC(mp4a)音声は再圧縮せず引き継ぎます。v1.0.0で扱えない音声形式は警告後に無音で書き出されます。

動画はBrowser Kittyのサーバーへアップロードされますか?

いいえ。Web版では最初のHTML取得は発生しますが、選択した動画の解析、顔検出、マスク処理、MP4生成はブラウザ内で行います。

自動検出が終われば、そのまま共有しても大丈夫ですか?

推奨しません。速い動き、顔の一時的な隠れ、極端な角度、小さい顔などでは見逃しや位置ずれが起こり得ます。書き出した動画を最初から最後まで確認してください。