0

我正在转换所有 CMSampleBuffers。并将它们发送到服务器进行服务器端渲染。在将数据发送到服务器之前,我正在使用此代码。但看起来我没有获得足够的帧(一个 10 秒的视频大约 27 帧?应该是每秒大约 30 帧,在列表中)。

我在做什么错?是。甚至可以从 CMSampleBuffers 获取数据?

   func getDataFromCMSampleBuffer (sampleBuffer: CMSampleBuffer) -> Data? {
    if CMSampleBufferDataIsReady (sampleBuffer),
       let pixelBuffer = CMSampleBufferGetImageBuffer (sampleBuffer) {
        let ciImage = CIImage (cvImageBuffer: pixelBuffer)
        let image = UIImage (ciImage: ciImage)
        return (image.jpegData (compressionQuality: 0.5)) // Error Thread 7: EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit = 50 MB, unused = 0x0)
    }
    return nil
}
4

0 回答 0