我正在使用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
我正在使用AVAssetWriter将一系列图像编码为电影文件,遵循Zoul在这里的回答:如何将UIImage数组导出为电影?简而言之,我的过程是:从.png中创建UIImage ...
请看this link。它说宽度应该是16的倍数。
确定,这与我正在读取的图像的纵横比与我正在创建的PixelBuffer的纵横比不同时是一个问题。使它们相等,效果很好。
[旧线程但答案不同,我没有乘以一个数字,而是使用CVPixelBufferGetBytesPerRow来获取CGBitmapContextCreate每行的实际字节数,并且它固定了变形,高度/宽度相同