Ios 具有非恒定帧速率的AVAssetWriter
我正在尝试将一系列JPG图像导出到H264电影中(理想情况下是一部运动JPEG电影,但不幸的是outIos 具有非恒定帧速率的AVAssetWriter,ios,avassetwriter,Ios,Avassetwriter,我正在尝试将一系列JPG图像导出到H264电影中(理想情况下是一部运动JPEG电影,但不幸的是outAVAssetWriter不支持此编解码器) 这些图像带有一个带有VFR(可变帧速率)的监控摄像头,因此我根据拍摄的时间计算CMTime,这是由于VFR摄像头的工作方式导致的非恒定帧速率 当我这样做时,AVAssetWriter总是无法渲染电影: Error Domain=AVFoundationErrorDomain code=-11800“操作无法完成”UserInfo={NSLocalize
AVAssetWriter
不支持此编解码器)
这些图像带有一个带有VFR(可变帧速率)的监控摄像头,因此我根据拍摄的时间计算CMTime
,这是由于VFR摄像头的工作方式导致的非恒定帧速率
当我这样做时,AVAssetWriter
总是无法渲染电影:
Error Domain=AVFoundationErrorDomain code=-11800“操作无法完成”UserInfo={NSLocalizedFailureReason=发生未知错误(-16364),NSLocalizedDescription=操作无法完成,NSUnderlyingError=0x604000245a90{Error Domain=nsossStatUserRorDomain code=-16364(null)}
当我将CMTime
实例更改为例如CMMakeTime(frameIndex*150600)
时,它会起作用
你知道我如何解决这个问题吗?-16364是无效时间代码的代码。结果是,我为我写的最后一幅图像计算了一个错误的
CMTime
,这使得时间倒退了AVAssetWriter
不喜欢这样,这是正确的
感谢中的bford帮助我解决了这个问题。如果苹果真的记录了这些错误代码,而不是依赖bford,那就更好了。