我正在寻找一种在运行iOS 9的iPhone上创建长时间延时视频的方法,并希望获得一些有关如何开始的指示。理想情况下,我会将 1 小时的素材压缩为 1 分钟,因此比例因子为 60。我从 60 帧中取出一帧并将它们缝合在一起,对吧?
我有一个使用 AVFoundation 捕获图像的项目,使用 captureOutput:idOutputSampleBuffer:fromConnection:
但是,我不确定是否有更好的方法来创建几个小时的延时摄影。
-
拍摄单张照片并将它们拼接在一起(每隔几秒钟激活一次相机)是否有意义?
-
或者只是从CMSampleBufferRef中取出帧?
-
是否有其他 API 可用于捕获相机图像?
我希望了解哪种方法可以带来最高的质量和电池寿命。
我正在研究这个问题,它似乎有用于拼接图像的代码,但我不确定我的项目是否需要其他任何东西。
完成延时摄影的一种方法是,而不是使用AVCaptureVideoDataOutput
来处理视频帧,您可以使用AVCapturePhotoOutput
从样本缓冲区获取图像。
然后将计时器设置为每秒左右捕获样本缓冲区,最后您将帧与AVAssetWriter
拼接在一起以获得视频。
查看Apple的StopNGo示例应用程序。
如果您考虑数码单反相机如何捕获它,您就会掌握它。
相机基本上每n秒点击1张图片。
假设您将值设置为 60。这将导致每分钟点击 1 次。您离开相机 8 小时 -> 480 分钟 -> 480 张照片。
现在是时候将这些框架拼接在一起了。假设您添加它们 10 fps ,这意味着 10 秒内 1 张照片。这将产生 48 秒的总素材。我为此写了一篇短文。如果需要,我可以提供链接。