Adobe Lightroom Classic CCでどこでも同じカタログで作業したい

こんにちは。今日はLightroomを使って複数台のマシンで写真管理をする際の、一つの快適な解決策を見つけましたのでご紹介します。

結論としては単純なのですが、軽く検索してみても同様の事例が見つからなかったので投稿してみました。


# 前置き

Macユーザーのため、AppleのApertureが発表された時からApertureを利用していました。

現在はApertureがなくなってしまったので、Lightroomで写真管理をしている方がほとんどなんじゃないかと思います。

当時は一台のMacで全て作業を完結していたため、また、3.5inch HDDが増設できるMacProを利用していたため容量も十分あり、ローカルマシンで完結する標準的な利用方法で満足していました。

また、ApertureにはVaultという機能で別のドライブやネットワークドライブ上にマスタファイルを含む全ての情報のバックアップを作成し、同期する機能がありました。

### Apertureを選択していた理由

(ここは今回の投稿ではあまり関係のない部分です)
LightroomではなくApertureを採用した理由は、iTunesと同様の考え方でライブラリのデータベースファイルと実際の画像ファイルが同一のパッケージ(ディレクトリ)で管理されていて、ファイルの場所や移動を意識することなく使える点が安心して便利に使えると感じていたからでした。 


# Lightroomでの課題と解決策

## 課題

Apertureがなくなり、Lightroomに移行してしばらくはなんの問題もなく利用していたのですが、環境変化により以下の課題が出てきました。

* MacProにディスクが増設できなくてローカルストレージに制限がある
* 自宅のMacProだけではなく、MacBookProや外出先でもカタログを使うときがある
* LightroomにはApertureのように丸ごとバックアップする機能がない

NASなどを用意してネットワークドライブをMacでマウントし、カタログ全部ネットワークドライブに置けば解決だね。と思ってました。

が、実際にはこれはできません。
ネットワークドライブ上にカタログ等をずべてコピーし、よし開くぞ、とLightroomを起動してみるとエラーになります。

