我正在使用AVAssetReader/AVAssetWriter将我的视频转换到iOS上。我的问题是:什么是最有效的方式来显示预览的当前帧与实时转换。我在考虑将CMSampleBufferRef转换成UIImage,然后再应用到UIImageView。有没有更好的办法?
发布于 2015-10-18 19:27:26
我想AVSampleBufferDisplayLayer就是你要找的人。
它是一个可以显示CMSampleBuffer的CALayer子类,我想它比UIImage和UIImageView快得多。
下面是一个简单的AVSampleBufferDisplayLayer-backed UIView实现(快速版):
class SampleBufferView: UIView {
override class func layerClass() -> AnyClass {
return AVSampleBufferDisplayLayer.self
}
func enqueueSampleBuffer(sampleBuffer: CMSampleBuffer!) {
let displayLayer = self.layer as! AVSampleBufferDisplayLayer
displayLayer.enqueueSampleBuffer(sampleBuffer)
}
}https://stackoverflow.com/questions/33195870
复制相似问题