JPEGとRAWのメタデータを同期させたい!
日々たくさんの写真を撮る私にとってLightroomでの写真管理はかなり理想に近いものではありますが、もちろん完璧ではありません。細かな不満点を上げるとキリがないのですが、先日問題なったのがJPEGとRAWデータ間のメタデータの同期。
具体的にはRAW+JPEGで撮影したデータで、JPEG側に付与したメタデータ(キーワードとかレーティング、カラーラベルなど)を同じ写真のRAWデータに同期することができない問題です(手動で一枚ずつやるしかない)。
かなりニッチな問題なのですが、私は仕事柄、発売直後や発売前のカメラを使って撮影することが多いのですね。この場合、初期撮影段階ではLightroom側がカメラのRAWデータに対応しておらず、まずはJPEGだけでキーワード付けやらセレクトやらをするわけです。
で、めでたくRAWが対応になった時に別に保存しておいたRAWを読み込むわけだけど、JPEGにつけたメタデータをRAWに移植することが出来ないわけ。今後使いたいデータはRAW側なのに。
普通の人でも発売直後に買ったカメラで撮影する場合、同じ問題が起きるはず。そんなわけでこれを無理やり解決する方法についてご紹介したいと思います。
キーボード操作自動化で半自動化する
数十枚程度であればメタデータのコピペ(Ctrl+Alt+Shift+c / Ctrl+Alt+Shift+v)をして一枚ずつ手動でやってもいいのですが、今回は先日海外で撮影してきた8000枚くらいの写真が対象だったのでさすがに手作業は無理。なんとかして自動化したいところです。
Twitterで聞いてみた
上記のRAWとJPEGのメタデータ同期問題、もしかしたら私が知らないだけでLightroomを使って出来るのかもしれない?と思って先日Twitterで以下の質問を投げかけてみました。
LightroomでRAW+JPEG画像を使うとき、RAWとJPEGのメタデータを同期する方法ってありますか?(特にJPEG→RAW)なかなか良い方法が思いつかなくて困ってる。
— studio9/写真のことが全部わかる本 発売中! (@photostudio9) July 20, 2017
そしたら数名の方からアドバイス頂き、やっぱりLightroomでは無理っぽい。。
でもこんなアドバイス頂きました!
難しそうですね。力技でXMPファイルを偽装してメタデータを同期?でもこれだと採用、除外フラグなどXMPファイルに書き込めないデータもありますね。
WindowsならUWSCなどのキーボード操作を自動化するソフトで力技?— Daisuke Matsui@Daix (@DaixPhotography) July 20, 2017
その手があったか!ということで別のアプリケーションを使ってキーボード操作を自動化させます。メタデータのコピペは[Ctrl+Alt+Shift+c / Ctrl+Alt+Shift+v]で出来るし、写真の移動は左右の矢印で行えるのでキーボード操作だけで行けそうです!
昔、ドラクエでコントローラーを固定して無限レベル上げをした思い出が蘇りますw
UWSCで自動化する方法
調べてみるとキーボードを自動化するソフトはいろいろあるのですが、今回はシンプルな操作ですし最初のアドバイスにもあったように国産のUWSCというアプリを使うことにしました。
Windows専用のアプリですが、恐らくMacにも似たようなアプリがあるはずなので他のアプリでも十分代替が効くはず。
ダウンロード&インストール
UWSCは有料版と無料版の2種類がありますが、今回の作業はシンプルなので無料版で全く問題ありません。
まずは本家のWEBサイトに行き、UWSC(フリーウェア版)をダウンロード。かなりレトロなデザインのサイトですが、アプリ自体は定期的にアップデートされているので安心です。
*今回使ったのはUWSC Free版 Ver5.3.0.2 です。
ダウンロードされたファイルを解凍して、出てきたUWSC.exeをダブルクリックしたらすぐ使えます。単体で起動するのでインストールする必要はありません。
特に設定をいじる必要もなかったです。
Lightroomの操作をUWSCで記録する
1.Lightoom側の準備
まずはLightroom側の準備。特に難しい事はありませんがRAWとJPEGが確実に隣り合っていることを確認しましょう。キヤノンならIMG_xxxx.cr2とIMG_xxxx.jpgが隣り合っているはず。RAWとJPEGの並び順も重要です。カードへの記録のタイミングなどでRAWとJPEGの順番が時々変わってしまうカメラもあるかもしれません。
ライブラリーモジュール下の並べ替えを撮影日時ではなく「ファイル名」としておくのが確実。
で、流れとしてはJPEGの写真でメタデータをコピー[Ctrl+Alt+Shift+c]。
ここでダイアログボックスが出てくるので、あらかじめ同期したい項目にチェックを入れておきましょう。操作記録時はダイアログボックスが出てきたら「Enter」を押すだけにしておきます。
つぎに左に移って、ペースト[Ctrl+Alt+Shift+v]。終わったら右を3回打って次の写真にという操作をUWSCに記録させて、これをひたすらループさせます。
キヤノン(.CR2)やソニー(.ARW)はこの並び順ですが、ニコン(.NEF)ならRAWとJPEGの並びが逆になるので注意。
また、万が一誤った操作で自動化して欲しいメタデータが消えてしまう事を避けるために事前にカタログのバックアップは取っておきましょう。(RAWとJPEGを逆にするとメタデータ消える。。)
2.UWSCで記録
では、UWSC.exeをダブルクリックして画面の端っこに出てきたUWSCのウインドウを見てみます。かなりシンプルなウィンドウです。
右から2番目の録画(記録開始)ボタンで記録開始。押したらすぐ操作が記録されます。
録画ボタンを押したらLightroomに移って上記の1.~6.までの作業をして終わったらSTOPボタンを押して記録完了。
つづいて、記録したものを保存します。
適当なファイル名を付けて好きなところに保存します。
3.UWSC記録データを編集
保存したファイルはメモ帳などのテキストエディタで開いて編集が可能です。開いてみましょう。
例えば私が記録した操作の内容はこんな感じ。ここからいらないものを除去しましょう。具体的にはマウス操作「MMV(736,339,15)」などは不要なので除去。
MMV(734,343,16) MMV(731,349,16) MMV(726,358,15) MMV(722,364,16) MMV(721,368,15) MMV(720,369,16) MMV(720,370,15) MMV(718,372,16) MMV(718,373,46) ACW(GETID("Lightroom Catalog - Adobe Photoshop Lightroom - ライブラリ","AgWinMainFrame"),0,0,2560,1400,0) BTN(LEFT,CLICK,718,373,110) KBD(VK_ALT,DOWN,1671) KBD(VK_CTRL,DOWN,0) KBD(VK_SHIFT,DOWN,16) KBD(VK_C,CLICK,188) KBD(VK_ALT,UP,78) KBD(VK_CTRL,UP,16) KBD(VK_SHIFT,UP,0) ACW(GETID("メタデータをコピー"),989,399,582,596,0) KBD(VK_RETURN,CLICK,1469) ACW(GETID("Lightroom Catalog - Adobe Photoshop Lightroom - ライブラリ","AgWinMainFrame"),0,0,2560,1400,0) KBD(VK_LEFT,CLICK,468) KBD(VK_ALT,DOWN,938) KBD(VK_CTRL,DOWN,15) KBD(VK_SHIFT,DOWN,0) KBD(VK_V,CLICK,188) KBD(VK_CTRL,UP,47) KBD(VK_SHIFT,UP,16) KBD(VK_ALT,UP,0) KBD(VK_RIGHT,CLICK,1562) KBD(VK_RIGHT,CLICK,234) KBD(VK_RIGHT,CLICK,344) MMV(718,373,1266) MMV(718,373,31) MMV(718,373,16) MMV(717,372,15) MMV(716,368,15) MMV(714,365,16)
整理したのがこんな感じ。最初に写真をクリックしてしまったので12行目の「BTN(LEFT,CLICK,718,373,110)」も除去しておきます。
ACW(GETID("Lightroom Catalog - Adobe Photoshop Lightroom - ライブラリ","AgWinMainFrame"),0,0,2560,1400,0) KBD(VK_ALT,DOWN,1671) KBD(VK_CTRL,DOWN,0) KBD(VK_SHIFT,DOWN,16) KBD(VK_C,CLICK,188) KBD(VK_ALT,UP,78) KBD(VK_CTRL,UP,16) KBD(VK_SHIFT,UP,0) ACW(GETID("メタデータをコピー"),989,399,582,596,0) KBD(VK_RETURN,CLICK,1469) ACW(GETID("Lightroom Catalog - Adobe Photoshop Lightroom - ライブラリ","AgWinMainFrame"),0,0,2560,1400,0) KBD(VK_LEFT,CLICK,468) KBD(VK_ALT,DOWN,938) KBD(VK_CTRL,DOWN,15) KBD(VK_SHIFT,DOWN,0) KBD(VK_V,CLICK,188) KBD(VK_CTRL,UP,47) KBD(VK_SHIFT,UP,16) KBD(VK_ALT,UP,0) KBD(VK_RIGHT,CLICK,1562) KBD(VK_RIGHT,CLICK,234) KBD(VK_RIGHT,CLICK,344)
つぎにループ操作を書き加えます。
繰り返したい所を「FOR i = 1 TO (繰り返したい回数)」~「NEXT」で囲うだけ(2行目と最終行)。
ACW(GETID("Lightroom Catalog - Adobe Photoshop Lightroom - ライブラリ","AgWinMainFrame"),0,0,2560,1400,0) FOR i = 1 TO 500 KBD(VK_ALT,DOWN,100) KBD(VK_CTRL,DOWN,0) KBD(VK_SHIFT,DOWN,16) KBD(VK_C,CLICK,100) KBD(VK_ALT,UP,15) KBD(VK_CTRL,UP,15) KBD(VK_SHIFT,UP,0) ACW(GETID("メタデータをコピー"),989,399,582,596,0) KBD(VK_RETURN,CLICK,250) ACW(GETID("Lightroom Catalog - Adobe Photoshop Lightroom - ライブラリ","AgWinMainFrame"),0,0,2560,1400,0) KBD(VK_LEFT,CLICK,200) KBD(VK_ALT,DOWN,200) KBD(VK_CTRL,DOWN,15) KBD(VK_SHIFT,DOWN,0) KBD(VK_V,CLICK,100) KBD(VK_CTRL,UP,15) KBD(VK_SHIFT,UP,15) KBD(VK_ALT,UP,0) KBD(VK_RIGHT,CLICK,200) KBD(VK_RIGHT,CLICK,100) KBD(VK_RIGHT,CLICK,100) NEXT
これで完成です。上記の例だとコピペをひたすら500回自動で繰り返すスクリプトになりました。
ちなみに「KBD(VK_ALT,DOWN,1671)」にある「1617」という数字は直前の操作からこの操作(Altキーを押す)をするまでの待ち時間(ms)です。ここの数字を小さくすると作業が早くなるので適宜変えてみるのも良いでしょう。ループさせるので時短に大きく効いてきます。
ただし、短くしすぎるとLightroomの処理が追いつかずに止まってしまう可能性があるので様子を見ながら小さくすると良いかと思います。
編集が終わったら別名で保存(.UWS)しておき、これをUWSCから読み込みます。
4.あとはひたすらコピペ
あとは真ん中の再生ボタンを押せばコピペが始まります。
作業中、他の操作ができないのがちょっとツラいところですが、手動でチマチマコピペするより大幅に時間と労力短縮が可能になりました!
単純作業は機械にやらせましょう。
この記事を書く時間を入れたら大して変わらない(というかマイナスかも)しれないけどw
まとめと注意点
ということで、地獄のコピペ作業を機械にやらせることができてひとまず満足です。8000枚のコピペも無事終わりました。
作業の注意点は途中でも言いましたがカタログのバックアップ(当該箇所だけカタログとして書き出ししてもいい)を取っておく。途中でRAWとJPEGの並び順が入れ替わったりしているとメタデータが消えます。
それと、環境によっては途中で強制終了が掛る可能性があります。私の場合、連続で600回くらいコピペすると高い確率でLightroomが固まってしまいました。。
いきなり1000回とかやらずに少しずつ増やした方が良いかも知れません。
ということで、実はあんまりLightroom関係ない話でしたが、この方法、他の作業や他のアプリにも応用できる方法なので無駄な単純作業したくない!という方はぜひトライしてみて下さい。
人生の貴重な時間をコピペで消費するのはもったいないですからね!
追記:もっと便利なプラグインがありました!
有料ですがメタデータを同期するための「Syncomatic」という神プラグインがありました。大量にやるならこっちの方が圧倒的に便利で高機能!執筆時9ユーロ(1,200円くらい)。実際使ってみましたがたくさん同期するならこっちの方が良いです。
導入の仕方などは下記ブログがとても分かりやすいです。