我正在研究一个项目,我想知道是否有可能确定视频是否是飞旋镖视频。回旋镖视频通常长约4秒或略短。
到目前为止,我一直在考虑对从用户相机胶卷接收到的数组进行过滤,以仅显示4秒的视频,但是还有更好的方法吗?
任何指针或建议将不胜感激。
答案 0 :(得分:3)
这不是一个确切的答案,而是一种解决方法的观点。
根据我的理解,回旋镖的工作原理是拍摄一张超短,超快的照片,并将它们拼接成一个微型视频,向前,向后,向前和向后播放。因此,这意味着视频的第一帧有可能再次出现。因此,我建议将视频的每个帧转换为UIImages数组。然后获取该阵列的第一张图像,并找出该图像是否存在于其余阵列中。
要将视频制作成图像阵列,您可以参考 Swift 4.2更新:此答案的一部分:-https://stackoverflow.com/a/45153948/4637057
从中您将获得框架,它是UIImage的数组。现在,通过使用frames.remove(at: 0)
从该数组中取出第一张图像来创建另一个数组。但在此之前,创建 image1 ,即frames[0]
。然后遍历这个新数组,将每个图像视为 image2 并应用此逻辑以确定第一帧是否重复:-https://stackoverflow.com/a/6488838/4637057
答案 1 :(得分:3)
如果您使用的是Photos.framework,那么我在这里只能为您提供playbackStyle
对象的PHAsset
的帮助。可以在PhotoKit文档here