先日購入したカメラの写真データを無線転送できるSDカードFlashAir
FlashAirSyncという無料ソフトでかなり便利に使えるようになったのですが、ちょっと問題発生です。
接続したままの連続転送(オンデマンド転送)で写真データが破損します。
あれ?写真が黒い
下の写真を見てください。
写真の一部が黒く欠けてしまっています。明らかに書き込み途中のデータを転送している感じです。
FlashAir自体は正常です。今回の問題はユーザーによって作成されたMac用のソフト「FlashAirSync」を使用すると発生します。
さらに言うとFlashAirとMacをつなぎっぱなしにして、FlashAirSyncで随時転送(オンデマンド転送)する状態になっていると発生します。
症状の考察
症状の考察ですが、
写真を撮る
↓
カメラがFlashAirにデータを書き込み開始
↓
データが途中なのにFlashAirSyncが感知して、転送を開始してしまう
↓
Mac側に途中のデータのまま届いてしまう
↓
カメラが書き込みを終了する
という状態になっているのではと思います。
すべて撮り終わったあとに接続し、一気に取り込むのなら問題はありません。撮りながら取り込みという方法で上記の問題が発生します。
FlashAirSyncがカメラのデータ書き込み終了を確認していないのが問題っぽいですね。(そもそもFlashAirにそういうAPIがないのかな? > 2014.12.2 追記 FlashAirの公式サポートに確認したところ、書き込み中かどうかの判定は現状無理だということ。ある程度の時間が経過したものだけを取り込む方式がいまのところ最善か?)
WTS的まとめ
撮りながらの連続取り込みにはちょっと問題がありますね。Eye-Fiでは公式アプリがこれに対応していました。
余談ですが、FlashAirのAPIはHTTP経由で特定のアドレスにアクセスするだけなので非常に単純明快。いわゆるREST(GET)アクセスですね。ちょっと勉強すればだれでも使えます。
APIドキュメントは充実していますが、どんな状況でどんな結果が返ってくるかは詳しく書いてありません。実機とのトライ・アンド・エラーになりそうです。
年末に時間があったらちょこっと作ってみようかなと思っています。