我有几个从视频中拍摄的图像 . 现在,我想将图像转换为视频 . 但是我不想将这个视频保存在我的磁盘上,我只想将它保存到缓冲区(例如:StringIO,BytesIO等) .
我试过PyAV写一个视频 .
output = av.open('test.mp4', 'w')
stream = output.add_stream('mpeg4', 30)
for image in images:
frame = av.VideoFrame.from_ndarray(image, format='rgb24')
packet = stream.encode(frame)
output.mux(packet)
output.close()
前面的代码可以生成test.mp4文件 . 但是如何将其写入缓冲区而不是文件?使用openCV?
谢谢 .
1 回答
PyAV Documentation指定那,您需要从数据包调用解码,甚至获取编码数据
Packet()Stream中的编码数据包 .
这可能包括或可能不包括流中的完整对象 . 必须调用decode()来提取编码数据 .