core-video相关内容
我从 ARSessionDelegate 得到一个 CVPixelBuffer: func session(_ session: ARSession, didUpdate frame: ARFrame) {frame.capturedImage//CVPixelBufferRef} 但我的应用程序的另一部分(我无法更改)使用 CMSampleBuffer. CMSampleBuffer
..
是否可以使用AVFoundation和CoreVideo实时获取颜色信息,光圈和焦距值? 让我解释一下.假设我在拍摄视频时想在屏幕的一小部分采样颜色并将其以RGB值输出到屏幕吗?另外,我想展示一下当前的光圈设置为什么. 有人知道是否有可能收集这些值?目前,我只看到静止图像可以做到这一点. 想法? 解决方案 AVCaptureStillImageOutput将为您提供视频流
..
我正在使用AVCaptureVideoDataOutput和AVCaptureAudioDataOutput录制视频和音频,并且在captureOutput:didOutputSampleBuffer:fromConnection:委托方法中,我想在从视频连接接收的每个单独的样本缓冲区上绘制文本.文本每隔一帧都会变化(这是一个秒表标签),我希望将其记录在所捕获的视频数据之上. 这是到目前为止
..
在我的iOS应用程序的UI中,显示了一个CALayer s的复杂层次结构.这些层之一是AVPlayerLayer,它显示实时应用(使用AVVideoComposition(asset:, applyingCIFiltersWithHandler:))CIFilter的视频. 现在,我想将此图层合成导出到视频文件. AVFoundation中有两个似乎有用的工具: A :AVVideoC
..
我在这里使用代码在OS X上将CGImageRef转换为CVPixelBufferRef. 将UIImage转换为CVImageBufferRef 但是,我需要在YUV (kCVPixelFormatType_420YpCbCr8Planar)中而不是现在的RBG中绘制图像. 无论如何,是否可以在YUV色彩空间中直接绘制CGImage?如果不是,是否有人能提供将CVPixedBu
..
CMPixelFormatType常量是此外,在CMPixelFormatType注释中,它表示: 通常,也可以使用CoreVideo CVPixelFormatType常量. 这两组常数有什么区别?为什么CMPixelFormatType常量只是CVPixelFormatType常量的子集?他们有特色吗? 解决方案 更新:不,kCVPixelFormatType_420YpC
..
我从ARSessionDelegate获得了一个CVPixelBuffer: func session(_ session: ARSession, didUpdate frame: ARFrame) { frame.capturedImage // CVPixelBufferRef } 但是我的应用程序的另一部分(我无法更改)使用CMSampleBuffer. CMSamp
..
我正在尝试执行CMSampleBuffer的深层克隆以存储AVCaptureSession的输出.运行函数CMSampleBufferCreateForImageBuffer时收到错误kCMSampleBufferError_InvalidMediaFormat (OSStatus -12743).我看不到如何错配CVImageBuffer和CMSampleBuffer格式说明.有人知道我哪里出问
..
我们正在以视频编码中所述的样式使用AVAssetReader和AVAssetWriter使用AVAssetWriter-CRASHES 基本上是从相册/资产库中读取视频,然后以不同的比特率写入以减小其大小(最终用于网络上传). 让它起作用的诀窍是在AVAssetReaderTrackOutput的outputSettings中指定kCVPixelBufferPixelFormatTypeKe
..
我是OpenGL ES的新手. 我正在尝试编写代码来录制iOS应用程序(尤其是游戏)的屏幕. 我正在使用此答案中的代码描述的“渲染到纹理"方法来捕获屏幕并编写cocos2d游戏的视频. 我所做的一个修改是,当我调用CVOpenGLESTextureCacheCreate时,我正在使用 [EAGLContext currentContext] 代替 [[GPUImageOpenGLESC
..
我们的产品包含一种软件图像解码器,该解码器本质上会产生需要快速复制到屏幕上的全帧像素数据(我们在iOS上运行). 当前,我们正在使用CGBitmapContextCreate,我们直接访问内存缓冲区,然后对于每个帧,我们调用CGBitmapContextCreateImage,然后将该位图绘制到屏幕上.对于以适当的帧速率在iPad的视网膜显示屏上进行全屏刷新来说,这太慢了(但是对于非Reti
..
我正在构建一个执行一些基本检测的iOS应用. 我从AVCaptureVideoDataOutput获取原始帧,将CMSampleBufferRef转换为UIImage,调整UIImage的大小,然后将其转换为CVPixelBufferRef. 据我所能检测到的仪器泄漏是将CGImage转换为CVPixelBufferRef的最后一部分. 这是我使用的代码: - (void)captur
..
所以我一直在使用UIImagepickercontroller访问相机进行照片和视频捕捉,然后我想在这两个来源上应用过滤器,我成功地过滤了令牌照片,但我找不到其余的解决方案,我只需要访问原始图像数据:相机显示的实时图像输入,应用过滤器,然后显示过滤的图像。任何帮助或建议将不胜感激。 解决方案 UIImagePickerController不会为您提供对相机缓冲区的低级访问。 你应该设
..
假设我有一些与变量关联的像素缓冲区: CVPixelBufferRef a; 我想 clone 缓冲区包含所有内容,并将克隆的一个分配给另一个变量。 最正确,最快速的方法是什么? 解决方案 到目前为止,我找不到更好的解决方案比memcpy()。希望它能复制所有需要的数据。
..
在iOS 5中,引入了OpenGL ES Texture缓存,提供了从摄像机视频数据到OpenGL的直接方式,无需复制缓冲区。在会话414 - iOS 5的OpenGL ES的进展中简要介绍了纹理缓存WWDC 2011 。 我发现了一个有趣的文章最后进一步滥用这个概念并绕过对 glReadPixels 只需锁定纹理,然后直接访问缓冲区。 glReadPixels 真的很慢到期到iPad
..
我正在尝试将从AVPlayerItemVideoOutput提取的pixelBuffer转换为CIImage,但总是为零。 代码 if([videoOutput_ hasNewPixelBufferForItemTime:player_.internalPlayer.currentItem.currentTime]) { CVPixelBufferRef pixelBuffer
..
我正在iOS中访问相机并使用会话预设: captureSession.sessionPreset = AVCaptureSessionPresetMedium; 相当标准的东西。但是,我想提前知道由于这个预设而我将获得的视频分辨率(特别是因为取决于设备它会有所不同)。我知道有在线表格可以查看(例如: http://cmgresearch.blogspot.com/2010
..
我正在寻找一种使用iOS API检索视频的各个帧的方法。 我尝试使用AVAssetImageGenerator,但它似乎只提供了最接近的秒的帧,这对于我的使用来说有点过于粗糙。 据我所知文档,AVAssetReader,AVAssetReaderOutput和CMSampleBufferGetImageBuffer的管道我应该可以做一些事情,但我坚持使用CVImageBufferRef。有
..
我想将 CGImage 转换为 CMSampleBufferRef 并将其附加到 AVAssetWriterInput 使用 appendSampleBuffer:方法。我已设法使用以下代码获取 CMSampleBufferRef ,但 appendSampleBuffer:只返回 NO 当我提供结果 CMSampleBufferRef 时。我做错了什么? - (void)appendC
..
我正在使用 CVImageBuffer (来自相机和玩家)创建 MTLTexture > CVMetalTextureCacheCreateTextureFromImage 获取 CVMetalTexture 然后 CVMetalTextureGetTexture 获取 MTLTexture 。 我看到的问题是,当我稍后使用Metal渲染纹理时,我偶尔会看到渲染出的视频帧可能因为CoreVi
..