我试图将一系列JPG图像导出到H264电影中(理想情况下它会是一部动画JPEG电影,但遗憾的是AVAssetWriter
不支持此编解码器。)
图像附带VFR(可变帧率)的监控摄像头,因此我根据捕获的时间计算CMTime
,由于VFR摄像头的工作方式,导致非恒定帧速率。
但是当我这样做时,AVAssetWriter
总是无法呈现电影:
Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo={NSLocalizedFailureReason=An unknown error occurred (-16364), NSLocalizedDescription=The operation could not be completed, NSUnderlyingError=0x604000245a90 {Error Domain=NSOSStatusErrorDomain Code=-16364 "(null)"}}
当我将CMTime
个实例更改为例如CMMakeTime( frameIndex * 150, 600 )
它有效。
我知道如何解决这个问题吗?
答案 0 :(得分:0)
-16364是无效时间码的代码。结果我为我写的最后一个图像计算了一个错误的CMTime
,这使得时间向后。 AVAssetWriter
不喜欢这样 - 这是正确的。
感谢Apple Developer Forum帮助我解决这个问题的bford。