假设我要用图像制作电影。我被告知要使用AVAssetWriter以及AVAssetWriterInput附加CVPixelBuffer对象。但是我很困惑。

为什么我们创建像素缓冲区,仅创建位图上下文以制作电影,然后使用drawRectInViewHierarchy绘制?

最佳答案

我不确定您要依据什么信息,但是我将尽力解释基本信息。

首先,CVPixelBuffer是一个CoreVideo对象,用于存储图像数据。所有处理图像数据的AVFoundation类都使用这种类型的对象。但是,CVPixelBuffer并不是一个简单的对象,您不能简单地从JPEG或PNG数据的实例中实例化一个。

创建CVPixelBuffer的一种可能方法是从CVPixelBufferCreateWithBytes调用CGImageDataProvider。可能还有其他解决方案可能会起作用和/或更有效。这取决于您开始使用哪种图像。

关于ios - 带有AVAssetWriter的CVBufferPool的解释?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41886021/

10-08 21:46