![Lightroom エラー](https://qiita-image-store.s3.amazonaws.com/0/73788/b35737f9-06f8-5c23-01ca-87661736a529.png)


## 解決策

マスタファイルはネットワークドライブに、カタログファイルはこれまで通りローカルディスクに置いて、Dropboxの同期対象に含める。と言う方法を思いつきました。


![構成図](https://qiita-image-store.s3.amazonaws.com/0/73788/36f7e6d8-1287-49ad-6360-142f4caeda3a.png)

試して見たところ問題なく動作しています。

こうすると、手元のMacではLightroomカタログとプレビューファイルだけがあればいいので、容量も少なめで済みます。
また、同時に起動することはできないですが、Dropboxで同期されているどのMacでもいつでもカタログを開いたり、NASに接続できれば、どのMacからでも現像や画像の追加などができます。

出先のホテルで画像を取り込むこともできましたので、最近とても快適に使うことができています。

# さらに快適に使うためのポイント

## Lightroomのキャッシュを増やす

「環境設定」→「パフォーマンス」タブ、「Camera RAW キャッシュ設定」で、ローカルにRAW画像をキャッシュする容量を指定できます。

![camerarawcache.png](https://qiita-image-store.s3.amazonaws.com/0/73788/da41cfeb-71c0-f957-9a51-795dba552a91.png)


こちらを大きくしておくことで、現像中にアクセスした直近のRAW画像が手元にキャッシュする量が増えて、キャッシュヒット率が上がると思われます。

## Lightroomの「スマートプレビュー」を利用する

現像する際には、手元にマスタ画像を読み出す必要があります。当然ですが、このダウンロード処理がネットワーク越しに行われるため、現像が可能になるまでに待たされてしまいます。

一方で、Lightroomでは、スマートプレビューという非可逆圧縮されたRAW画像を生成する機能があります。

参考：[Adobe Photoshop Lightroom Classic CC でスマートプレビューを使用した写真の表示と編集方法](https://helpx.adobe.com/jp/lightroom/help/lightroom-smart-previews.html)

生成されたスマートプレビューはカタログと同じ場所(ローカルディスク+Dropbox)に保存されるため、素早く現像処理を開始できるだけではなく、オフラインでも利用できます。

全ての写真についてスマートプレビューを保持しておくとローカルディスクの容量を圧迫してしまうため、私の場合は、写真選定や現像をするコレクションに対してのみ一括でスマートプレビューを生成するようにしています。

スマートプレビューは写真をライブラリで選択した状態で、「ライブラリ」→「プレビュー」メニューから生成したり破棄したりできます。

![スマートプレビュー](https://qiita-image-store.s3.amazonaws.com/0/73788/4e4407bf-b705-fd5c-4546-46ab86c7eb2d.png)

また、デフォルトではオフラインの時だけスマートプレビューを使うように設定されているため、せっかく作ったスマートプレビューが利用されません。
オンラインであっても高速化のためにスマートプレビューを使いたい場合には設定を変更する必要があります。

「環境設定」→「パフォーマンス」タブの「画像編集には、元画像の代わりにスマートプレビューを使用」にチェックをつけると、オンラインであってもスマートプレビューを使って現像の操作をすることができます。

![usesmartpreview.png](https://qiita-image-store.s3.amazonaws.com/0/73788/94f3ffa9-4e99-d935-8e52-af06313a365e.png)


## SMB3を使う

マスタファイルがネットワーク越しにあるため、ネットワークドライブ越しの速度がそのまま快適性に繋がります。

今までだとMacの場合はAFP （netatalk) が速いというイメージでした。逆に言うと、MacでWindowsファイル共有(SMB)は遅いと言うイメージだったのではないでしょうか。

ところが、YosemiteでSMB3がサポートされ、今ではパフォーマンスが劇的に改善されています。

MacでもSMB3を利用することで、マスタファイルを扱うレスポンスが改善します。

私はマスタファイルをさくらのクラウド上にセットアップしたSambaに置き、インターネット越しにマウントしてますが、概ね快適に動作しており、カメラからの読み込み中は100Mbps近い速度が出ています。

![iftop](https://qiita-image-store.s3.amazonaws.com/0/73788/7109f37a-b88e-7cc2-f77b-0fe7653daa60.png)

また、SMB3を使うと通信内容を暗号化することができます。(賛否両論あると思いますが)Sambaのサーバを直接グローバルIPに置くことで超快適な環境を用意することもできます。

Wiresharkで見てみると、`Encrypted SMB3`と表示され、ちゃんと暗号化されていることがわかります。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/73788/fde53786-ef97-fb30-66c7-8115e1c5f5d3.png)

ちなみに、私は`smb.conf`にて以下のような指定を`[global]`セクションで行なっています。

```:smb.conf
[global]
  client min protocol = SMB3
  client max protocol = SMB3
  socket options = IPTOS_LOWDELAY TCP_NODELAY SO_RCVBUF=131072 SO_SNDBUF=131072
  strict sync = no
  sync always = no
  use sendfile = yes
  write cache size = 2097152
  min receivefile size = 16384
  getwd cache = true
  aio read size = 16384
  aio write size = 16384
  ea support = no
  server signing = off
  smb encrypt = mandatory
```

## DS-Lite または MAP-E を使う

もしも自宅のインターネットでNTTのフレッツ光を利用されている場合には、DS-LiteやMAP-E方式 (IPv4 over IPv6トンネル) を利用しましょう。

一般的にはPPPoEを使い、IPv4の通信は契約したプロバイダーを経由してインターネット上のサーバと通信していることが多いと思います。
ところが、インターネットが遅い多くの原因はこのPPPoEの収容装置が混雑しているところにあったりします。

IPoEによるIPv6オプションを有効にし、さらにIPv4の通信もDS-LiteやMAP-EのようなIPv4 over IPv6トンネルを利用することで、PPPoEの収容装置の混雑に影響されずにIPv4インターネットに接続することができます。

上記の100Mbps出ている画像もアクセス元をみると `shared.user.transix.jp` と、インターネットマルチフィードのDS-Lite経由であることがわかります。

### 参考情報

* [YAMAHA RTX1210でDS-Lite接続](https://qiita.com/yuu26/items/bfbfabf0fc05809045e4)
* [VyOSでIIJmioにDS-Lite接続（ひかり電話契約なし）](https://qiita.com/onigiri8441/items/a40bc9a6d7603bf74542)

## バックアップ

さくらのクラウド上に構築したSambaを使っている場合には、自動バックアップでディスク丸ごと定期的にバックアップすることができます。

![さくらのクラウド-自動バックアップ](https://qiita-image-store.s3.amazonaws.com/0/73788/a43c015a-b815-fe65-0899-52a7255ab06f.png)


# Lightroom CC もあるよ

先日のアップデートで、これまでのLightroomがLightroom Classic CCとLightroom CCに分離されました。
Lightroom CCは全てクラウド管理になっており、上記のような環境に対応が可能です。

容量に制限があるのと機能に違いがあるため、Lightroom CCで事足りるのか、物足りなくてClassicを使うのかは人によりそうです。

私は今の所Classic派です。

### 参考情報

* [どこが変わった？！Lightroom Classic CCと新しいLightroom CC最速レビュー！](http://photo-studio9.com/all-new-lightroom-review-2017/)


# 最後に

いかがでしたでしょうか。「もっと便利なのあるよ」とか、皆様の作業環境についてもっと知れるといいなと思います。