iPhone XR/XS: AVAssetExportSession status failed with error

使用 FFmpegiPhone XS 上合成视频时,在该机型上打开时画面为黑屏。声音正常播放。对该文件进行压缩时,出现了如下错误:

Printing description of error:
Error Domain=AVFoundationErrorDomain
Code=-11821 "无法解码"
UserInfo={
NSLocalizedFailureReason=媒体数据无法被解码,可能已损坏。
NSLocalizedDescription=无法解码
NSUnderlyingError=0x2827c8390 {
        Error Domain=NSOSStatusErrorDomain Code=-16977 "(null)"
    }
}

在其他机型上(iPhone 6、7、8)包括 Macbook Pro 上都正常。

阅读 5k
1 个回答

原来是 level 参数配置的问题。在合成视频时,原本的配置是:

AVCodecContext *avctx = nullptr;
// do something //
av_opt_set(avctx->priv_data, "level", "4.1", 0);

目前的解决方案是,暂时把这行配置去掉。

// 删除掉这行
av_opt_set(avctx->priv_data, "level", "4.1", 0);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题