作为一个介绍和背景,我目前是一个新手iOS应用程序开发人员,我想确保我不会像我做这个应用程序那样对轮子进行太多的改造(重新发明轮子可能会变得非常昂贵)。
该应用程序将允许用户下载我们的视频从互联网上,并将允许存储离线使用。将这些视频存储在设备上的问题是,其中许多视频会太长,因此太大,无法存储。
然而,视频很简单,在开头和结尾都有几个简短的“真实”视频片段,大部分视频仍然是围绕着屏幕的动画。动画将完全由不透明度和简单的转换关键帧(平移、缩放、围绕静态锚点旋转)组成,并需要为每个过渡提供各种简化功能。
最困难的部分可能是,“视频”播放器也必须能够跟踪一个音频播放器的时间码,并将不得不支持寻求任何任意点,如一个正常的视频播放器。
现在,我已经描述了这个问题,下面是我想出的解决方案。希望这样做将减少XY问题的可能性。:)
这个想法基本上是对最终剪辑和其他编辑程序所做的动画做一个简陋的版本--有一堆剪辑,有时是重叠的,并且能够用关键帧来动画每个画面的位置、比例、旋转和不透明度。
就实现而言,我的第一本能是使用iOS的一些游戏引擎来做动画(也许是SceneKit,因为它似乎允许动画使用场景时间,而不是实时,尽管它主要是3d的,我正在做2d动画),手动处理与音频播放器同步的时间,以及在寻找视频和剪辑开始/结束时手动处理从场景中添加和删除节点的操作。
什么是内置的系统,插件等,我可以利用它来使这个更容易和更快的开发和维护?如果我不需要用手将动画转换成某种自定义格式的话,可以使用双点。
发布于 2017-10-03 16:02:02
正如我在评论中提到的,您的问题相当宽泛,其中包含多个问题,我将讨论您提到的可能是最困难的部分:https://developer.apple.com/documentation/avfoundation/avplayeritem https://developer.apple.com/documentation/avfoundation/avasset。
而不是SceneKit,来看看SpriteKit及其SKVideoNode。
此外,研究金属视频处理。这里有一些可用的示例项目,您可以使用它作为起点。
https://stackoverflow.com/questions/46536820
复制相似问题