繁体   English   中英

当前帧的AVAssetReader / AVAssetWriter预览

[英]AVAssetReader/AVAssetWriter preview of current frame

我正在使用AVAssetReader/AVAssetWriter在iOS上转换我的视频。 我的问题是:通过实时转换显示当前帧预览的最有效方法是什么。 我正在考虑将CMSampleBufferRef转换为UIImage,然后应用到UIImageView。 有没有更好的方法?

我认为AVSampleBufferDisplayLayer正是您所需要的。

它是一个可以显示CMSampleBufferCALayer子类,我想它比通过UIImageUIImageView的徒步旅行要快得多。

这是一个简单的AVSampleBufferDisplayLayer -backed UIView实现(在swift中):

class SampleBufferView: UIView {
    override class func layerClass() -> AnyClass {
        return AVSampleBufferDisplayLayer.self
    }

    func enqueueSampleBuffer(sampleBuffer: CMSampleBuffer!) {
        let displayLayer = self.layer as! AVSampleBufferDisplayLayer
        displayLayer.enqueueSampleBuffer(sampleBuffer)
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM