Я использую AVAssetReader/AVAssetWriter
для преобразования своего видео на iOS. Мой вопрос: какой самый эффективный способ показать предварительный просмотр текущего кадра с преобразованием в реальном времени. Я думал о преобразовании CMSampleBufferRef
в UIImage, а затем в UIImageView. Это там лучший способ?AVAssetReader/AVAssetWriter Предварительный просмотр текущего кадра
3
A
ответ
2
Я думаю, что AVSampleBufferDisplayLayer
- это то, что вы ищете.
Это CALayer
подкласс, который может отображать CMSampleBuffer
с и я полагаю, что это намного быстрее, чем поход через 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)
}
}