我在 iOS 平台上有一个自定义视频播放器,我阅读了许多线程来调整使用 CVOpenGLESTextureCacheCreateTextureFromImage API 的性能。但是,此 API 始终与 Apple 解码器一起使用,因此由于 Apple 解码器提供 CVPixelBufferRef,我找不到任何方法将 ffmpeg 的 AVFrame 转换为 CVPixelBufferRef ...
谁能指导我这个话题?
是否可以将 CVOpenGLESTextureCacheCreateTextureFromImage API 用于 ffmpeg 的 AVFrames?如果是,如何?
最佳答案
好吧,方法名称的 fromImage 部分为您提供了一个线索,即您必须首先将 avframe 转换为 cgimageref。这是一个回合,但那是你必须做的。直接写入缓冲区对象可能会更好。但你必须做这样的事情来获得一个像素缓冲区
https://github.com/mooncatventures-group/FFPlayer-beta1/blob/master/FFAVFrames-test/ViewController.m
关于ios - 将 AVFrame 转换为 CVPixelBufferRef 以在函数 CVOpenGLESTextureCacheCreateTextureFromImage 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16846074/