我正在重构我的iOS基于OpenGL的渲染管道。我的管道由许多渲染步骤组成,因此我需要许多中间纹理来进行渲染和读取。这些纹理具有各种类型(无符号字节和半浮点数),可能具有不同数量的通道。 为了节省内存和分配工作,我回收了之前在管道中使用过但不再需要的纹理。在以前的实现中,我自己完成了这个操作...
我正在寻找一种使用iOS API检索视频的单独帧的方法。我尝试使用AVAssetImageGenerator,但它似乎只提供最接近秒的帧数,这对我的使用有些粗略。 根据文档的理解,我应该能够通过AVAssetReader、AVAssetReaderOutput和CMSampleBufferG...
实际问题 有几个答案可以解决我的问题: 我能否强制CGImage从直接数据提供程序(使用CGDataProviderCreateDirect创建)重新加载其数据,就像CGContextDrawImage一样?或者是否有其他方法可以通过设置self.layer.contents来实现它? ...
我正在尝试通过MetalKit渲染I420(YCbCr planner)。 大多数示例都使用来自相机的CMSampleBuffer, 但我的目标是使用给定的I420字节。 我做了这样的事情: let data = NSMutableData(contentsOfURL: NSBundl...
我使用CVMetalTextureCacheCreateTextureFromImage从相机和播放器的CVImageBuffer中创建一个MTLTexture,然后使用CVMetalTextureGetTexture获取MTLTexture。但是,在使用Metal渲染纹理时,偶尔会看到视频帧...
我从ARSessionDelegate获取了一个CVPixelBuffer: func session(_ session: ARSession, didUpdate frame: ARFrame) { frame.capturedImage // CVPixelBufferRef ...
我正在尝试使用AVAssetExportSession将视频旋转到正确的方向,但我总是收到以下错误: Error Domain=AVFoundationErrorDomain Code=-11841 "The operation couldn’t be completed. (AVFound...
我正在iOS中访问相机,并使用以下会话预设:captureSession.sessionPreset = AVCaptureSessionPresetMedium; 这是很标准的内容。但是,我想预先知道由于此预设而获得的视频分辨率(尤其是因为根据设备不同,它会有所不同)。我知道有在线表格可以查...
我正在使用AVCaptureVideoDataOutput和AVCaptureAudioDataOutput记录视频和音频,在captureOutput:didOutputSampleBuffer:fromConnection:代理方法中,我想将文本绘制到从视频连接接收到的每个单独的样本缓冲区...