Paradigm Shift Design

ISHITOYA Kentaro's blog.

最新iOSデバイス(iPhone4S, iPad2/3, iPod Touch 4th)の写真/動画解像度

tottepostの実装で撮る写真や動画の解像度を指定できるようにしたいと思ったんですが、AVCaptureMovieFileOutputやAVCaptureStillImageOutputを使う場合、AVCaptureSessionのsessionPresetプロパティにAVCaptureSessionPresetPhotoのような定数をセットする仕組みで、幅とか高さを指定するもんじゃないんですね。


で、設定画面に「Photo(2592x1936)」とか出したいじゃないですか。AVCaptureSessionから実行時に取得できないもんかなーと思って探したんですがたどり着かず、静的なデータで一覧になってないかなーと思って探しても、iPhone4やそれ以前のデータはAVFoundation Media Captureという公式のドキュメントやというサイトに載っているんですが、iPhone4S、iPad2/3*1iPod touch 4thのカメラの解像度が見つからなくて困っていました。


というわけで手作業で調べた結果をリストにします。幅的な都合で3Gは割愛します。
3GS/4/4SはiPhoneです。P2/P3はiPadです。T4はTouchです。

写真解像度

Preset 3GS(B) 4(B) 4S(B) P2(B) P3(B) T4(B)
Photo 2048x1536 2592x1936 3264x2448 960x720 2592x1936 960x720
High 640x480 1280x720 1920x1080 1280x720 1920x1080 1280x720
Medium 480x360 480x360 640x480 640x480 640x480 640x480
Low 192x144 192x144 640x480 640x480 640x480 640x480

Low/Mediumの4S/P2/P3/T4に自信がありません、なんか値が変わらない...。しかし、iPad2のカメラしょぼすぎる...。


動画解像度

Preset 3GS(B) 4(B) 4S(B) P2(B) P3(B) T4(B)
High 640x480 1280x720 1920x1080 1280x720 1920x1080 1280x720
Medium 480x360 480x360 480x360 480x360 480x360 480x360
Low 192x144 192x144 192x144 192x144 192x144 192x144


バックカメラの解像度のみです。
動画の場合はMediamとLowは基本同じです。iPhone4、iPad2とTouch4thは720pで、4SとiPad3は1080pのようですね。


AVFoundationのsessionPresetにこれらの値をセットする事で解像度を変える事ができます。

session_ = [[AVCaptureSession alloc] init];
[session_ beginConfiguration];
session_.sessionPreset = AVCaptureSessionPresetPhoto;
[session_ commitConfiguration];

みたいな感じですね。


以上メモでした。

せんでん

1タップで写真共有tottepost
カメラのついたiPad/iPhoneで撮った写真を、その場でFacebook/Mixi/DropboxなどのサービスにアップロードできるtottepostというiOSアプリを開発しています!詳しくは、iTunes App Storeをご覧ください。


ご購入はこちら!
1タップで写真共有 - tottepost - ISHITOYA Kentaro

*1:あえて3と呼びます