UnibelPost - ユニベルポスト

好きなことテキトーに書いていく日記

【Pixelサーバー化】PCをハブにしてPixelから他端末の写真を無制限でアップする仕組みを作った話

おはようございます。Syunです。

 

全ての写真をPixel1経由にしたい!

もうずいぶん前に初代Pixel(Pixel1)を買ったという日記を書きました。詳しくは読んで欲しいのですが、簡潔にまとめるとPixel1のストレージに入っている写真は撮影したデバイスが何であれ、Googleフォトに無制限無圧縮でアップすることが出来るという内容です。

そこで僕は考えたわけです。
iPhoneやAndroidで撮影した写真をPixel1を経由させれば永遠にGoogleフォト無料じゃね?
と。つまり、僕のメイン機であるiPhoneやサブ機であるXperiaで撮影した写真も、Pixel1に転送すればシステム上無限アップロード対象になるわけです。

問題は移すのが億劫ということで、いちいち写真撮ったらUSB経由で物理移動とか他のクラウドストレージ経由でPixel1まで送りつけるのは骨が折れます。面倒。

なんか簡単に自動化できないかなァ~~と考えた結果、そういえばこの前買った使い道のないデスクトップPCがあることに気がつきました。面白そうなので、今回はこれを活用し
「PCをハブにしてiPhoneやAndroidの写真をPixel1に転送する」
仕組みを組んでみました。今回はその手順を備忘録がわりに書いておきます。

まあNASを活用するとか他に色々やり方は思いつくのですが、せっかくPCが余っているのと、調べたらスマホアプリの設定ぐらいですぐに出来そうだったので。実際20分足らずで終わりました。

今回は初代Pixelを使いましたが、Pixel 3a/4系/5にも(圧縮されますが)無制限アップロードが付いているので、同じように構築すれば自動Googleフォトバックアップフローを作れます。こんなマニアックな日記誰も読むことはないでしょうが、万が一同じような用途を考えている人がいたら参考までに。

責任逃れのために書いておきますが、僕はこういう分野は専門外なので間違ってたらすんません。詳しい人がいたらもっと効率いい方法とか教えてくれると嬉しい。

一連の流れと使用するアプリ/ソフト

一連の流れを図で表すとこんな感じになります。誰でも思いつきそうな超簡単な流れですが。


要はパソコンを簡易サーバ化してるわけです。

スマホで使うアプリ

それでは早速、フローを構築するためのアプリなどをまとめました。

FolderSync (Android)

play.google.com写真を送る側のAndroidとPixel1には自動でパソコンとデータを送受信できる仕組みが必要です。が、Androidの標準機能にそんなモノは存在せず。そこで見つけたのがこちらのFolderSyncというアプリ。パソコンとLAN内でデータやりとりできるアプリぐらい1つや2つくらいはあるやろと調べたらすぐさま見つかりました。

FTPやSMBなどでWindowsとファイルのやりとりが出来る上、各種クラウドサービスとのやりとりも出来るそうです。しかもスケジュールを予約すれば勝手に同期してくれる機能もあるらしい。これこれ、こういうの欲しかったの。しかも無料(広告除去などは有料)。

詳細と使い方についてはこちらのサイトさんが詳しいのでどうぞ。僕も基本このページを見ながらやりました。

sakue.com

PhotoSync (iOS端末・Windows)

PhotoSync - 写真やビデオの転送とバックアップ

PhotoSync - 写真やビデオの転送とバックアップ

  • touchbyte GmbH
  • 写真/ビデオ
  • 無料

apps.apple.com残念ながらFolderSyncはiOS版がないのですが、写真だけであれば似たようなソフトがあります。それがこちらのPhotoSync。名前までそっくり。

Windows版も存在し双方にインストールすれば同じLAN内で写真/動画の送受信が出来る優れもの。クラウドストレージなどとも連携可能。そうそう、こういうの求めてたの。こちらは有料ですが、安いので買いました。

Windowsの設定

それでは自動化のシステム(と言うにはお粗末なほど簡単)を組んでいきます。まずはWindowsの設定から。

IPアドレスの固定

