[備忘録]Zoom仮想背景画像をサルベージした[自分でアップロードしたもののみ]
こんにちは、よもぎたです。今日は実現できて個人的に嬉しかったことを書きます。
経緯
- Zoomを使い始めた時に自分で仮想背景画像を作ったのですが、そのファイルが行方不明になってしまいました。
- 世の中、ZoomだけじゃなくTeamsとかGoogle meetもあります。それでも同じ仮想背景を使いたい!と思いました。
- そこで、Geminiさんに聞いたらZoomアプリがローカルに仮想背景画像を保管しているというので、サルベージを試みて、何とか成功しました。
なお、Windows+WSL環境です。Geminiさんは2025年10月に提供されている 2.5 Pro です。
手順の概要
- Zoomアプリが仮想背景画像を保存しているフォルダを特定します。この配下のファイルたちは元のファイル名を保っていません。拡張子も付いていません。
- 自信があればそのフォルダで作業してよいと思いますが、私は作業用ディレクトリにそのフォルダ配下のファイルをコピーしました。
- WSLを起動して作業用ディレクトリに移動します。基本的なコマンドしか使わないので、ディストリビューションは何でも大丈夫だと思います。
-
fileコマンドでざっとファイルたちの情報を教えてもらいます。 - ファイルフォーマット(PNGとかJPEGとか)と解像度でアタリを付けます。
- あたりを付けたファイルの拡張子を変更してあげればサルベージ完了です。
具体的な手順
Zoomアプリの保存フォルダ特定
これは C:\Users\<UserName>\AppData\Roaming\Zoom\data\VirtualBkgnd_Custom でした。
ネットの海を彷徨いながら手探りでした。
将来は変更になるかもしれません。(言い訳)
このステップが一番の鬼門でした。
ファイルの特定
file コマンドさまさまです。ファイル名が元の姿を保っていなくても、拡張子が無くても、ファイルの情報を教えてくれます。
例えばこんな感じです。
$ file bkimg.jpg
bkimg.jpg: JPEG image data, progressive, precision 8, 1920x1080, components 3
JPEGファイルで、解像度は 1920x1080 だと教えてくれます。
実際は file * して grep につなげていく感じになると思います。
中には、もっといろいろな情報が分かるファイルもありました。
$ file example.jpg
example.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=7, orientation=[*0*], xresolution=98, yresolution=106, resolutionunit=2, software=GIMP 2.6.11, datetime=2012:05:07 13:37:09], baseline, precision 8, 1920x1080, components 3
まあ雑にやるなら、ファイルフォーマットに合った拡張子をつけてやればよいと思います。
たとえばこんな感じですね。
$ file * | grep JPEG | cut -d: -f1 | awk '{printf("cp -fv %s %s.jpg\n",$1,NR)}' | sh
file コマンドさまにファイルの情報を教えてもらい、JPEGファイルだけ grep して、今のファイル名だけを cut で切り出して、最後は定番の awk 先生で実行したいコマンドを生成して sh に渡します。
awk 先生で生成しているコマンドは、元のファイル名から <NR変数=行番号>.jpg に cp するものです。
作業用フォルダのコピーなら cp じゃなくて mv でもいいかもしれません。そのあたりはお好みで。
あとは、エクスプローラで…と思いましたが、 code . する方が早かったです。
おわりに
こんな記事を書く必要がないよう、ファイルの整理整頓は普段からきちんとしましょう。
特に自分が作ったファイルは大切に。
最後までお読みいただきありがとうございました。
Discussion