python - 使用python将视频创建到缓冲区

标签 python opencv video

我有几张从视频中截取的图片。现在,我想将图像转换为视频。但是我不想将这个视频保存在我的磁盘上,我只想将它保存到缓冲区(例如: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文件。但是如何将它写入缓冲区而不是文件呢?使用开放式简历?

谢谢。

最佳答案

PyAV Documentation指定,你需要从数据包中调用解码,即使得到编码数据

数据包() 流中的编码数据包。

这可能包括也可能不包括流中的完整对象。 必须调用 decode() 来提取编码数据。

关于python - 使用python将视频创建到缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28759957/

相关文章:

android - 当方向从纵向变为横向时,Android 中的视频从头开始播放?

java - 从java程序中的FFMpeg中的图像到视频

ios - ionic 嵌入式 YouTube 视频在 iOS 上停止播放

python - 比较 Python 中两个列表的每一项

python - 无法从 pyspark RDD 的映射方法访问类方法

c++ - OpenCV-C++ VideoCapture 无法打开视频文件

python - 分离图像中的相似对象 - opencv python

opencv - 如何使用 float 作为opencv图像像素坐标

python - 摘要用户django迁移错误

python - Python 线程定时器如何在内部工作?