まずはWindows PCのIPアドレス固定を行います。FolderSyncはIPアドレスを直接指定してやり取りするのですが、IPの再振り分けが起こるとその度に設定し直しする必要が出てきそうなので。

IPアドレスの固定方法はここでは省略します。わかる人多いだろうし、ググればいくらでもやり方でるので。バッファローが分かりやすくまとめてたので貼っておきます。

パソコンのIPアドレスを手動で設定する方法 | バッファロー

Windows11でちょっとUIが分かりにくかったのですが、2分程度でサクッと固定しました。後で Androidに打ち込むとき空で打ち込めるように覚えやすい数字にしておくといいでしょう。

送受信用フォルダを作成

スマホとファイルを送受信するためのフォルダを作ります。別にデスクトップに送り付けても良いのですが、専用のフォルダを作った方がわかりやすいので。


今回はCドライブ直下に「backup」というフォルダを作成しました。ユーザフォルダの下でも良いと思いますが、ディレクトリ名打つときに楽なのでCドライブ直下。

ファイル共有設定をする

では上の手順で作ったbackupフォルダにスマホからアクセスできるようにしていきます。


まずはエクスプローラのネットワークをクリックし、上部に出てくる警告?表示をクリック。「ネットワーク探索とファイル共有の有効化」をオンにします。


次にbackupフォルダのプロパティに行き、「共有」タブに移ります。

「詳細な共有」をクリック。


「このフォルダを共有する」にチェックを入れます。


その次、検索欄から「Windowsの機能の有効化または無効化」を検索して開きます。


どこかに「SMB1.0/CIFSファイル共有のサポート」なる項目があるので、プルダウン含めて全てチェックを入れます。これでフォルダ共有の設定は終了。

PhotoSyncのPC版をインストール

FolderSyncは上記の設定だけで良いのですが、iOSで使うPhotoSyncはPC側にクライアントソフトをインストールする必要があります。


公式サイトにアクセスし、Windows版をダウンロード&インストール。


先ほどPCのCドライブ直下に作った「backup」フォルダの中に「iOS」というフォルダを作り、設定の受信から保存場所に設定します。これでiOSから送られた写真と動画は「iOS」フォルダ下に入ることになりました。

 Android(送信側)の設定

では写真を撮ってWindowsに転送する側のAndroidを設定していきます。まず同じLANに接続しFolderSyncを開きます。

ちなみに、スクショがやけに長いのは21:9ディスプレイのXperia 5Ⅱだからです。見づらくてすんません。Xperiaに限らずAndroid積んでれば基本的に同じ操作で出来ると思います。


まず送信先を登録します。「アカウント」をクリックし、「SMB1」をクリック。


名前登録名。なんでもいいです
ログイン名Windowsアカウント(ユーザ)名
パスワードWindowsアカウントのログインパスワード
サーバーアドレス固定したWindowsPCのIPアドレス

上の4項目を入力し、そのほかはいじらず「TEST」をタッチします。問題なければ「ログインに成功」と表示されます。

割とネットを見るとここで躓く人が多いようで、IPアドレスやユーザ名が間違えたりしやすいらしいです。自分もWindowsアカウントにログインパスワードを設定していなかったのでパスワードを空欄にしたらエラー吐かれました。仕方ないので0000と設定したところ成功。専門外なのでよく分からんな。

 最近のWindowsはユーザアカウントがMSアカウント紐付けになったりしてわかりにくいので、躓いたら専用のローカルアカウントを1つ作ると良いと思います。私みたいに「user」「0000」とかで作れば他の端末で設定するときも楽。

その次、左から二番目の「同期フォルダ」に移り、「同期フォルダーを作成」をクリックします。SMB1を選ぶとWindowsPCとどのフォルダをどのように送受信するかの設定画面に入ります。まずは一般をクリック。

同期タイプアップロード
リモートフォルダ(Windows)Windowsに作った受信/送信用フォルダを指定
ローカルフォルダ(Android)送信したい画像が入っているフォルダを指定

これでローカルフォルダに指定したAndroid内のフォルダから、リモートフォルダに指定したWindows内のフォルダに画像がアップロードされます。


次に「同期オプション」へ移動。ここかなり重要です。

