豪鬼メモ

MT車練習中

Androidの無音カメラ

AQUOS R Compactを買って使っているが、カメラで困っていた。画質云々はともかくとして、「カシャッ」とかなり大きい音が鳴るのはいただけない。無音で撮影できるカメラアプリを探さねばならない。結論を言えば、Googleカメラの改造版かOpen Cameraがおすすめ。
f:id:fridaynight:20180318162011j:plain


スクリーンショットを記録するタイプの無音カメラだと、画面解像度以上の撮像が得られないという問題があり、それは実用に耐えない。やはりちゃんとしたカメラアプリでシャッター音を消したい。有料のカメラアプリでも面白そうなものは多いが、それらが提供する凝った機能は大抵は使わないから無駄だ。

ど定番のGoogleカメラだが、Google Play Storeのアプリとしては公開終了してしまっていて、いくつかのGoogleブランドのスマホでのビルトインとしてしか普通には利用できない。ただし、オープンソースなので、有志がビルドしたAPKをAPKMirrorとかからダウンロードしてインストールできる。しかし、Camera2 APIではシャッター音の無効化設定ができるはずだが、アプリ側での忖度でその設定が隠されることが多く、Googleカメラもその一例となっている。なのでそもままビルドしたAPKだと無音にできない。

一方で、Google Camera Portには有志による改造版が多数落ちていて、それぞれHDR+の有効化を図ったり画質の改善を目指したりしていて面白い。残念ながらAQUOS R CompactではHDR+とかの進んだ機能は一切使えないのだが、無音シャッターにはどれも対応しているので目的は果たせる。それぞれのビルドで動かせる機種が違うのだが、MGC_5.1.018_v2e_tolyan009_v1.3.2ならAQUOS R Compactでも問題なく動いた。インストールして、起動させて、メニューのSettingsのShutter soundsをオフにすれば良い。Advanced Settingsを不用意に変えると動作がおかしくなることがあるので、いじらない方がよい。
f:id:fridaynight:20180319123909j:plain

撮像データはハードウェア側でJPEGまたはYUV_420_888にまで加工されてアプリ側に渡されるので、アプリによって画質が変わるわけではない。なので使い勝手のみがアプリの決め手になってくるのだが、Googleカメラは動作もキビキビしているし露出補正もしやすいし、パノラマ撮影や全周撮影やレンズぼかし撮影というおまけ機能も使えて便利だ。デフォルトカメラアプリ(電源ダブルクリックで起動する)として登録しておくのがよい。


次に、Open Camera。これは個人が作っているオープンソースのカメラアプリである。「AndoridのカメラAPIの各機能をそのまま使えるようにしてみたよ」というノリの、ギーク的なというかUNIX的なというかナイーブなアプリだ。だが、それがいい。Google Play Storeから普通にインストールできる。インストールしてからまずやるべきは、歯車の絵の設定アイコンから、Usuing Camera2 APIをオンにして、それからまた設定に入って、More camera controlsの中にあるShutter soundをオフにすることである。これで無音シャッターになる。デフォルトだと画面にISO感度とか時刻とか余計な情報が表示されてうざいので、それらは設定のOn screen GUIで消すとよい。また、同じくOn screen GUIでForce maximum brightnessもオフにすべきだ。
f:id:fridaynight:20180319123943j:plain

「+/-」の絵のアイコンで露出の設定ができる。ISO感度をマニュアルにするとシャッター速度もマニュアルで設定できるようになるのだが、その両方をマニュアルで設定せねばならず、「シャッター優先オート」にはできないので実用性はあまりない。ISO感度オートでの露出補正はスライダーを動かすだけでできるので、普通に使いやすい。錠前の絵のアイコンでAEロックもできるので、慣れればそれを使いこなした方が効率が良さそうだ。その他にも、マニュアルフォーカスとか、電子水準器を使った自動傾き補正とか、方角の表示とかいった誰得な機能が満載なのだが、あまり使うことはないだろう。

意外に使えるのが、DROとHDRである。それらはAPIのアクセサという範疇を遥かに超える操作なのだが、おそらく作者の趣味で実装されている。作者は別にHDRの合成アプリとかも作っている人らしい。DROはDynamic Range Optimizationの略で、要はシャドウを持ち上げるだけなのだが、ダイナミックレンジの狭いスマホのカメラではありがたい機能だ。白飛びを緩和するためには露出を下げて暗く撮ることになるわけだが、そうすると潰れがちになるシャドウをDROで救うという算段だ。露出補正で0.5EVくらい下げて撮るか、AEロックでハイライトに露出を合わせて撮るといいだろう。ただ、シャドウを持ち上げるとノイズも持ち上がるので、暗い時には使えない。そもそもスマホのカメラはちょっと暗くなると役に立たないけど。

HDRは適正露出と露出過多と露出不足の3枚の写真を合成してからトーンマッピングする機能で、手ブレと被写体ブレに弱いが、ダイナミックレンジを劇的に拡大できる。一般にHDRは合成に起因するブレ感やゴーストなどの問題に悩まされるが、Open Cameraの合成はそのあたりをかなりうまくやってくれるので、実用になる。HDRはかなり明るめな絵が出てくるので、露出を1.0EVくらい下げて撮るといい。

通常撮影とDROとHDRの作例を並べてみる。通常撮影だと空が簡単に白飛びするが、少し露出を下げたDROだと全体の印象を維持しつつ白飛びを抑え、HDRだと全体が容易に視認できる絵になる。このシーンだとDROが最善かな。
f:id:fridaynight:20180318161409j:plain
f:id:fridaynight:20180318161439j:plain
f:id:fridaynight:20180318161502j:plain

Open Cameraはブラケット撮影もできるので、家に帰ってからLightroom等で合成するともっと凝った仕上げができる。HDRもブラケット撮影もAPIのバースト撮影機能を使って高速連写しているので、しっかり構えれば手持ちでも意外にちゃんとしたHDR写真が撮れるのが嬉しい。


まとめ。Androidで無音シャッターのカメラが欲しいなら、Googleカメラの改造版とOpen Cameraを入れるとよい。普通はGoogleカメラを使って、凝ったことをしたい時はOpen Cameraを使うと良い。

つか、シャッター音を消せないようにすればカジュアルな盗撮犯が減るって考えはわからないでもないが、本当に犯罪を構成する撮影行為に素のスマートフォンで挑む人間がそんなに多いとは思えない。Amazonでペン型カメラを3000円台で買える世の中なわけで、シャッター音の強制は一般ユーザの利便性を著しく落としてまでやる対策じゃないと思うのよね。本屋で本の内容を撮らないとかいうマナーレベルの話をするのなら、カシャっと鳴ることで迷惑になるケースとのバランスを考えるべきだし、そもそもマナー問題の対処法をメーカーに強制される筋合いはない。