问题标签 [avcapturesession]

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.

0 投票
1 回答
1630 浏览

iphone - 在 AVCaptureVideoPreviewLayer 上显示之前需要修改图像

我正在使用AVCaptureSession从我的 iPhone 3G 捕获视频,我需要捕获图像并在显示在我的AVCaptureVideoPreviewLayer. 在我当前的实现中,我只是实现该captureOutput:方法并UIImage在 a中显示UIImageView,但由于某种原因这不起作用。

有任何想法吗?不知何故子类AVCaptureSession

谢谢!

0 投票
2 回答
9037 浏览

iphone - AVCapture appendSampleBuffer

我对这个要发疯了——到处都看了,尝试了所有我能想到的东西。

我正在制作一个使用 AVFoundation 的 iPhone 应用程序 - 特别是 AVCapture 来使用 iPhone 相机捕获视频。

我需要有一个覆盖在录制中包含的视频源上的自定义图像。

到目前为止,我已经设置了 AVCapture 会话,可以显示提要、访问框架、将其保存为 UIImage 并将覆盖图像添加到其上。然后将这个新的 UIImage 转换为 CVPixelBufferRef。annnd 仔细检查 bufferRef 是否正常工作,我将它转换回 UIImage 并且它仍然可以很好地显示图像。

当我尝试将 CVPixelBufferRef 转换为 CMSampleBufferRef 以附加到 AVCaptureSessionsassetWriterInput 时,问题就开始了。当我尝试创建 CMSampleBufferRef 时,它总是返回 NULL。

这是 -(void)captureOutput 函数

我经常听到的另一个解决方案是使用 AVAssetWriterInputPixelBufferAdaptor,它消除了进行混乱的 CMSampleBufferRef 包装的需要。但是,我已经搜索了堆栈和苹果开发人员论坛和文档,但找不到关于如何设置或如何使用它的清晰描述或示例。如果有人有一个可行的例子,请您给我看或帮我解决上述问题 - 一直在不停地研究这个问题一周,我束手无策。

如果您需要任何其他信息,请告诉我

提前致谢,

迈克尔

0 投票
2 回答
4089 浏览

iphone - AVCapture 会话

我想知道是否有人在任何地方都有一个使用 AVCaptureVideoDataOutput 工作的 AVCapture 会话的示例——我正在使用 AVFoundation 数据输出回调方法中的默认 CMSampleBuffer——但是当我将它保存到相机胶卷时,除了最后 5 帧之外,它都是黑色的我必须手动擦洗到:S

对于我的问题的任何帮助将不胜感激。

干杯,

迈克尔

0 投票
1 回答
2412 浏览

iphone - AVCaptureSession 仅在 iPhone 3G 上返回空白图像

我正在使用 Apple 的 AVCaptureSession 示例代码,并且创建的 UIImage 是完全空白的。这只发生在 iPhone 3G 上,并且在控制台上出现一个独特的错误,上面写着 -

错误:CGDataProviderCreateWithCopyOfData:vm_copy 失败:状态 2。

我已经在线研究了错误并找到了这个StackOverflow 答案,它消除了错误......但图像仍然是空白的。

有没有其他人经历过这个并知道如何解决它?

提前致谢。

我的代码 -

0 投票
2 回答
4247 浏览

iphone - UIImagePicker 和 AVCaptureSession 同时访问相机

我想知道是否有可能同时访问相机的 anAVCaptureSession和两者的实例。UIImagePicker

我想创建一个应用程序,将环境光度计/指示器显示为UIImagePicker相机处于活动状态时的叠加视图。我以前UIGetScreenImage()使用AVCaptureSession. 在我的实验中,显示相机视图AVCaptureSession时似乎会暂停。UIImagePicker有任何想法吗?谢谢!

0 投票
2 回答
1031 浏览

iphone - 当音频输入添加到 AVCaptureSession 时 AVAudioPlayer 停止

我正在开发卡拉 OK 应用程序。它应该录制带有用户唱歌声音的视频。歌词和旋律由应用程序提供。

