AVAssetWriter未知错误

Iva*_*lek 12 objective-c avfoundation ipad ios

我试图用图像创建视频AVAssetWriter.实现的代码大部分时间都可以正常工作,但是在随机的时刻,编写器存在问题

AVAssetWriter *videoWriter;
...
[videoWriter finishWriting];
NSLog(@"videoWriter error %@",videoWriter.error);
Run Code Online (Sandbox Code Playgroud)

收到的错误是:

Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" 
UserInfo=0x1f839cd0 {NSLocalizedDescription=The operation could not be completed,
 NSUnderlyingError=0x1e59efb0 "The operation couldn’t be completed. (OSStatus error -12633.)", 
NSLocalizedFailureReason=An unknown error occurred (-12633)}
Run Code Online (Sandbox Code Playgroud)

写图像:

-(void)writeFrame:(WriteableFrame*)wF
{
    if([writerInput isReadyForMoreMediaData])
    {
        CMTime presentTime = CMTimeMake(wF.frameTime, 1000);
        CGImageRef tmpImgRef = [wF.currentImage CGImage];
        buffer = [self pixelBufferFromCGImage:tmpImgRef];
        if(buffer)
        {
            [adaptor appendPixelBuffer:buffer withPresentationTime:presentTime];
            CVPixelBufferRelease(buffer);
        }
    }
    else
    {
        NSLog(@"error");
    }
}
Run Code Online (Sandbox Code Playgroud)

有人有这样的问题吗?

Iva*_*lek 22

我发现了问题,它在相同的帧时间放置了两个帧.

  • 我想我遇到了同样的问题.这确实有帮助!如果只有错误更具体......我正在使用`finishWritingWithCompletionHandler`并发现在这种情况下完成处理程序甚至没有执行,这使得调试更加困难. (3认同)
  • 你能详细说说吗?我收到此错误,无法弄明白.很沮丧. (2认同)

smd*_*lpr 9

直接来自DTS

错误-12633是InvalidTimestamp

  • 哈哈哈哈,我讨厌苹果文件.您必须联系支持人员以了解错误代码的含义.我们需要有人从Apple开始整个文档部门. (6认同)