我正在使用AVAssetWriter将一系列图像编码为电影文件,遵循Zoul的回答:How do I export UIImage array as a movie?。
简而言之,我的过程是:
这在大多数情况下都能正常工作,但有时编码的.mov文件会失真(参见下图)。我想知道这种类型的失真图像输出是否为任何人所熟悉,如果有任何步骤我可能会采用编码导致这种情况的帧。当我使用的源图像是通过Titanium到ImageView.toBlob()的调用生成时,会出现问题。除了Titanium方面,任何关于如何出现这种结果的提示都会很棒!
谢谢, 亚历山大
电影屏幕: http://tinypic.com/view.php?pic=8wkqys&s=7
原始图片:http://commons.wikimedia.org/wiki/File:Phalaenopsis_(aka).jpg
答案 0 :(得分:6)
答案 1 :(得分:4)
好吧,这是一个问题,我正在阅读的图像的宽高比与我正在创建的PixelBuffer的宽高比不同。使它们相等,它工作正常。
答案 2 :(得分:1)
旧线程但答案不同,我没有乘以一个数字,而是使用CVPixelBufferGetBytesPerRow获取CGBitmapContextCreate每行的实际字节数,并修复了变形,使高度/宽度保持不变