我的应用程序与来自iPhone 6/Plus摄像头的240个fps视频一起工作,将多个覆盖的AVMutableCompositionTracks组合成一个组合输出。无论是在应用程序中查看和导出,都可以呈现为30 fps或在原始fps。
对于在8.0.2或之前拍摄的视频,在原始fps上导出没有任何问题,并且基本上保持原始文件的所有特性(覆盖除外)。对于在8.1上拍摄的视频,有大约50%的可能性会导致组合文件被破坏并无法导出,或者当在应用程序中回放时,在播放(而音频持续播放了一段时间)之后,最终停止使用AVFoundationErrorCode -11819,即"AVErrorMediaServicesWereReset“。
如果frameDuration被设置为1/30,1/60,甚至1/200,或者有时高达1/220左右的240个(井239.84.)fps文件,没有问题的回放或导出。导出似乎也比回放更宽容一些,有时甚至在回放失败时也会通过。
我注意到了其他8.1应用程序的变化,例如MoviePro现在记录在240 fps时为207到209 fps,有时设置为60时为59 fps,而苹果的SloPoke示例也是可变的,通常记录在235-236之间。不过,苹果的相机应用程序仍然是239.84。
有谁知道发生了什么变化以及如何绕过它吗?显然是关于fps可变性的,但是我该如何处理呢?还是简单地说是个窃听器?
发布于 2014-11-05 22:14:44
似乎是AVPlayer和AVExportSession中的一个bug。使用AVAssetWriter没有问题的导出。
苹果新更新的示例项目AVCustomEdit在剪辑之间的转换中使用了一个自定义的OpenGL排序器,该项目在修改iOS 8.1 240 fps视频并在近240帧的框架上回放时显示了同样的问题。
真不敢相信,我花了大约30个小时,试图找出什么是错误的时候,回避它是如此容易。
发布于 2014-11-06 14:50:03
我注意到其他应用程序的变化,例如8.1,MoviePro现在记录在207-209 fps当设置为240 fps时。
这是MoviePro应用程序中的一个bug,在即将发布的更新中得到了修复。在iOS 8.1上,新的更新等待提交记录非常接近240 fps,以所有比特率计算。
https://stackoverflow.com/questions/26763944
复制相似问题