问题标签 [cmsamplebuffer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - ios didOutputSampleBuffer 丢弃前几帧
我正在制作一个需要使用录制视频和音频的应用程序AVCaptureVideoDataOutputSampleBufferDelegate
我使用的功能是:
和编码帧功能:
问题是当我开始录制(将 isCapturing 标志设置为 true)时,前几帧被丢弃(原因是 FrameWasLate),Apple 的文档说这是因为 sampleBuffer 没有足够快地释放!,但我所做的只是初始化Avassetwriter
而已!.
我试图将编码函数放在串行队列中,但没有成功!怎么了 ?!
swift - 使用 RPScreenRecorder 保存屏幕录制开始捕获
我正在尝试使用 RPScreenRecorder.shared().startCapture 将屏幕录制保存到 Firebase。我知道如何从 AVCapture 保存视频,但不知道如何处理 CMSampleBuffer 以创建文件以保存到 firebase。请帮助我在任何地方都找不到这方面的文档,这是方法调用:
即使指向正确的方向也会有所帮助,但我不知道如何将样本缓冲区保存为可以作为视频播放的文件
ios - CIContext 渲染:toCVPixelBuffer:边界:colorSpace:函数不适用于具有 alpha 通道的图像
我正在尝试在使用 AVFoundation 的 AVCaptureVideoDataOutput 录制的视频上添加水印/徽标。我遇到的问题是 UIImage 的透明部分在写入视频后是黑色的。我做错了什么?
……
……
swift - 在没有预览窗口的情况下使用 AVCaptureVideoDataOutputSampleBufferDelegate
我正在开发一个基于 Swift 的 macOS 应用程序,我需要在其中捕获视频输入,但不将其显示在屏幕上......而不是显示视频,我想将缓冲的数据发送到其他地方进行处理,并最终显示它在SceneKit
场景中的一个物体上。
我有一个CameraInput
有prepareCamera
方法的类:
还有一个startSession
启动AVCaptureSession
会话的方法:
我还实现AVCaptureVideoDataOutputSampleBufferDelegate
了 ,我打算在其中捕获以CMSampleBuffer
供以后使用:
但是,永远不会调用委托。这是我必须显示视频输出才能调用它的情况吗?
ios - iOS:将 UIImage 转换为 CMSampleBuffer
一些问题涉及如何将 CMSampleBuffer 转换为 UIImage,但没有关于如何执行相反操作的答案,即将 UIImage 转换为 CMSampleBuffer。
这个问题与类似问题不同,因为下面的代码提供了将 UIImage 转换为 CVPixelBuffer 的起点,希望具有更多 AVFoundation 专业知识的人可以帮助修复转换为 CMSampleBuffer。
ios - 在 pixelBuffer 上添加文本时音频丢失
我正在尝试在视频上添加文本覆盖,当在 iPhone 5s 或更低质量的设备中以高质量录制并在其上写入文本时,1 或 2 秒后音频丢失,但这不会发生在 iPhone 6/6s 等大型设备上. 如果我删除该文本编写器方法,那么它可以在所有设备上正常工作,或者如果我在 5 秒内降低视频质量,那么它也可以正常工作。我如何在 iPhone 5s 中使用叠加文本获取带音频的视频。
这是我的代码
}
如果assetWriterPixelBufferInput
我们不使用videoInput.append(sample)
此方法,但我们会丢失文本覆盖。
水印(文字叠加)示例代码——
ios - 使用 AVAssetReader 从 iPad 上的视频中读取帧时,图像的方向不正确
我想先确定几件事:
- 这适用于多部 iPhone(iOS 10.3 和 11.x)
- 这适用于任何 iPad 模拟器 (iOS 11.x)
我剩下的情况是,当我运行以下代码(从我的应用程序中压缩以删除不相关的代码)时,我得到的图像是颠倒的(横向)或旋转 90 度(纵向)。查看在此步骤之前处理的视频表明它的方向正确。所有测试均在 iOS 11.2.5 上完成。
* 更新 *
我做了一些进一步的测试,发现了一些更有趣的项目:
- 如果视频是从手机或外部来源导入的,则已正确处理
- 如果视频是在 iPad 上以纵向录制的,那么阅读器会将其向左旋转 90 度提取
- 如果视频是在 iPad 上以横向录制的,则阅读器将其倒置提取
- 在上述两种情况下,
UIImage
报告一个纵向的方向
所涉及代码的精简版本:
ios - 从前置摄像头到 UIImage 的 CMSampleBuffer
我正在尝试从 CMSampleBuffer 创建 UIImage。以下代码适用于来自后置摄像头的样本缓冲区,但不适用于前置摄像头。使用前置摄像头时,CGContext初始化失败,即CGContext构造函数返回nil。我怀疑我需要使用正确的位图信息,但是有很多组合。
它伴随着以下错误:“CGBitmapContextCreate:无效数据字节/行:对于 8 个整数位/分量、3 个分量、kCGImageAlphaPremultipliedFirst,应至少为 2560。”