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

时间:2019-08-07 06:14:36

标签: swift core-video core-media

我想将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
    }

0 个答案:

没有答案