У меня есть список из np.array. Мне нужно собрать из этого видео и получать на выходе bytes. Вот мой вариант реализации:
def convert_arrays_to_video(array_list: list[np.array]):
video = io.BytesIO()
writer = imageio.get_writer(video, format='mp4', fps=30)
for array in array_list:
colored_array = np.uint8(cv2.cvtColor(array.plot(), cv2.COLOR_BGR2RGB))
writer.append_data(imageio.imread(colored_array))
video_bytes = video.read()
with open('result.mp4', 'wb') as f: # временно, для теста
f.write(video_bytes)
return video_bytes
К сожалению, я получаю ошибку, указываю на imageio.imread(colored_array):
OSError: Cannot understand given URI: array([[[ 49, 46, 27],
[ 59, 59, 40],
....
Оказывается, imread читает только файлы. Что, тогда, загружать в append_data?