サブフォルダを同期する:オン
隠しファイルの同期:オン(どっちでもいいけど)
削除を同期:オフ
古いファイルを上書き:しない
ローカルファイルとリモートファイルの両方が変更された場合:スキップ

まずサブフォルダを同期をオンにしないと写真がアップされない可能性が高いです。そんで、削除を同期をオフにしないとパソコン側で画像の削除をした場合にスマホ側の画像も削除されます(多分)。


次に「高度な設定」に移ります。ここは2つ重要な項目があります。

ファイルを移動オフ
変更したソースファイルのみを再同期オン

高度とか言っていますが割と大切なところです。まず、「ファイルを移動」をオンにしてしまうとWindowsPCに画像が移動してしまい、Androidに残りません。今回はコピーをしたいのでオフにします。また、「変更したソースファイルのみを再同期」はオンにしておいた方が良いです。そうしないとWindowsに送られてきたデータを削除や移動した際にもう一度全部送りつけてしまうので。

 

以上で送信する側のAndroidの基本設定は終了です。他の項目は任意でいじると便利になるかも知れません。スケジュールを設定してインスタント同期をオンにすれば自動的に写真がPCへ送れるようになったり、jpegファイルだけ送りたい場合はフィルターで拡張子指定なども出来ます。

iOS(送信側)の設定

では次にiOS側の設定をします。と言っても特にやることはないです。


まずPhotoSyncのプレミアムプランに加入します。1ヶ月100円、1年は720円です。安い。

加入したら写真へのアクセス許可を出して、Windowsと同じLANに接続するだけです。

Pixel(受信側)の設定

では最後にPixel側の設定をします。と言っても送信側のAndroidと似たような項目をいじるだけです。


まずPixel内部にデータを受信するフォルダを作ります。純正のフォルダアプリから内部ストレージにアクセスして「バックアップ」という名のフォルダを作りました。

次にFolderSyncにWindows受信フォルダを設定します。これは上のAndroidと全く同じなので省略。「アカウント」→「アカウントを追加」→「SMB1」でIPアドレスとかログインパスワードとか打ち込みます。


ここもほぼ送信側と同じです。

同期タイプダウンロード
リモートフォルダ(Windows)Windowsに作った受信/送信用フォルダを指定
ローカルフォルダ(Android)上の工程で作った受信用フォルダを指定


次に「同期オプション」タブ。これも似たようなやつです。

サブフォルダを同期する:オン
隠しファイルの同期:オン(どっちでもいいけど)
削除を同期:オフ
古いファイルを上書き:する(どっちでもいいけど)
ローカルファイルとリモートファイルの両方が変更された場合:スキップ

サブフォルダを同期するをオンにしないと何もダウンロード出来ないので要注意。


最後に「高度な設定」のタブ。

ファイルを移動:オン
変更したソースファイルのみを再同期:オン

今回は送信側と異なり、「ファイルを移動」をオンにしました。この設定にすることで、Windowsからデータを移動させ残さないようにすることが出来ます。要はCtrl+CかCtrl+Xかの違い。送信側からPCにデータをコピーし、そのデータをそっくりそのままPixelに移動するってことです。要はポストの様な使い方が出来ます。

オフにするとWindows側にデータが溜まっていきます。今回は小容量のSSDを同期用ストレージとしており、データを残しておくとパンクしてしまうため移動する設定にしました。WindowsをNAS代わりにするとかだったら逆に残しておくほうが良いと思います。

これでPixel側の基本的な設定も終わりました。こちらも他の項目は用途に合わせて変更すると良いと思います。また、下の注意書きの様にLivePhotosを同期してしまうと面倒な事になるので、movファイルはフィルターをかけておくと良いと思います。

※LivePhotosに要注意

上記の手順でほぼ設定は完了しましたが、iOS機でLivePhotosをオンにしている場合、もう一つ設定が必要になります。

LivePhotosとはiPhoneとiPadに存在する設定。写真の前後3秒くらいを保存することで動くような写真が撮れます。とAppleは言っていますが、正直いらない機能。でもオンにするとシャッター音が動画撮影オンになるので結構使っている人はいます。

