Я пытаюсь получить изображения из видеопотока, используя ffmpeg в python, и мне нужны необработанные байты для дальнейших действий. Я пытаюсь сохранить необработанные байты в файле изображения, поэтому, если мой файл открывается, я могу подтвердить, что полученные необработанные байты верны.
import subprocess as sp
def getImages(self):
cmd = ['ffmpeg',
'-ss', 2,
'-i', url,
'-t', 2,
'-f', 'image2pipe',
'-s', '420x360',
'-pix_fmt', 'rgb24',
'-vcodec', 'rawvideo',
'-vf', 'fps=fps=1', '-']
pipe = sp.Popen(cmd, stdout = sp.PIPE, bufsize=10**8)
raw = pipe.stdout.read(420*360)
file = open('image.jpg','wb')
file.write(raw)
Я вижу файл image.jpg, но не могу его открыть. Что-то не так я здесь делаю? Размер изображения составляет 420 * 360 байт, поэтому я предполагаю, что первые 420 * 360 байт принадлежат первому кадру.
Заранее спасибо!