не удалось открыть изображение, сгенерированное ffmpeg - PullRequest
0 голосов
/ 27 апреля 2018

Я пытаюсь получить изображения из видеопотока, используя 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 байт принадлежат первому кадру.

Заранее спасибо!

...