AVAssetExport失败“无法解码”

问题描述:

嗨我正面临着AVAssetEXport的问题。我试图结合了许多视频接连,让我们说20-30,添加每个资产作为VideoMutableCompositon与insertTimeFrame的轨道:AVAssetExport失败“无法解码”

| video1 | video2 | ... | videoi | ... | videoN |

如果我超过15 - 16个视频,我出口,我得到以下错误:

失败:错误域= AVFoundationErrorDomain代码= -11839 “不能解码” 的UserInfo = {NSLocalizedDescription =不能解码,NSUnderlyingError = 0x1c8044620 {Error Domain = NSOSStatusErrorDomain Code = -12913“(null)”},NSLocalizedRecoverySuggestion =停止解码媒体并再次尝试的任何其他操作。,NSLocalizedFailureReason =此媒体所需的解码器正忙。}

我确信这不是RAM问题,因为我使用iphone8 plus,而且xcode显示的RAM活动较少。 如果我减少的视频数量5 - 8一切都很正常......

是否有添加视频轨道有限制吗? 任何人都可以帮助我实现这个目标吗?

+0

当你说“合并”你的意思是叠加(即在彼此顶部的多个片段),或者你的意思是“缝” - 铺设剪辑首尾相接。 我已经成功地缝合剪辑的100的,但从来没有尝试过合并(覆盖)超过约5或6 –

+0

检查出[这个答案](https://*.com/a/45257875)。似乎有一个限制。 – jpetrichsr

+0

@TimBull谢谢你的回答。我试图做的是一个接一个地处理所有这N个视频,使用insertTimeRange和定义指令将它们添加为AVVideoCompositon的轨道。 |视频1 |视频2 | videoi | ... | videoN 如果N = 5 - 8一切都还好吧和AVAssetExport它的工作很好,但如果N增加,我可以看到一个奇怪的behivour因为exporter.progress上升和下降。如果N超过17-18,我甚至在尝试开始之前收到该错误... 关于原因的任何想法? 你能否澄清我正确的程序来实现这一目标? –

最后我发现原因,是我的坏! 问题是我正在通过AVMutableCompositionTrack循环。 因此,每个视频都在不同的轨道上,可能导致资源匮乏。 现在我只创建了2首曲目:1为视频,1为音频。 我所有的视频都是用时间范围缝合的。

谢谢你们!