当我使用AVAssetWriter使用图像写电影时,第一帧显示为绿色

时间:2012-12-28 06:25:40

标签: objective-c ios5 ios4 avfoundation

我正在使用UIImages写一个视频。我可以成功写电影。 问题是,当我播放视频时,它首先显示几帧为绿色。  你们中的任何人都可以帮助我吗?我是ios的新手。 谢谢

1 个答案:

答案 0 :(得分:2)

我认为您视频的fps(每秒帧数)会很低。在这种情况下,我认为你不需要调用CVPixelBufferPoolCreatePixelBuffer。此调用显示第一个空帧,并显示基本绿色屏幕。

for(UIImage * img in imageArray)
    {
        buffer = [self pixelBufferFromCGImage:[img CGImage] andSize:size];

        if( frameCount == 0 ) {
          // Please comment out the following line
          //  CVPixelBufferPoolCreatePixelBuffer (NULL, adaptor.pixelBufferPool, &buffer);
        }

        BOOL append_ok = NO;
        int j = 0;
        while (!append_ok && j < 30)
        {
            if (adaptor.assetWriterInput.readyForMoreMediaData)
            {