swift - AVAssetExport 失败 "cannot decode"

标签 swift xcode video avfoundation

您好,我遇到了 AVAssetEXport 的问题。我正在尝试一个接一个地合并多个视频,比方说 20 - 30,将每个 Assets 添加为带有 insertTimeFrame 的 VideoMutableCompositon 轨道:

|视频1|视频2| ... |视频i| ... |视频N|

如果我导出超过 15 - 16 个视频,我会收到以下错误:

失败:错误域=AVFoundationErrorDomain 代码=-11839“无法解码”UserInfo={NSLocalizedDescription=无法解码,NSUnderlyingError=0x1c8044620 {错误域=NSOSStatusErrorDomain 代码=-12913“(空)”},NSLocalizedRecoverySuggestion=停止任何其他操作解码媒体并重试。, NSLocalizedFailureReason=该媒体所需的解码器正忙。

我确定这不是 RAM 问题,因为我使用的是 iphone8 plus,而且 xcode 显示 RAM 事件较低。 如果我将视频数量减少到 5 - 8 个,一切都会很好......

添加视频轨道有限制吗? 谁能帮助我实现这个目标?

最佳答案

终于找到原因了,是我的错! 问题是我在 AVMutableCompositionTrack 中循环。 所以每个视频都在不同的轨道上,这可能导致资源不足。 现在我只创建了 2 个音轨:1 个用于视频,1 个用于音频。 我所有的视频都按时间范围拼接。

谢谢大家!!!!

关于swift - AVAssetExport 失败 "cannot decode",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46800220/

相关文章:

swift - 是否有一个快速数据结构可以包含一个可以是任何类型并且可以切换的rawValue

ios - 如何使表格 View 的单元格选择基于步进器值,而不是 swift 3 中单元格的物理选择?

javascript - 一些网站不接受将 javascript 注入(inject)到 webview 中

Xcode 运行后 iPhone 模拟器崩溃

android - 我如何修改这个 ffmpeg 构建脚本以获得最小的二进制大小输出

swift - 如何从 SKScene 中访问导航栏?

iphone - iOS 5.1 的 xcode 4.3 安装

video - 使用 JW Player 时 .flv 播放损坏

android - 我的 Android MediaPlayer 同步问题

objective-c - 如何使用语法高亮将 Objective C 代码放入 Word (Office)