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