如何创建像照片应用程序的定时视频?

时间:2016-01-21 17:07:13

标签: ios photo video-capture cmsamplebufferref timelapse

我正在寻找一种在运行iOS 9的iPhone上创建长时间推移视频的方法,并希望得到一些关于如何启动的指示。理想情况下,我会将1小时的素材压缩成1分钟,因此缩放系数为60.我从60帧中取出一帧并将它们拼接在一起,对吗?

我有一个使用AVFoundation使用captureOutput:idOutputSampleBuffer:fromConnection:

捕获图像的项目

然而,我不确定是否有更好的方法来创建数小时的时间间隔

  • 拍摄单张照片并将它们拼接在一起是否合理(每隔几秒激活一次相机)?
  • 或者只是从CMSampleBufferRef中取出框架?
  • 我是否可以使用其他API捕获相机图像?

    我希望了解哪种方法可以带来最高的质量和电池寿命。

I'm looking at this question which appears to have code for stitching images,但我不确定我的项目是否需要其他任何内容。

2 个答案:

答案 0 :(得分:1)

实现 timelapse 的一种方法是,您可以使用AVCaptureVideoDataOutput从示例缓冲区中获取图像,而不是使用AVCapturePhotoOutput处理视频帧。

然后将计时器设置为每秒左右捕获sampleBuffer,最后将帧与AVAssetWriter拼接在一起以获得视频。

Checkout Apple的StopNGo示例应用。

答案 1 :(得分:0)

如果您考虑dslr如何捕获它,那么您将掌握它。

相机基本上每n秒就会点击1张图片。

假设您将值设置为60。这将导致每分钟单击1次。您将相机放置8小时-> 480分钟-> 480张照片。

现在是时候将这些框架缝合在一起了。假设您以10 fps的速度添加它们,这意味着1秒钟内可以显示10张图片。这将导致48秒的总镜头。我为此写了一小段。如果需要,我可以提供链接。