8得票1回答
理解核心视频CVPixelBufferPool和CVOpenGLESTextureCache的语义

我正在重构我的iOS基于OpenGL的渲染管道。我的管道由许多渲染步骤组成,因此我需要许多中间纹理来进行渲染和读取。这些纹理具有各种类型(无符号字节和半浮点数),可能具有不同数量的通道。 为了节省内存和分配工作,我回收了之前在管道中使用过但不再需要的纹理。在以前的实现中,我自己完成了这个操作...

14得票3回答
在iOS下逐帧读取视频

我正在寻找一种使用iOS API检索视频的单独帧的方法。我尝试使用AVAssetImageGenerator,但它似乎只提供最接近秒的帧数,这对我的使用有些粗略。 根据文档的理解,我应该能够通过AVAssetReader、AVAssetReaderOutput和CMSampleBufferG...

9得票1回答
如何使用CGImage和直接的CGDataProvider直接更新像素

实际问题 有几个答案可以解决我的问题: 我能否强制CGImage从直接数据提供程序(使用CGDataProviderCreateDirect创建)重新加载其数据,就像CGContextDrawImage一样?或者是否有其他方法可以通过设置self.layer.contents来实现它? ...

7得票1回答
CVMetalTextureCacheCreateTextureFromImage始终返回null。

我正在尝试通过MetalKit渲染I420(YCbCr planner)。 大多数示例都使用来自相机的CMSampleBuffer, 但我的目标是使用给定的I420字节。 我做了这样的事情: let data = NSMutableData(contentsOfURL: NSBundl...

20得票4回答
持有CVImageBuffer中的MTLTexture会导致卡顿问题。

我使用CVMetalTextureCacheCreateTextureFromImage从相机和播放器的CVImageBuffer中创建一个MTLTexture,然后使用CVMetalTextureGetTexture获取MTLTexture。但是,在使用Metal渲染纹理时,偶尔会看到视频帧...

9得票1回答
从CVPixelBuffer创建一个CMSampleBuffer。

我从ARSessionDelegate获取了一个CVPixelBuffer: func session(_ session: ARSession, didUpdate frame: ARFrame) { frame.capturedImage // CVPixelBufferRef ...

8得票3回答
使用AVAssetExportSession旋转AVAsset

我正在尝试使用AVAssetExportSession将视频旋转到正确的方向,但我总是收到以下错误: Error Domain=AVFoundationErrorDomain Code=-11841 "The operation couldn’t be completed. (AVFound...

18得票8回答
了解AVCaptureSession的会话预设的分辨率

我正在iOS中访问相机,并使用以下会话预设:captureSession.sessionPreset = AVCaptureSessionPresetMedium; 这是很标准的内容。但是,我想预先知道由于此预设而获得的视频分辨率(尤其是因为根据设备不同,它会有所不同)。我知道有在线表格可以查...

10得票1回答
iOS的核心视频示例

除了Core Video编程指南,有没有任何使用Core Video的教程和示例可供参考?

8得票4回答
在录制视频时将动态文本渲染到CVPixelBufferRef上

我正在使用AVCaptureVideoDataOutput和AVCaptureAudioDataOutput记录视频和音频,在captureOutput:didOutputSampleBuffer:fromConnection:代理方法中,我想将文本绘制到从视频连接接收到的每个单独的样本缓冲区...