iPhone6Plus では 120fps の AVFrameRateRange が取得できなかった
以前、iOS アプリで 120fps とか 240fps とかの動画を撮るためのコードを紹介した。
このコード、手持ちの iPhone7Plus と iPhoneSE では上手く動いて 120fps のモードが (iPhone7Plus では 240fps のモードも) 選べて録画できていたのだが、iPhone6Plus で試したところ、120fps のモードだけが拾えなかった。
AVCaptureDevice.formats.videoSupportedFrameRateRanges
で取得できるフォーマットをチェックしていくと、240fps のモードは以下のように拾えているのだが、120fps 相当のフォーマットは含まれていなかった。
フォーマット情報 : <CMVideoFormatDescription 0x2802aa8b0 [0x23cf195e0]> {
mediaType:'vide'
mediaSubType:'420v'
mediaSpecific: {
codecType: '420v' dimensions: 1280 x 720
}
extensions: {(null)}
}
フレームレート : 5.0 / 240.0 fps
フォーマット情報 : <CMVideoFormatDescription 0x2802b5350 [0x23cf195e0]> {
mediaType:'vide'
mediaSubType:'420f'
mediaSpecific: {
codecType: '420f' dimensions: 1280 x 720
}
extensions: {(null)}
}
フレームレート : 5.0 / 240.0 fps
iPhone6Plus の「設定」アプリ → 「カメラ」→「スローモーション撮影」では、
- 720p HD/120 fps
- 720p HD/240 fps
と、2つのモードが選べるはずなのだが、どうして 120fps のフォーマットが見つからないのだろう…。
カメラ性能としては iPhone7Plus の方が良いし、iPhone7Plus を使えばいいことではあるので、現状別に困っていないのだが、iPhone6Plus における「120fps」ってどういう扱いなんだろう、というところが気になる。
分かる人、教えてください…。