在录制的video上合成基于帧的animation贴纸的最佳方法是什么?
我们希望允许用户将animation“贴纸”放在他们在应用程序中录制的video中,并考虑采用不同的方法来组合这些贴纸。
-
使用
AVAssetWriter
从基于帧的animation贴纸(可以旋转,并应用翻译)创buildAVAssetWriter
。 问题是AVAssetWriter
只写入一个文件,并不保持透明度。 这将阻止我们能够使用AVMutableComposition
对video进行AVMutableComposition
。 -
提前创build
.mov
文件用于我们的基于框架的贴纸,并使用AVMutableComposition
和带有transformations
layer
指令进行AVMutableComposition
。 这个问题是没有工具可以轻松地将我们的PNG
帧转换为.mov
同时保持一个alpha通道,我们必须写我们自己的。 -
为贴图animation中的每个帧创build单独的
CALayers
。 这可能会在video的每帧速率上创build大量的图层。
还是有更好的点子?
谢谢。
我build议你看看我在这个特定主题的博客文章 。 基本上,这个例子展示了RGBAvideo数据如何从附加到应用程序资源的文件中加载。 这是从包含桌面上的animationRGBA数据的.mov导入的。 由于普通H.264不能直接支持Alpha通道,因此需要进行转换步骤才能将数据从桌面传输到iOS。 请注意,较旧的硬件在解码H.264用户录制的video时可能会遇到问题,然后又会出现另一个问题,所以这种使用CPU而不是H.264硬件的方法实际上更好。