用FFMPEG&Python编码视频时的绿色条纹伪影

2024-09-28 19:35:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用FFMPEG(版本2.3.3)和Python编码(VP8编解码器)并编写一个视频。然而,当我完成视频编码后,我得到了这些对角线绿色条纹的伪影,我找不到原因。在

我在内存中以numpy-ndarrays的形式有一系列帧,我使用一种方法综合生成这些帧以用于测试:

def _generate_test_images(self, samples=50):
    '''
    Creates an image array gradually changing from black to white
    '''
    pixelValues = np.linspace(0, 255, samples)

    imageList = [np.full((100, 100, 3), pixelValue, dtype=np.uint8)
                 for pixelValue in pixelValues]

    return np.array(imageList)

然后我使用Python子进程模块打开到FFMPEG的管道并写入图像数据。我试过用标准写入但两者都产生了绿色条纹问题。下面是我如何与FFMPEG交互:

^{pr2}$

但是,当我的视频完成编码后,我看到的是:

Image with green stripe artifacts

是什么造成的?在


Tags: 版本编码视频编解码器nparrayffmpeg条纹