3
我正在使用AVAssetReader/AVAssetWriter
在iOS上转换我的视频。 我的问题是:什么是最有效的方式来显示实时转换当前帧的预览。 我在考虑将CMSampleBufferRef
转换为UIImage,然后应用到UIImageView中。有没有更好的方法?当前帧的AVAssetReader/AVAssetWriter预览
我正在使用AVAssetReader/AVAssetWriter
在iOS上转换我的视频。 我的问题是:什么是最有效的方式来显示实时转换当前帧的预览。 我在考虑将CMSampleBufferRef
转换为UIImage,然后应用到UIImageView中。有没有更好的方法?当前帧的AVAssetReader/AVAssetWriter预览
我认为AVSampleBufferDisplayLayer
是你在找什么。
这是一个CALayer
子类,它可以显示CMSampleBuffer
S和我想象它是通过UIImage
和UIImageView
比跋涉快得多。
下面是一个简单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)
}
}