我正在使用AVAssetReader/AVAssetWriter 在 iOS 上转换我的视频。我的问题是:通过实时转换显示当前帧预览的最有效方法是什么。我正在考虑转换CMSampleBufferRef为 UIImage,然后应用到 UIImageView。它有什么更好的方法吗?
1 回答
4
我想AVSampleBufferDisplayLayer这就是你要找的。
这是一个CALayer可以显示 s 的子类,我想它比通过andCMSampleBuffer的跋涉要快得多。UIImageUIImageView
这是一个简单的AVSampleBufferDisplayLayer支持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)
}
}
于 2015-10-18T11:27:26.163 回答