3

首先; 我不想通过使用上下文;无论是 CIContext、CGContext 等。原因是这些方法是内存密集型的,它会导致应用程序扩展达到任意内存上限。

已验证方法中返回的缓冲区:

override func processSampleBuffer(_ sampleBuffer: CMSampleBuffer, with 
sampleBufferType: RPSampleBufferType) {

是类型: kCVPixelFormatType_420YpCbCr8BiPlanarFullRange

但是,当尝试将双平面数据转换为可用图像时,它会严重失真或颜色褪色。

已尝试使用libyuv以尝试进行一些转换,但由于缺乏文档而感到困惑。已尝试创建I420缓冲区或NV12缓冲区以尝试将其转换为图像,但不确定我是否做得对。

已尝试使用Metal Framework 和 vImage方法,但我仍然没有任何运气。所以找个例子;朝着正确的方向轻推。

4

0 回答 0