我正在做一个项目,我想知道是否有可能确定一段视频是不是回飞棒视频。回飞棒视频一般长约4秒或略短。
到目前为止,我想要做的就是过滤我从用户摄像头接收到的数组,以便只显示4秒的视频,但是有没有更好的方法呢?
任何指点或建议都将非常感谢。
发布于 2018-10-02 17:34:54
这不是一个确切的答案,而是如何处理这一问题的一种视角。
据我所知,Boomerang的工作原理是拍摄一组超短、超快的照片,并将它们拼接成一个小视频,然后向前、向后、向前和向后播放。因此,这意味着视频的第一帧有机会再次出现。因此,我建议将视频的每一帧转换为UIImages数组。然后获取该数组的第一个图像,并确定该图像是否存在于该数组的其余部分中。
要将视频转换为图像阵列,您可以参考Swift 4.2的更新作为此答案的一部分:- https://stackoverflow.com/a/45153948/4637057
从中你将得到frames,它是一个UIImages数组。现在,通过使用frames.remove(at: 0)
从另一个数组中取出第一个图像来创建另一个数组。但在此之前创建image1,也就是frames[0]
。然后循环遍历这个新数组,将每个图像视为image2,并应用此逻辑来确定第一帧是否重复:- https://stackoverflow.com/a/6488838/4637057
发布于 2018-10-02 19:09:21
这里我能给你的唯一帮助就是引用PHAsset
对象的playbackStyle
,如果你在使用Photos.framework的话。有关详细信息,请参阅PhotoKit documentation here
https://stackoverflow.com/questions/52605240
复制相似问题