iphone - 如何使用 AVAssetExportSession 在 AVMutableComposition 之上正确导出 CALayer

标签 iphone core-animation avfoundation avmutablecomposition avassetexportsession

我知道这个问题之前被问过(例如 herehere ),但我就是不知道我做错了什么。

我有一个 AVMutableComposition,我用它来将一些视频剪辑与一些在其上进行动画处理的 CALayer 组合起来。

当我将 AVMutableCompositionAVSynchronizedLayer 组合起来在 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/

相关文章:

iphone - 核心动画从屏幕外到屏幕上的动画

ios - 覆盖 AVPlayerViewController 中的框架手势

ios - AVPlayer 失败后不会播放新的 AVPlayerItem

jquery - Hover CSS 上的 iPad/iPhone Touch 事件

iphone - 在 TableView / Collection View 中采用拖放功能在 iPhone 上不起作用

objective-c - 使用 CA 制作动画时圆形 slider 的怪异行为

ios - 如何将透视变换应用于 UIView?

iphone - iphone开发中如何解决内存分配问题?

iphone - UINavigationControllerWillShowViewControllerNotification 能否让我的应用程序被拒绝?

ios - 将 CIFilter 应用于 UIImagePickerController 提要