Swift 如何将cmsamplebuffer转换为数据,反之亦然

Swift 如何将cmsamplebuffer转换为数据,反之亦然,swift,core-video,core-media,Swift,Core Video,Core Media,我想将cmsamplebuffer转换为数据,再将数据转换为cmsamplebuffer,以便通过服务器将数据从一个设备传输到另一个设备 func frameData() -> NSData { let imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) CVPixelBufferLockBaseAddress(imageBuffer!, CVPixelBufferLockFlags(rawV

我想将cmsamplebuffer转换为数据,再将数据转换为cmsamplebuffer,以便通过服务器将数据从一个设备传输到另一个设备

func frameData() -> NSData {

        let imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer)

        CVPixelBufferLockBaseAddress(imageBuffer!, CVPixelBufferLockFlags(rawValue: 0))

        let bytesPerRow = CVPixelBufferGetBytesPerRow(imageBuffer!)
        let height = CVPixelBufferGetHeight(imageBuffer!)
        let src_buff = CVPixelBufferGetBaseAddress(imageBuffer!)
        let nsdata = NSData(bytes: src_buff, length: bytesPerRow * height)

        CVPixelBufferUnlockBaseAddress(imageBuffer!, CVPixelBufferLockFlags(rawValue: 0))

        return nsdata
    }

您是否设法将数据转换回samplebuffer?不,我没有。任何想法都会有帮助。我也有同样的问题。我没有转换它,但我发送了图像和深度数据,使用这个,让imageData=context.Heifresentation(of:image,format:.BGRA8,colorSpace:colorSpace!,options:[CIImageRepresentationOption.avDepthData:depthdata]),我可以在客户端获取深度和图像数据。它对我有用。