iPhoneカメラ入力画像を60FPSで画像処理したいが
iPhoneのカメラ入力画像に対してGPUで画像処理ってどうやるんだろう?と思って試してたんだけどさ。
過去の流れでCADisplayLink使ってフラグを立てて、そのフラグが立ってる時に
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
メソッド内で画像を得る、みたいな流れでやっていたんだけどどういうわけかiPhone 5sでも最大30FPSくらいしかいかない。
その程度なの?CADisplayLinkが悪いのかな?と思ってCADisplayLinkを使わないでさっきのメソッド内から直接画像処理用のメソッドをコールするように変更してみたけど、やっぱり30FPS程度。

CADisplayLinkはデフォで60FPSみたいだし、OpenGLの描画でも60FPSくらい出てたのに。
いろいろ調べてみたところ、どうやらiPhoneのカメラ画像の取得間隔を設定するのがAVCaptureDeviceクラスの
activeVideoMaxFrameDurationってのがあってこれを設定すればいいのか!と思ったんだけど最高でも30FPSまでしか設定できないんだわ、、、
どうすればいいんだろうなあ?
過去の流れでCADisplayLink使ってフラグを立てて、そのフラグが立ってる時に
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
メソッド内で画像を得る、みたいな流れでやっていたんだけどどういうわけかiPhone 5sでも最大30FPSくらいしかいかない。
その程度なの?CADisplayLinkが悪いのかな?と思ってCADisplayLinkを使わないでさっきのメソッド内から直接画像処理用のメソッドをコールするように変更してみたけど、やっぱり30FPS程度。

CADisplayLinkはデフォで60FPSみたいだし、OpenGLの描画でも60FPSくらい出てたのに。
いろいろ調べてみたところ、どうやらiPhoneのカメラ画像の取得間隔を設定するのがAVCaptureDeviceクラスの
activeVideoMaxFrameDurationってのがあってこれを設定すればいいのか!と思ったんだけど最高でも30FPSまでしか設定できないんだわ、、、
どうすればいいんだろうなあ?
スポンサーサイト
<< Bulletで物体が衝突せずにすり抜ける TopPage Bulletで穴を作る >>
トラックバック
トラックバックURL
https://ringsbell.blog.fc2.com/tb.php/921-be17ba43
https://ringsbell.blog.fc2.com/tb.php/921-be17ba43