我的应用程序使用iPhone 6 / Plus相机的240 fps视频,将多个重叠的AVMutableCompositionTracks组合成一个组合以便导出。在应用程序中查看和导出都可以渲染为30 fps或原始fps。
对于在8.0.2或之前拍摄的视频,没有任何问题以原始fps导出并基本上保留原始文件的所有特征(叠加除外)。对于8.1上拍摄的视频,在最终停止使用AVFoundationErrorCode之前,有大约50%的可能性,组合被破坏并无法导出,或者在应用程序内播放时冻结大约一秒进入播放(音频持续播放一段时间) - 11819," AVErrorMediaServicesWereReset"。
如果240D(井239.84 ...)fps文件的frameDuration设置为1 / 30,1 / 60,甚至是1/200或有时高达1/220左右,则播放或导出没有问题。出口似乎也比回放更宽容,有时甚至在播放失败时也会出现。
我注意到8.1的其他应用程序发生了变化,例如MoviePro当设置为240 fps时记录在207-209 fps左右,设置为60时有时记录为59,而Apple的SloPoke示例也变化较大,通常记录在235-236之间的各种值。 Apple的相机应用仍处于239.84。
有谁知道发生了什么变化以及如何解决这个问题?显然有关于fps可变性的事情,但我该如何处理呢?或者它可能只是一个错误?
答案 0 :(得分:1)
似乎是AVPlayer和AVExportSession中的错误。使用AVAssetWriter导出没有问题。
Apple新近更新的示例项目AVCustomEdit使用自定义OpenGL合成器进行剪辑之间的转换,在修改时采用iOS 8.1 240 fps视频演示同样的问题,并以240帧附近的帧速率播放。
不能相信我花了30个小时试图弄清楚什么是错误的,这很容易。
答案 1 :(得分:1)
我注意到8.1中的其他应用程序发生了变化,例如当设置为240 fps 时,MoviePro现在记录在207-209 fps左右
这是MoviePro应用中的一个错误,在即将发布的更新中已修复。在iOS 8.1上,新的更新暂挂提交在所有比特率下记录非常接近240 fps。