小编Ric*_*ole的帖子

iOS Swift - AVCaptureSession - 捕获尊重帧速率的帧

我正在尝试构建一个应用程序,它将从相机捕获帧并使用OpenCV处理它们,然后将这些文件保存到设备,但是以特定的帧速率.

我现在坚持的是这个事实AVCaptureVideoDataOutputSampleBufferDelegate似乎并不尊重AVCaptureDevice.activeVideoMinFrameDurationAVCaptureDevice.activeVideoMaxFrameDuration设置.

captureOutput 如上面的设置所示,运行速度远远超过每秒2帧.

你是否碰巧知道无论是否有代表,人们都能做到这一点?

视图控制器:

override func viewDidLoad() {
    super.viewDidLoad()

}

override func viewDidAppear(animated: Bool) {
    setupCaptureSession()
}

func setupCaptureSession() {

    let session : AVCaptureSession = AVCaptureSession()
    session.sessionPreset = AVCaptureSessionPreset1280x720

    let videoDevices : [AVCaptureDevice] = AVCaptureDevice.devices() as! [AVCaptureDevice]

    for device in videoDevices {
        if device.position == AVCaptureDevicePosition.Back {
            let captureDevice : AVCaptureDevice = device

            do {
                try captureDevice.lockForConfiguration()
                captureDevice.activeVideoMinFrameDuration = CMTimeMake(1, 2)
                captureDevice.activeVideoMaxFrameDuration = CMTimeMake(1, 2)
                captureDevice.unlockForConfiguration()

                let input : AVCaptureDeviceInput = try …
Run Code Online (Sandbox Code Playgroud)

ios avcapturesession avcapturedevice swift

3
推荐指数
1
解决办法
3696
查看次数

标签 统计

avcapturedevice ×1

avcapturesession ×1

ios ×1

swift ×1