【问题标题】:Capture video without displaying the actual video feed在不显示实际视频源的情况下捕获视频
【发布时间】:2012-07-05 14:48:00
【问题描述】:

所以我有一个应用程序,目前可以使用前置 iphone 摄像头捕获视频,然后对视频源进行实时处理。然而,我想要做的是让这个过程在后台运行并将其他控件放在屏幕上。例如,假设我想运行相机并处理图像馈送,但我希望用户看到一个带有一些按钮的黑屏。关于如何做到这一点的任何想法?

【问题讨论】:

  • 你已经做过了吗?
  • 是的,我已经在捕捉和处理视频源了,我只是想知道如何将它移到背景并在它仍在运行时显示其他内容。
  • 如果用户看不到视频捕获的结果,用户如何知道相机指向正确的方向?
  • (我已经编辑了我之前的答案)

标签: iphone objective-c ios video camera


【解决方案1】:

为了让我们正确理解术语,“在后台”是指在您的应用程序处于前台时运行相机捕捉,但不显示实际的视频源。这是可能的,但我想明确一点,如果您将整个应用程序移到后台,您将无法访问相机。

有几种方法可以做到这一点,但我用得最多的一种方法是通过 AV Foundation 抓取视频(或照片)帧。使用 AVCaptureDevice 和 AVCaptureSession,您可以抓取视频帧并将它们路由到编码器以保存到磁盘或使用您自己的自定义代码进行处理。这些都不需要在屏幕上显示相机源,因此您可以放置​​您喜欢的任何界面,并在没有任何屏幕指示的情况下进行视频录制或照片捕捉。

我提醒您,您应该向用户明确说明您在做什么,以免冒侵犯他人隐私的风险。 Apple 不会对这样做的人做出友好的反应(有充分的理由)。

我在我的开源 GPUImage 视频和照片处理框架中封装了很多这些内容,因此您可以查看那里的 GPUImageVideoCamera 类的代码,以了解我如何配置捕获输入。我将视频帧交给 OpenGL ES 以应用滤镜和其他处理操作,但如果您只想进行自己的编码或处理,则可以忽略这部分。

【讨论】:

    【解决方案2】:

    这是 Apple 文档中的示例代码: http://developer.apple.com/library/ios/#samplecode/PhotoPicker/Introduction/Intro.html 还有自定义相机界面的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-17
      • 2011-10-11
      • 2016-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多