我知道这个问题之前被问过(例如 here 和 here ),但我就是不知道我做错了什么。
我有一个 AVMutableComposition
,我用它来将一些视频剪辑与一些在其上进行动画处理的 CALayer
组合起来。
当我将 AVMutableComposition
与 AVSynchronizedLayer
组合起来在 AVPlayerLayer
内播放时,一切正常。视频正确显示,所有内容都位于应有的位置。
我的问题是,当我尝试导出这个东西时,我尝试使用 AVVideoCompositionCoreAnimationTool
而不是 AVSynchronizedLayer
(这就是文档所说的我们应该用于导出的内容)和 AVAssetExportSession ,但是出了问题,因为在我导出的影片中,每个 CALayer 的坐标系都颠倒了。
因此,如果在播放期间 0,0 点位于屏幕的左上角,那么当我导出影片时,0,0 点位于左下角 角落,因此我的动画变得疯狂。
我阅读了任何有关此问题的文章,并且还从 Apple 下载了 AVVideoEdit 示例,但我只是看不到发生了什么......
最佳答案
对于那些和我有同样问题的人,我终于找到了答案。每个CALayer
都有一个名为geometryFlipped
的属性,您需要在导出之前将其设置为YES
,一切都会正常。更多信息here .
关于iphone - 如何使用 AVAssetExportSession 在 AVMutableComposition 之上正确导出 CALayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6749216/