![](/img/trans.png)
[英]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.