AVAssetReader / AVAssetWriter предварительный просмотр текущего кадра

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


person user3128673    schedule 18.10.2015    source источник


Ответы (1)


Я думаю, что AVSampleBufferDisplayLayer - это то, что вам нужно » повторно ищем.

Это CALayer подкласс, который может отображать CMSampleBuffer, и я полагаю, что это намного быстрее, чем переход через UIImage и UIImageView.

Вот простая реализация с 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)
    }
}
person Rhythmic Fistman    schedule 18.10.2015