2015-10-18 2 views
3

Я использую AVAssetReader/AVAssetWriter для преобразования своего видео на iOS. Мой вопрос: какой самый эффективный способ показать предварительный просмотр текущего кадра с преобразованием в реальном времени. Я думал о преобразовании CMSampleBufferRef в UIImage, а затем в UIImageView. Это там лучший способ?AVAssetReader/AVAssetWriter Предварительный просмотр текущего кадра

ответ

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) 
    } 
} 
Смежные вопросы