在我将音频输入添加到 AVCaptureSession 之前,视频录制一切都很好。问题在于播放旋律的 AVAudioPlayer - 它只是在 AVCaptureSession 启动时停止。我在 Apple 文档中没有发现任何限制。

有没有人在通过 AVAudioPlayer 播放声音的同时在 AVCaptureSession 中录制声音的经验?

0 投票
4 回答
13407 浏览

iphone - 如何从 AVCaptureSession 产生的 CMSampleBuffer 中获取 Y 分量?

嘿,我正在尝试使用 AVCaptureSession 从 iphone 相机访问原始数据。我遵循 Apple 提供的指南(此处链接)。

来自samplebuffer的原始数据是YUV格式(我在这里对原始视频帧格式是否正确??),如何从存储在samplebuffer中的原始数据中直接获取Y分量的数据。

0 投票
1 回答
1408 浏览

iphone - AVCaptureSession 在 iphone 4 上返回空白图像

我正在尝试调用 AVFoundation Programming Guide 中的“媒体捕获将所有内容放在一起”示例。我不断收到空白(黑色)图像。我需要先调用什么才能让此代码访问相机吗?谢谢

这是示例中未修改的代码:

我的回调方法是:

0 投票
2 回答
5073 浏览

iphone - 如何使用 AVCaptureSession 流式传输实时预览视频,然后拍照,然后返回流式传输

我有一个应用程序可以在拍摄静态照片之前创建自己的实时预览。该应用程序需要对图像数据进行一些处理,因此无法依赖 AVCaptureVideoPreviewLayer。使用 Apple 的示例代码让初始流工作进展顺利。当我尝试切换到更高质量的图像来拍摄快照时,问题就来了。为了响应按钮按下,我尝试重新配置会话以拍摄全分辨率照片。我尝试了很多变体,但这是我最新的示例(仍然不起作用):

在 commitConfiguration 行之后,我一直收到一条错误消息,如下所示:(也就是说,我收到一个 AVCaptureSessionRuntimeErrorNotification 发送给我的注册观察者)

收到错误:NSConcreteNotification 0x19d870 {name = AVCaptureSessionRuntimeErrorNotification; 对象 = ; userInfo = { AVCaptureSessionErrorKey = "Error Domain=AVFoundationErrorDomain Code=-11800 \"操作无法\U2019完成。(AVFoundationErrorDomain 错误 -11800。)\" UserInfo=0x19d810 {}";

XCode 中的文档表面上提供了有关错误号 (-11800) 的更多信息,“AVErrorUnknown - 错误原因未知。”;

以前我也尝试过调用 stopRunning 和 startRunning,但在观看 WWDC Session 409 后不再这样做,不鼓励这样做。当我停止和启动时,我收到一条不同的错误消息 -11819,它对应于“AVErrorMediaServicesWereReset - 由于媒体服务变得不可用,因此无法完成操作。”,这比简单的“未知”要好得多,但不一定更有帮助。

它成功添加了 AVCaptureStillImageOutput(即,不发出日志消息)。

我正在 iPhone 3g (w/4.1) 和 iPhone 4 上进行测试。

这个调用发生在主线程中,这也是我最初的 AVCaptureSession 设置发生的地方。

我怎样才能避免错误?如何切换到更高分辨率拍摄照片?

谢谢!

0 投票
2 回答
5499 浏览

iphone - 从捕获的视频帧创建openGL纹理以覆盖视频上的openGL视图的替代方法?(苹果手机)

这主要与增强现实类型的应用程序相关。Apple 在此处提供了有关如何使用 AVCaptureSession 捕获视频帧(并在需要时将它们保存为图像)的信息:

http://developer.apple.com/library/ios/#qa/qa2010/qa1702.html

我知道可以从捕获的视频帧中创建一个 openGL 纹理,然后将其用作 openGL 视图中的背景,以覆盖其他图形。

我想知道这种方法是否有任何替代方法?上面提到的方法可能是最好的(我不知道是不是),但如果有其他方法可以尝试,最好知道。例如,有没有办法将 openGL 视图直接覆盖在 AVCaptureVideoPreviewLayer 上?