12月
03
2009

iPhoneカメラ遠隔操作(プレビュー機能付き)アプリ、CamRemo公開

CamRemo アイコン

CamRemo アイコン

久々にiPhoneアプリの新規公開です。iPhoneのカメラを、Bluetooth経由で別のiPhoneから操作して撮影しちゃおうという、2台のiPhoneが無ければ使用できないソフトです 😛

とは言っても、2台目ではカメラは必要ないので、そちらはiPod touchでも動くはずです*1
iPhone OS 3.0から使える様になったBluetoothによるデータ転送と、iPhone OS 3.1から(正々堂々と)使える様になったカメラユーザーインターフェースの乗っ取りを利用しています。ですので、3.1必須となっています。

カメラ側のカメラモード画面

カメラ側のカメラモード画面

内部ではいろいろややこしいことをやっていますが、使い方は単純です。両方でCamRemoを起動し、Bluettoothで接続し、カメラ機能で撮影する。これだけです。撮影した写真は、カメラ側iPhoneと操作側iPhone(iPod touch)の両方、あるいはどちらか片方だけに保存されます。設定次第です。
特徴としては、右図をよく見ていただくとわかるかもしれませんが、カメラ側のプレビュー画像を操作側でも確認できることです*2

プレビューの転送については、なるべく高速に処理できるようにしたつもりですが、Bluetoothの特性や、転送の前処理や転送時のオーバーヘッドはどうしようもなかったので、だいたい秒1コマくらいの更新頻度で、遅延も約1秒程度になります*3。したがって、高速、あるいはフレームアウトするほど広範囲に動くような被写体を撮るには適さないのでご注意を。

メイン画面

メイン画面

左図がメイン画面。カメラ側も操作側も、カメラモード中以外は、この画面。
カメラモード中は、カメラ側は上図の様な画面レイアウトに、操作側は、下部のボタンがカメラモード用に切り替わり、画面の大部分に転送されてきたプレビュー画像が順次表示されます。
先に書いたとおり、操作は単純なので、ボタン類は少ないです。

カメラモード中のカメラ側以外では、操作ガイドを表示しておくことができます。まあ、使い方は単純なので、使い方がわかったら必要なくなると思いますが。その場合は、設定で非表示にできます。

その設定画面には、メイン画面の右下のボタンで入れます。
 

プリファレンス&設定画面

プリファレンス&設定画面

設定では、カメラ側にするか操作側にするかを指定できますが、iPhone同士なら、どちらもカメラ側にしておいて問題ありません。カメラモードに入る操作をした方のiPhoneが操作側になります。
なお、iPod touchで起動した場合、操作側に固定されるので、カメラ/操作側を選択するセレクターは表示されません。

撮影した写真を(カメラロールに)保存するかどうかは、Picture Save欄で設定します。オンにした側で保存されます。両側でオンにしておくと、両方に保存されます。
また、操作側で保存するように設定されている場合、撮影後、画像が転送されてきます。この画像は、プレビュー時の画像に比べて画素数が膨大で、かなりの転送時間を覚悟しなくてはいけません*4。多少、画質を犠牲にしても構わないのなら、転送時に非可逆圧縮を掛ける事もできます。Picture Save欄のスライダーで、圧縮率を設定できます。0〜1、さらに可逆圧縮を指定できます。通常、0.5〜1で構わないと思います*5

いやー、それにしても、Reject無しに一回で審査を通るとは思いませんでした*6。提出したのが11月21日。アメリカでは感謝祭の季節なので、たぶんその前には無理だろうなと考えて、12月1日を公開予定日として提出しておいたのですが、みごとに12月1日(の夕方。アメリカ時間)に公開されました。in Reviewになったのが11月29日(の朝。同)だったので、3日弱のレビューだった様です。

--- --- 脚注 --- -- -- -- -- -- -- - - - - - - - - -
  1. Bluetoothは初代iPod touchには未搭載なので、2代目からの対応。ただし、手元にあるのは初代touchなので、touchでは動作未検証orz []
  2. 図は、カメラ側から転送したプレビュー画像を映し出している操作側のiPhoneを写そうとしているカメラ側iPhoneの画面キャプチャー []
  3. 実際にはもう少し更新頻度を上げることもできそうだったけど、いずれにしてもコマ落ちや遅延は避けられないので、無闇に転送量を増やすのは避けることにした。バッテリの保ちにも影響するはずだし。設定で、プレビュー画像を粗くしてデータサイズを小さくして転送効率をあげる様にもできるようにしたけれど、実際にはあまり差がないので、基本的には最も高画質か、その一つ手前(4段階に設定可能)がおすすめ []
  4. その間、プレビューは停止する []
  5. 一番のおすすめは、操作側では保存しない様にすることだけど… []
  6. なぜそう思ったかは聞かないで :nono_tb: []
--- --- --- --- --- -- -- -- -- -- -- - - - - - - - - -

コメント無し

Comments are closed.

RSS feed for comments on this post.


Powered by WordPress. Theme: TheBuckmaker. Darlehen, Internet Technik