小编tri*_*sta的帖子

尽管另有设置,为什么视频输出始终为 30 fps?

我将后置摄像头配置为 120 fps。然而,当我通过打印调用该函数的时间来检查使用 captureOutput() 的示例输出时(见下文),差异大约为 33ms (30fps)。无论我使用 activeVideoMinFrameDuration 和 activeVideoMaxFrameDuration 设置什么 fps,在 captureOutput() 中观察到的结果 fps 始终为 30 fps。

我在可以处理慢动作视频的 iPhone 6 上对此进行了测试。我已阅读Apple官方文档https://developer.apple.com/library/ios/documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/04_MediaCapture.html。有什么线索吗?

class ViewController: UIViewController, AVCaptureVideoDataOutputSampleBufferDelegate
{
    var captureDevice: AVCaptureDevice?
    let captureSession = AVCaptureSession()
    let videoCaptureOutput = AVCaptureVideoDataOutput()

    var startTime = NSDate.timeIntervalSinceReferenceDate()

    // press button to start the video session
    @IBAction func startPressed() {
        if captureSession.inputs.count > 0 && captureSession.outputs.count > 0 {
            startTime = NSDate.timeIntervalSinceReferenceDate()
            captureSession.startRunning()
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        // set capture session …
Run Code Online (Sandbox Code Playgroud)

iphone avfoundation ios swift

5
推荐指数
1
解决办法
1172
查看次数

标签 统计

avfoundation ×1

ios ×1

iphone ×1

swift ×1