问题标签 [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.
iphone - 焦点(自动对焦)在相机中不起作用(AVFoundation AVCaptureSession)
我正在使用标准 AVFoundation 类来捕获视频并显示预览(http://developer.apple.com/library/ios/#qa/qa1702/_index.html)
这是我的代码:
一切正常,但有时会出现一些问题:
- 相机对焦不工作 - 它是随机的,有时有效,有时无效。我在不同的设备上尝试过 iPhone 4 和 3GS。我试图谷歌它,但没有结果。人们只提到损坏的设备,但我检查了 3 部 iPhone 4 和 1 部 iPhone 3GS。问题无处不在。
- 相机加载时间很长。我正在使用 ScannerKit API,出于同样的原因,它也在使用相机,它的加载速度比我的实现快两倍。
任何想法可能是什么问题?第一个问题肯定更重要。
iphone - 如何在不重新创建会话的情况下让自动对焦在第二个 AVCaptureSession 中工作?
当我创建第二个 AVCaptureSession 时,自动对焦在第一个 AVCaptureSession 上不起作用。要创建的第二个会话是自动对焦工作的会话,而第一个创建的会话不自动对焦。
我希望任何一个会话在另一个会话停止后启动时都能够自动对焦,就像两个会话的自动白平衡和自动曝光一样。如果您使用下面的示例代码观察日志窗口,您可以看到键值观察消息通过;但在顶级会话运行时永远不会更改焦点消息。
旁注:不幸的是,我正在使用的第三方库中有一个错误,它阻止我在它们之间切换时完全重新创建会话(它泄漏了它的 AVCaptureSessions,最终导致应用程序被杀死)。完整的故事是这个库正在为我创建一个捕获会话,它有一个公共 API 来启动和停止会话,我希望创建另一个会话。下面的代码演示了这个问题,虽然没有使用第三方库。
我用下面列出的代码和一个 XIB 文件创建了一个测试应用程序,该文件有两个视图,一个在另一个之上,一个按钮连接到用于演示问题的 switchSessions 方法。
这可能与此处描述的问题有关,即 Focus (Autofocus) not working in camera (AVFoundation AVCaptureSession),尽管没有提及两个捕获会话。
头文件:
实现文件:
iphone - AVCaptureVideoPreviewLayer 镜像 iPhone 4 和 iPad 2
我正在寻找一些好的示例代码来切换 AVCaptureVideoPreviewLayer 中的镜像。WWDC '10 的原始 AVCam 项目得到了支持,但我想知道你们是否有其他喜欢的实施技术或示例项目。当前的 AVCam 项目 (1.2) 删除了对镜像的支持。
感谢您的所有帮助!
iphone - 使用 CATransform3D 创建翻转动画
我正在尝试重新创建 UIViewAnimationTransitionFlipFromRight (和左)。我这样做的原因如下图所示,是在动画中间,当图层被遮挡时,对 AVCaptureVideoPreviewLayer 进行更改。UIViewAnimationTransitionFlipFromRight 不会让我中途停止动画,进行会话更改并继续,所以这是我最好的镜头。
虽然这可行,但它与 UIViewAnimationTransitionFlipFromRight 不同。图层开始旋转,但更多的是向后和对角滑动(很难描述),然后在动画的第二部分反转。我正在寻找图层的右侧翻转到后面,然后继续向左。相反,右侧从右侧开始,向后旋转,然后再次向右旋转。
我究竟做错了什么?
更新:它第一次正确旋转。之后,上面提到的问题仍然存在。与必须重置的 AVCaptureVideoPreviewLayer 有什么关系吗?不确定,只是猜测。
iphone - AVCaptureSessionPresetMedium 图像大小?
使用 AVCaptureSessionPresetMedium 时
有没有办法动态地告诉宽度 x 高度这将解决什么问题?显然我可以等到像这样的代表
被调用并在那里确定它,但我宁愿提前这样做,以便我可以出于性能原因预先计算一些值。
ios - AVCaptureSession 输出样本缓冲区保存到 CoreData
我正在使用 AVCaptureSession 使用 AVCaptureVideoDataOutput 类中的 setSampleBufferDelegate 方法从相机捕获帧。委托方法如下所示。可以看到我转换为 UIImage 并放在 UIImageView 中。我想将每个 UIImage 保存到磁盘并将 URL 存储在新的 managedObject 中,但我不知道如何正确获取 managedObjectContext,因为每次调用都会使用串行调度队列生成一个新线程。任何人都可以提出一个使用 CoreData 和调度队列的解决方案,以便我可以构建存储在磁盘上并对应于 managedObject 的图像集合。
iphone - 如何组合 2 个 CMSampleBufferRef 文件?
我正在尝试使用 AV Foundation api 捕获视频。我想提供暂停视频并重新启动它的功能。我正在尝试弄清楚如何实现暂停功能。我正在考虑添加一个按钮来调用 [session stopRunning] 方法。每次视频停止时,我都会实现 AVCaptureVideoDataOutput 并捕获 CMSampleBufferRef。然后我想将所有这些合并到一个文件中,然后将其输出到相机胶卷。这看起来是正确的方法吗?
或者
我应该实现一个暂停按钮并连续捕获视频并在用户单击暂停按钮时丢弃帧吗?如果是这样,那我该怎么做?
提前致谢!
iphone - 如何使用 AVCaptureConnections?
我是 AVFoundation 的新手,我正在尝试使用 AVFoundation 实现摄像机,这是我的基本设置。基本上,当您单击按钮时,它将调用 showCamera 方法。在这里我创建会话,然后添加音频输入和视频输入,然后添加视频输出。
我在哪里添加 AVCaptureConnection,我该怎么做?是否有一些教程显示如何使用连接?任何帮助表示赞赏。
}
iphone - 如何使用 AVFoundation 将视频写入 iPhone 相机胶卷?
我目前正在使用 AVFoundation api 录制视频,并指定了要写入的 fileUrl:
但是,现在它记录到一个临时目录。我如何将此文件写入相机胶卷?什么是相机胶卷目录?
谢谢!
iphone - Iphone 使用 open gl 过滤器保存慢速视频
我正在使用带有预设 AVCaptureSessionPresetMedium 的 avcapturesession 来捕获视频,我正在使用 opengl 使用着色器对此视频应用效果。我使用assetWriter 将视频写入mp4 文件。问题是当我添加音频输出时,生成的视频特别慢。
这就是我的代码的工作方式:
- 在 - (void)captureOutput:(AVCaptureOutput *)captureOutput... 函数中,我将 opengl 过滤器应用于捕获的帧
- 然后检查 captureoutput 是视频还是音频,如果是视频,我使用 glReadPixels 创建一个 CVPixelBufferRef 发送到 AVAssetWriterInputPixelBufferAdaptor 来写入它
- 如果是音频,我直接写 CMSampleBufferRef
如果有人能告诉我我的方法有什么问题,或者哪个部分应该使结果视频变慢?