答案 0 :(得分:43)
经过大量不同图像尺寸的实验,并借助此article,我得出的结论是图像的宽度必须是16的倍数。
答案 1 :(得分:2)
我也遇到过这个问题,我发现原因是图片的大小不是16的倍数,你可以改变大小并尝试一下。
答案 2 :(得分:0)
对于那些仍在2020年仍在旅途中并且由于宽度不足16像素而导致电影失真的人
更改
CGContextRef context = CGBitmapContextCreate(pxdata,
width, height,
8, 4 * width,
rgbColorSpace,
kCGImageAlphaNoneSkipFirst);
到
CGContextRef context = CGBitmapContextCreate(pxdata,
width, height,
8, CVPixelBufferGetBytesPerRow(pxbuffer),
rgbColorSpace,
kCGImageAlphaNoneSkipFirst);
贷方@Bluedays Output from AVAssetWriter (UIImages written to video) distorted