【问题标题】:Capture Photo in RosyWriter在 RosyWriter 中拍摄照片
【发布时间】:2017-07-29 22:00:38
【问题描述】:

我发现 Apple 创建的 RosyWriter 示例 非常有用,它允许您从 this link. 捕获通过 GLSL 层的视频

我想扩展一点,让我不仅可以捕捉视频,还可以捕捉照片。使用相同的捕获会话、相同的视频设置、相同的分辨率等(基本上只是将单帧视频捕获到图像中)

它应该是直截了当的,但我似乎找不到我需要从哪里获取缓冲区并保存到 Photolibrary。

据我了解,我可以使用委托:

- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection "

但我没有成功。 谁能指出我正确的方向?

【问题讨论】:

  • 是什么阻止您通过运行搜索为自己指明正确的方向? Stack Overflow 不是一个为我运行搜索服务的网站。
  • 我在这里花了好几个小时试图找到答案。最接近的是:stackoverflow.com/questions/22928350/…,但 RosyWriter 不会对相机输出进行操作,而是对从 GLSL 着色器返回的缓冲区进行操作。这就是让我偏离正轨的原因。

标签: objective-c iphone camera ios10 avcapturesession


【解决方案1】:

我找到了解决办法。

我必须使用 renderedPixelBuffer

,而不是使用包含来自相机的未修改样本的 sampleBuffer

问题在于,虽然 sampleBufferCMSampleBufferRef,但 renderedPixelBufferCVPixelBufferRef

使用 CMSampleBufferCreateForImageBuffer 我转换得到了一个可以用来保存为图像的 Samplebuffer。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-30
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多