我有一些视频拍摄的图像。现在,我想将图像转换为视频。但是我不想将这个视频保存在我的磁盘上,我只想将它保存到缓冲区(例如: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?
感谢。
答案 0 :(得分:1)
PyAV Documentation指定那个,你需要从数据包调用解码,甚至来获取编码数据
分组() Stream中的一组编码数据。
这可能包含或可能不包含流中的完整对象。 必须调用decode()来提取编码数据。