bricklifeのはてなブログ

気軽にブログ書くよ!

iOS5のUIImagePickerControllerQualityTypeと解像度のまとめ

iPhone 4Sを手に入れたので、UIImagePickerController で動画を撮るときの解像度やフレームレートなどをまとめ直してみた。

iOS 5 で使える UIImagePickerControllerQualityType (enum順)

  • UIImagePickerControllerQualityTypeHigh
  • UIImagePickerControllerQualityTypeMedium
  • UIImagePickerControllerQualityTypeLow
  • UIImagePickerControllerQualityType640x480 (iOS 4から)
  • UIImagePickerControllerQualityTypeIFrame1280x720 (iOS 5から)
  • UIImagePickerControllerQualityTypeIFrame960x540 (iOS 5から)


iOS 5から追加された最後の2つは、名前の通り映像をすべてIフレームで記録するという特殊なモード。そのため、その他のモードよりファイルサイズが増えるが、再生してみるとRAW映像っぽいニラニラした感じの動画になる。あとで編集する場合に適している。

解像度 (リアカメラのみ)

iPhone 3GS iPhone 4 iPhone 4S iPod touch 4th
High 640x480 1280x720 1920x1080 1280x720
Medium 480x360 480x360 480x360 480x360
Low 192x144 192x144 192x144 192x144
640x480 640x480 640x480 640x480 640x480
IFrame1280x720 480x360※ 1280x720 1280x720 1280x720
IFrame960x540 480x360※ 960x540 960x540 960x540


従来通り、High のときだけその機種の最大解像度となり、あとはどの機種でも同じサイズになる。ただし、iPhone 3GSではiOS 5から追加されたIフレームモードは非対応。すべてIフレームになることはなく、見た感じ Medium と同等の動画になる模様。

フレームレート

  • 最大29.97fps (Low のみ最大15fps)


最大と書いたのは、記録するときの状況によってこれより低くなったりするため。おそらく、なるべくメモリが空いているほうがフレームレートが高くなるのだと思う。

音声

  • 64kbps 44.1KHz モノラル(Low のみ24kbps 22.05KHz モノラル)

オマケ:iOS 5 で使える AVCaptureSessionPreset

  • AVCaptureSessionPresetPhoto
  • AVCaptureSessionPresetHigh
  • AVCaptureSessionPresetMedium
  • AVCaptureSessionPresetLow
  • AVCaptureSessionPreset352x288 (iOS 5から)
  • AVCaptureSessionPreset640x480
  • AVCaptureSessionPreset1280x720
  • AVCaptureSessionPreset1920x1080 (iOS 5から)
  • AVCaptureSessionPresetiFrame960x540 (iOS 5から)
  • AVCaptureSessionPresetiFrame1280x720 (iOS 5から)


iPhone 4Sから可能になった 1920x1080 の絶対値指定、iOS 5から登場した2つのIフレームモードに加え、352x288 という11:9のCIF(Common Intermediate Format)用解像度が登場したのがポイント。また、ドキュメントには iFrame960x540 が約30Mbps、iFrame1280x720 が約40Mbpsと書かれており、UIImagePickerController のIフレームモードで撮影したときもそれぞれ同じビットレートで記録されるので覚えておくとよい。