AVAssetExportSession失败,错误代码11821(无法解码)

时间:2018-07-03 21:07:12

标签: ios xcode avassetexportsession

我正在使用AVAssetExportSession导出视频作品。

当我仅使用AVVideoPlayer播放时,构图运行良好,并且导出可以处理一定数量的缝合在一起的视频。在播放35分钟的视频时(大约5分钟的长度为7个视频),我大概失败了。

导出会话快要结束了,然后由于以下错误而失败:

Export failed: Error Domain=AVFoundationErrorDomain Code=-11821 "Cannot Decode" UserInfo={NSLocalizedFailureReason=The media data could not be decoded. It may be damaged., NSLocalizedDescription=Cannot Decode, NSUnderlyingError=0x1c46507d0 {Error Domain=NSOSStatusErrorDomain Code=-16977 "(null)"}}

这不是真的,因为我使用相同的视频进行了测试(因此,所有视频的长度均相等)。

根据该线程(Error Domain=AVFoundationErrorDomain Code=-11821 "Cannot Decode"),它可能与CMTimeAdd函数有关,但据我所知,应该没问题。

尽管如此,我还是在视频之间插入标题:

[compositionVideoTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero,CMTimeMakeWithSeconds(5, 600)) ofTrack:eTrack atTime:partZeroTime error:&errVideo];  // Add video
[compositionAudioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero,CMTimeMakeWithSeconds(5, 600)) ofTrack:eAudio atTime:partZeroTime error:&errAudio];  // Add audio

也许是罪魁祸首?我不知道这有什么问题,因为它适用于较小的作品。此计算中是否存在随着时间推移而加总的错误?

我也遵循了这个线程(AVAssetExport fails "cannot decode"),实际上我是在循环中实例化多个AVMutableCompositionTracks。我已更正此错误,但仍然收到错误。

还有其他想法吗?

0 个答案:

没有答案