我想将pyqtgraph导出到视频中。有没有简单的方法来做到这一点?该示例与此示例没有太大区别,除了它包含大约10000帧:
from pyqtgraph.Qt import QtGui, QtCore
import numpy as np
import pyqtgraph as pg
app = QtGui.QApplication([])
win = pg.GraphicsWindow(title="Basic plotting examples")
win.resize(1000,600)
pg.setConfigOptions(antialias=True)
p6 = win.addPlot(title="0")
curve = p6.plot(pen='y')
data = np.random.normal(size=(10,1000))
ptr = 0
def update():
global curve, data, ptr, p6
data_ptr = ptr%10
p6.setTitle("%d" % data_ptr)
curve.setData(data[data_ptr])
if ptr == 0:
p6.enableAutoRange('xy', False)
ptr += 1
timer = QtCore.QTimer()
timer.timeout.connect(update)
timer.start(50)
答案 0 :(得分:1)
每一帧都只是一张图片。因此,您可以使用imageexporter为每个帧生成图像。导出函数的Observable
参数将在内存中返回toBytes
文件,但您也可以对它们进行编号并将它们保存在临时目录中。
然后你可以使用ffmpeg对它们进行排序。
如果您使用导出到单独文件选项,则可以使用ffmpeg命令行,如下所示: How to create a video from images with FFmpeg?
但是,如果你将所有帧都存储在内存中,那么可以使用ffmpeg python绑定,尽管我没有这方面的例子。