0
我想上传视频到服务器使用AVFoundation
捕获video.Core媒体表示视频数据使用CMSampleBuffer
但如何获取视频数据,所以我可以发送到服务器?有一个关于将CMSampleBuffer
转换为UIImage
对象的示例,但我找不到有关将CMSampleBuffer
转换为NSData
对象的示例。如何导出视频帧到NSData从CMSampleBufferRef
我想上传视频到服务器使用AVFoundation
捕获video.Core媒体表示视频数据使用CMSampleBuffer
但如何获取视频数据,所以我可以发送到服务器?有一个关于将CMSampleBuffer
转换为UIImage
对象的示例,但我找不到有关将CMSampleBuffer
转换为NSData
对象的示例。如何导出视频帧到NSData从CMSampleBufferRef
可以渲染图像,并使用CIContext
实例中导出生成的图像数据:
guard let buffer = CMSampleBufferGetImageBuffer(self) else { return nil }
let ciImage = CIImage(cvPixelBuffer: buffer)
let context = CIContext()
let colorSpace = CGColorSpaceCreateDeviceRGB()
let data = context.jpegRepresentation(of: ciImage, colorSpace: colorSpace, options:[:])
了解更多信息,请参见Apple documentation,还有像其他的选择:tiffRepresentation(of:format:colorSpace:options:)
,pngRepresentation(of:format:colorSpace:options:)
等