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)
    }
}
Другие вопросы по тегам