【问题标题】:iPhone XR/XS: AVAssetExportSession status failed with erroriPhone XR/XS:AVAssetExportSession 状态失败并出现错误
【发布时间】:2019-03-13 14:27:07
【问题描述】:

我正在使用 AVAssetExportSession 重新导出由 Adob​​e 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)上没有导出错误问题

【问题讨论】:

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


    【解决方案1】:

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

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

    希望这会有所帮助。

    【讨论】:

    • 谢谢,这个presetName已经通过了,但是我必须添加视频层指令,所以我不能使用presetName AVAssetExportPresetPassthrough
    【解决方案2】:

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

    这并不多,但在测试可能的解决方案期间,我发现 AVAssetExportSession 在视频的最后出现编码问题。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-24
      • 2012-09-24
      • 1970-01-01
      • 2015-05-13
      • 2011-06-10
      • 1970-01-01
      • 2017-04-21
      相关资源
      最近更新 更多