我正在尝试使用openCV VideoWriter类从numpy数组生成视频。我正在使用以下代码:
import numpy as np
import cv2
size = 720*16//9, 720
duration = 2
fps = 25
out = cv2.VideoWriter('output.avi', cv2.VideoWriter_fourcc(*'X264'), fps, size)
for _ in range(fps * duration):
data = np.random.randint(0, 256, size, dtype='uint8')
out.write(data)
out.release()
看起来编解码器已经安装好了,因为ffmpeg可以将视频转换成x264编解码格式并且libx264也已经安装。代码运行时没有警告,但是生成的视频似乎没有数据,因为我总是在尝试使用mpv播放它们时收到以下消息:
[ffmpeg/demuxer] avi: Could not find codec parameters for stream 0 (Video: h264 (X264 / 0x34363258), none, 1280x720): unspecified pixel format
这个问题可能的原因是什么?