このLivePhotos、iPhoneの写真アプリで見ると一見1つの写真データに見えますが、ただjpegとmovを別々で保存し一緒に表示しているだけです。iOS版GoogleフォトアプリはLivePhotosのアップロードに対応しており、この2つのデータをひとつの画像としてバックアップ出来ますがAndroidからアップロードすると紐付けが上手くいかないのか別々のデータとして表示されます。

要は静止画(jpeg)とその前後の動画(mov)が2つ別々でアップロードされ表示されます。

上記の仕組みではLivePhotosの動画もPixel経由でバックアップされます。これ僕一回やらかしまして、非常に邪魔で見にくくなってしまいました。したがって、Pixel側にLivePhotosの動画をアップしない(静止画のみをバックアップする)ようフィルターをかけます。

LivePhotosの動画部分もバックアップしたいんだ!という人は別ですが、特になくて良い人はフィルターをかけて静止画だけアップするほうが良いと思います。


フィルターは簡単で、PixelのFolderSyncの設定から「フィルターを追加」をタップし、「mov」の除外フィルターを設定するだけです。これでLivePhotosの動画ファイルだけはWindowsに残り、Pixelに移動しません。

ただ、これには問題点もあって、iOS機で撮影した普通の動画も拡張子がmovなので、動画全てがフィルターされてしまいます。要はiPhoneで撮った動画は自動バックアップから除外されます。

これ色々考えたのですが、この日記に書いてる仕組みだとどうも回避することが出来ず、LivePhotosを撮らないorバックアップしたい動画だけ有線で直接PCからPixelに移すぐらいしか思いつきませんでした。まあそこは諦めてください。文句はAppleまで。

バックアップしてみる

それでは構築が終わった(15分くらいかかった)ので実際にバックアップしてみます。まずWindowsが起動しているか、全ての端末が同じLAN内にあるかを確認します。

Android(送信側)


まだスケジュール設定はしていないので手動でやります。FolderSyncの「同期フォルダー」タブから「同期」を押してスタート。


同期が始まりました。まあ分かってはいたことですが、さすがに転送速度は遅い。データ量が多いときは一晩放置しとくのが良いと思います。

iOS(送信側)

 Androidと同じようにiOS機からもWindowsにデータを送ります。

PhotoSyncを開き、右上のRTボタンみたいなやつを押します。全てか新規を選べるので、「新規」をクリック。これは前回送信してから新たに追加されたデータのみを送る項目です。便利。


送信先の選択画面が出てくるので、「コンピュータ」を選びます。


LAN内にあるPhotoSyncソフトをインストールし起動しているパソコンが表示されます。ちゃんとM700と出てる。


パソコンにデータ送信が始まったらあとは放置するだけです。SMBと比べて圧倒的な速さ。

Pixelから無制限バックアップ

全ての端末からWindowsへ送信が終わったら、次にPixelで受信を始めます。インスタント同期をしている場合は別にいいんですが、今回のように手動で行う際には送信が終わってから受信しなければ上手くいかないと思います。


送信側の Androidと同じように同期をスタートさせます。SMB1.0なのでこれがまた遅い。電源に接続して放置しました。


同時に裏でGoogleフォトを動かします。上手くスクショできなかったけど、しっかりバックアップできていました。バックアップの詳しい設定はこの前書いたブログ読んでください。

初代PixelはGoogleフォトが無制限無圧縮らしいので実際に買って試してみた話(簡易レビュー含む) - UnibelPost -ユニベルポスト

終わりに

これで考えていたフローが完成しました。iOS機の動画だけ手動ですが、僕はほとんど動画撮らないのでまあいいや。

ただやった手順を書き連ねていっただけなのでかなり読みにくかったと思いますが、とりあえず記録としては残しておきます。

Pixel5以前のデバイスであればGoogleフォトの無制限アップロードがまだできるので、どうしてもGoogleドライブのストレージを使いたくないのであればこういう仕組みを無理やり作るのも面白いかもしれません。

それじゃ今日はこの辺で。ではでは。

 

トップページ / ​免責事項・コンテンツについて
Copyright © 2019-2023 UnibelPost All Rights Reserved.