首页 > 解决方案 > 如何将 cmsamplebuffer 转换为数据,反之亦然

问题描述

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

标签: swiftcore-videocore-media

解决方案


推荐阅读