iPhone XR/XS:AVAssetExportSession 状态失败并出现错误
Posted
技术标签:
【中文标题】iPhone XR/XS:AVAssetExportSession 状态失败并出现错误【英文标题】:iPhone XR/XS: AVAssetExportSession status failed with error 【发布时间】:2019-03-13 14:27:07 【问题描述】:我正在使用 AVAssetExportSession 重新导出由 Adobe Premiere CC 编辑的视频, 它特定于 iPhone XR/XS,我的 exportSession.status 失败并出现错误:
Error Domain=AVFoundationErrorDomain Code=-11821 “无法解码” UserInfo=NSLocalizedFailureReason=媒体数据无法解码。可能已损坏,NSLocalizedDescription=无法解码,NSUnderlyingError=0x28338c4e0 Error Domain=NSOSStatusErrorDomain Code=-16977 “(null)”
视频可以在原生 iPhone 播放器上正常播放。在其他设备(iPhone X、6、7、8)上没有导出错误问题
【问题讨论】:
【参考方案1】:我遇到了类似的问题。但是我的视频是从网上下载的。
在我的代码中,我将质量设置“presetName:”从“AVAssetExportPresetMediumQuality”更改为“AVAssetExportPresetPassthrough”。
希望这会有所帮助。
【讨论】:
谢谢,这个presetName已经通过了,但是我必须添加视频层指令,所以我不能使用presetName AVAssetExportPresetPassthrough【参考方案2】:我遇到了同样的问题,硬件和软件的组合完全相同(iPhone XS(和 iPad Pro 11'')/Adobe Premier 导出的视频)。
这并不多,但在测试可能的解决方案期间,我发现 AVAssetExportSession 在视频的最后出现编码问题。
因此,例如,如果我将导出时间范围缩短 4 帧(或 24 fps 上约 0.17 秒),那么视频将毫无问题地导出。在某些情况下,缩短 3 帧似乎有效,但并不可靠。缩短 2 - 不起作用。
这是一个糟糕的解决方案,但我还没有找到更好的解决方案。
【讨论】:
以上是关于iPhone XR/XS:AVAssetExportSession 状态失败并出现错误的主要内容,如果未能解决你的问题,请参考以下文章
iOS App Icon启动图尺寸配置适配iPhone XS XR XS Max等
为啥 iPhone XR、XS 和 XS Max 没有将环境图像应用到 ARKit 中的场景?