納品時の操作説明には、機能の使い方が分かる場面が多く含まれます。一方で、取引先名、保存先のパス、地名、価格表なども映り込んでいます。公開用の短い動画を作るときは、場面選びと情報の除去を先に行い、その後でHyperFramesへ素材を組み込みます。
一覧画像で使う場面を探す
FFmpegで一定間隔の画像を取り、長い録画を俯瞰します。候補が決まったら、その時間帯だけ1秒間隔などで詳しく確認します。
ffmpeg -i source.mp4 -vf "fps=1/10,scale=640:-1,tile=6x5" -frames:v 1 overview.jpg
ffmpeg -ss 120 -i source.mp4 -t 10 -vf "fps=1,scale=640:-1,tile=5x2" -frames:v 1 detail.jpg
最初の例は先頭30枚分の一覧です。長い動画は区間を分けます。一覧画像では小さな文字を読めないため、採用する場面は必ず元の解像度でも確認します。
切り落とす・使わない・隠すを選ぶ
アドレスバーやウィンドウのタイトルは、表示領域を切り出すとまとめて除外できます。スクロールで動く顧客情報は、固定位置のモザイクからはみ出すため、その区間を採用しない判断も有効です。
価格や氏名のように残す必要がない文字は、不透明な塗りつぶしや内容の差し替えを優先します。モザイクは読めなくなる保証がないため、情報の性質に応じて方法を選びます。元の音声に取引先名が入る場合は、映像だけ直しても公開できません。
静止画の複数領域を加工する
次は2領域をモザイクにする例です。座標は入力画像に対する幅:高さ:x:yです。モザイク後の確認で文字の末尾が残らないよう、領域に余裕を持たせます。
ffmpeg -i original.png -filter_complex \
"[0:v]split=3[base][a][b]; \
[a]crop=160:80:100:200,scale=16:8:flags=area,scale=160:80:flags=neighbor[pa]; \
[b]crop=120:80:400:200,scale=12:8:flags=area,scale=120:80:flags=neighbor[pb]; \
[base][pa]overlay=100:200[tmp];[tmp][pb]overlay=400:200[out]" \
-map "[out]" -frames:v 1 redacted.png
処理をループで生成する場合も、splitした各出力が必ず一つの入力へ接続されるようにします。使わない出力はnullsinkへ接続します。フィルターの書式はFFmpegのフィルター資料で確認できます。
加工の記録を素材と一緒に残す
動画プロジェクトへ置くのは加工後の素材に絞り、元録画の管理場所は別にします。REDACTION.mdへ区間、対象情報、加工方法、確認状況を記録すると、差し替え時に見直せます。
| 区間・素材 | 確認する情報 | 対処 |
|---|---|---|
| ブラウザー操作 | アドレスバー・プロフィール | 本文領域だけ切り出す |
| 一覧表 | 取引先・地名 | 該当列を除外、または差し替える |
| 金額説明 | 単価・原価・利益 | 公開用ダミーへ置換する |
| ナレーション | 固有名詞・案件の詳細 | 公開用の台本で録り直す |
自動チェックや一定間隔の画像確認では、一瞬の表示を見落とします。加工後の素材と完成動画を人が通して確認し、公開許可と素材の利用範囲も合わせて確かめます。
