2015-10-18 38 views
3

我正在使用AVAssetReader/AVAssetWriter在iOS上轉換我的視頻。 我的問題是:什麼是最有效的方式來顯示實時轉換當前幀的預覽。 我在考慮將CMSampleBufferRef轉換爲UIImage,然後應用到UIImageView中。有沒有更好的方法?當前幀的AVAssetReader/AVAssetWriter預覽

回答

2

我認爲AVSampleBufferDisplayLayer是你在找什麼。

這是一個CALayer子類,它可以顯示CMSampleBuffer S和我想象它是通過UIImageUIImageView比跋涉快得多。

下面是一個簡單AVSampleBufferDisplayLayer -backed UIView實現(SWIFT):

class SampleBufferView: UIView { 
    override class func layerClass() -> AnyClass { 
     return AVSampleBufferDisplayLayer.self 
    } 

    func enqueueSampleBuffer(sampleBuffer: CMSampleBuffer!) { 
     let displayLayer = self.layer as! AVSampleBufferDisplayLayer 
     displayLayer.enqueueSampleBuffer(sampleBuffer) 
    } 
}