web-dev-qa-db-ja.com

Macへの新しい写真のみのiPhone写真ダウンロードワークフロー

IPhoneの写真のダウンロードワークフローが少し面倒だと感じています。

これが私の要件です:

  • IPhoneのカメラロールから写真とビデオをダウンロードしますが、写真はiPhoneに保存します
  • 前回のダウンロード以降、iPhoneでの表示/ダウンロードのみnew写真+ビデオ
  • IPhotoは、理想的には避けてください。少し緊張します。
  • all iPhoneで撮影した写真とビデオをiPhoneで表示できるようにする
  • すべてのEXIF/GPSメタデータをすべてのコストで維持する

現在、すべてのデジタル写真に通常のフォルダ構造+ Picasaを使用していますが、iPhoneの場合、iPhoneから写真をインポートすると「新しいアイテムのみが表示される」ため、iPhotoを使用します。

IPhoneで5000枚以上の写真とビデオが表示されることがわかりました。iPhotoを接続してからiPhoneを「見つける」には、通常、しばらく(2〜10分)かかります。

理想的には、OSXに組み込まれているImageCapture.appを使用してiPhoneの写真をダウンロードしたいのですが、前回の同期以降の新しい写真だけでなく、すべての写真をロード/表示します(iPhotoのように)。次に、最後にダウンロードしたiPhoneの写真を確認し、新しい写真のみをダウンロードする必要があります。

Picasa Importは、iPhoneにすべての写真をロード/表示します(デバイスからロードする画像が非常に多いため、非常に面倒です...)

誰かが同様のワークフロー/要件を持っているかどうか、そしてそれらがどのようにそれを行うのか知りたいと思います。

私の現在の計画は、写真をダウンロードするときにカメラロールから写真を削除するワークフローを設定することですが、その後、iTunesにフォルダに基づいてアルバムとして写真を同期させます-自動的にサイズを変更して、iPhoneと私のMacの元のフルサイズバージョン(以前のiPhoneのストレージスペースを節約するため)

2
Josh Newman

これが実用的な解決策ですが、おそらく最も単純ではありません。 LifeHackerは最近、iPhoneを通常のマウントされたディスクとしてFinderに表示するプログラムについて説明した記事を投稿しました: http://lifehacker.com/5582529/phone-disk-mounts-iphone-iPod-touch-and- ipad-as-usb-disks-in-Finder 問題のプログラムはここで見つけることができます: http://www.macroplant.com/phonedisk/ そして現時点で著者は与えていますそれは無料で離れて、それは彼らの素晴らしいです。刑務所が壊れていないiPhone3GSを使用してこれを試しましたが、写真や動画など、iPhone上のファイルをFinderを使用して正常にナビゲートできます(ただし、電話が刑務所で壊れていないため、一部のシステムファイルは非表示のままです)。写真や動画は、iPhoneのなじみのあるサウンドのDCIMフォルダに保存されます。

次のステップは、新しいファイルのみをコピーするようにコピープロセスを自動化することです。 (私の経験では)以前にダウンロードしたファイル/写真にアーカイブビットが設定されているFAT32フォーマットのメモリカードとは異なり、マウントされたiPhoneで同等のフラグを読み取ったり設定したりする機能はないようですディスク。これがプログラムの制限なのか、電話自体のディスクフォーマットの制限なのかわかりません(プログラムを推測しています)。

したがって、私の提案は、写真が最後に同期された日時をファイルのタイムスタンプが示す電話にゼロバイトのファイルを保存するbashスクリプトを使用することです。次に、このファイルを標準の「find」ターミナルコマンドとともに使用して、このファイルよりも新しいファイルのみをコピーできます。以下は、私がこの目的のために書いたサンプルのbashスクリプトであり、それは私のために機能します。スクリプトをファイルとしてホームディレクトリ(「photoSync.sh」など)に保存します。次に(iphoneをマウントした状態で)ターミナルウィンドウから現在のディレクトリをiPhoneのルートディレクトリに変更し、スクリプトを実行して、スクリプトの最初の引数として宛先ディレクトリを指定します。例えば。

cd /Volumes/MyIPhone\(Media\)/
sh ~/photoSync.sh ~/Pictures/iPhonePics

スクリプトは次のとおりです。

#!/bin/bash

#test that script has been called correctly & from the right place
if [ ! -n "$1" ]
then
    echo "Usage: $0 <destination dir>"
    exit 1
fi

if [ ! -d $1 ]
then
    echo "Destination directory does not exist or is not a directory"
    exit 1
fi

if [ ! -d "DCIM" ]
then
    echo "Current directory does not contain a DCIM folder. Script should be executed from mount directory of iPhone"
    exit 1
fi

#tests passed, let's do the copying…
#check for last sync file…
if [ -e "com.jn.lastsynctime" ]
then
    #we've synced before, just grab newer files
    echo "Copying only files since last sync..."
    find ./DCIM/* \( -name "*.JPG" -or -name "*.MOV" -or -name "*.PNG" \) -type f -newer com.jn.lastsynctime -exec cp -np {} $1 \; -print
    #reset sync file
    rm com.jn.lastsynctime
    touch com.jn.lastsynctime
    echo "Done"
else
    #no sync file so copy all and set sync file
    echo "No previous sync marker found, copying all files…"
    find ./DCIM/* \( -name "*.JPG" -or -name "*.MOV" -or -name "*.PNG" \) -type f -exec cp -np {} $1 \; -print
    touch com.jn.lastsynctime
    echo "Done"
fi

exit 0
2
Buxtor