【发布时间】:2011-11-11 18:33:48
【问题描述】:
我正在使用 AVAssetWriter 将一系列图像编码为电影文件,遵循 Zoul 在此处的回答:How do I export UIImage array as a movie?。
简而言之,我的流程是:
- 从 .png 文件创建 UIImage
- 从 UIImage 中获取 CGImage
- 将 CGImage 转换为 CVPixelBuffer(完全使用 zoul 的函数 pixelBufferFromCGImage)
- 使用 AVAssetWriterInputPixelBufferAdaptor 和 AVAssetWriter 将帧写入 .mov
这在大多数情况下都可以正常工作,但有时编码的 .mov 文件会失真(见下图)。我想知道这种类型的失真图像输出是否为任何人所熟悉,以及在编码帧时是否有任何步骤会导致这种情况。当我使用的源图像是由 Titanium 中对 ImageView.toBlob() 的调用生成时,就会出现此问题。除了 Titanium 方面,任何关于这种结果如何出现的提示都会很棒!
谢谢, 亚历山大
电影画面: http://tinypic.com/view.php?pic=8wkqys&s=7
原图:http://commons.wikimedia.org/wiki/File:Phalaenopsis_(aka).jpg
【问题讨论】:
标签: ios uiimage titanium avfoundation