当前帧的AVAssetReader / AVAssetWriter预览

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


我认为AVSampleBufferDisplayLayer是你正在寻找的。

这是一个CALayer子类,可以显示CMSampleBuffer ,我想它比通过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)
    }
}
链接地址: http://www.djcxy.com/p/72049.html

上一篇: AVAssetReader/AVAssetWriter preview of current frame

下一篇: Android Decode raw h264 stream with MediaCodec