2015-11-12 1 views
1

Я пытаюсь создать приложение для записи видео со скоростью 120 кадров в секунду, но у меня проблемы.Настройка записи с высокой частотой кадров в Swift

Во-первых, когда print(device.activeFormat), я получаю это в журналах

AVCaptureDeviceFormat: 0x13fe49890 'vide'/'420v' 1920x1080, { 2- 30 fps}, fov:58.080, supports vis, max zoom:104.38 (upscales @1.55), AF System:1, ISO:34.0-544.0, SS:0.000024-0.500000 

но мое устройство является 5s картинки, которая поддерживает 120fps, не знаю, почему диапазон здесь 2-30fps.

Во-вторых, когда я делаю device.activeVideoMaxFrameDuration = CMTimeMake(1, 120) изменить частоту кадров макс до 120 кадров в секунду, я получаю эту ошибку в логах:

[AVCaptureVideoDevice setActiveVideoMaxFrameDuration:] - the passed activeVideoMaxFrameDuration 1:120 is not supported by the device. 

Что я делаю неправильно?

Спасибо!

+0

Я только что проверил свой телефон, Настройки-> Фото и Камера-> Камера, а для записи видео нет 120 кадров в секунду. Кажется, что 120 fps появляются только в опции Record Slo-mo. В вашем коде вы устанавливаете видеофайлы. Так как это не удается, означает ли это, что на самом деле телефон не поддерживает 120 кадров в секунду при обычной видеозаписи? – leonard

ответ

0

Как вы можете видеть из печати (device.activeFormat), максимальная поддержка fps равна 30 при {2- 30 fps}. Поэтому установка 120 кадров в секунду с помощью device.activeVideoMaxFrameDuration = CMTimeMake (1, 120) не поддерживается.