[英]How to control video frame rate with AVAssetReader and AVAssetWriter?
[英]AVAssetReader/AVAssetWriter preview of current frame
我正在使用AVAssetReader/AVAssetWriter
在iOS上转换我的视频。 我的问题是:通过实时转换显示当前帧预览的最有效方法是什么。 我正在考虑将CMSampleBufferRef
转换为UIImage,然后应用到UIImageView。 有没有更好的方法?
我认为AVSampleBufferDisplayLayer
正是您所需要的。
它是一个可以显示CMSampleBuffer
的CALayer
子类,我想它比通过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)
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.