首页 > 解决方案 > AVCaptureVideoDataOutput 删除重复帧

问题描述

我想知道是否有任何方法可以使用AVCaptureScreenInput. 在文档中,它指出您可以通过手动比较顺序帧来做到这一点AVCaptureVideoDataOutput

这很容易,但我想知道这是否是最佳方式:

var previousFrame: UnsafeMutableRawPointer!

func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) {
    // Returns true if they're the same, uses memcmp interally
    if (someCmpFunction(previousFrame, sampleBuffer)) {
        return
    }
    // Do something
    ...

    // Copies sampleBuffer into previousFrame, uses memcpy internally
    someCpyFunction(previousFrame, sampleBuffer)
}

有没有更好的方法来做到这一点而不必复制当前帧?

标签: swiftvideo

解决方案


推荐阅读