iPhone XR / XS:AVASsetExportSession状态失败,错误为

时间:2019-03-13 14:27:08

标签: avfoundation decode avassetexportsession iphone-xs iphone-xr

我正在使用AVAssetExportSession导出由Adobe Premiere CC编辑的视频, 这是特定于iPhone XR / XS的,我的exportSession.status失败并显示错误:

Error Domain = AVFoundationErrorDomain代码= -11821“无法解码” UserInfo = {NSLocalizedFailureReason =媒体数据无法解码。它可能已损坏。,NSLocalizedDescription =无法解码,NSUnderlyingError = 0x28338c4e0 {Error Domain = NSOSStatusErrorDomain Code = -16977“(null)”}}

视频可以在本机iPhone Player上很好地播放。在其他设备(iPhone X,6、7、8)上,没有导出错误问题

2 个答案:

答案 0 :(得分:0)

我遇到类似的问题。但是我的视频是从网上下载的。

在我的代码中,我将质量设置“ presetName:”从“ AVAssetExportPresetMediumQuality”更改为“ AVAssetExportPresetPassthrough”。

希望这会有所帮助。

答案 1 :(得分:0)

我遇到了相同的问题,硬件和软件(iPhone XS(和iPad Pro 11英寸)/ Adob​​e Premier导出的视频)的组合完全相同。

虽然不多,但是在测试可能的解决方案时,我发现AVAssetExportSession到了视频的最后,编码就遇到了麻烦。

因此,例如,如果我将导出时间范围缩短了4帧(或24 fps时为〜0.17秒),则视频将毫无问题地导出。在某些情况下,缩短3帧似乎可行,但并不可靠。缩短2-不起作用。

这是一个糟糕的解决方案,但我还没有发现更好的方法。