首页 > 解决方案 > 无法打开 ffmpeg 生成的图像

问题描述

我正在尝试在 python 中使用 ffmpeg 从视频流中获取图像,我需要原始字节来做进一步的事情。我正在尝试将原始字节存储在图像文件中,因此如果我的文件打开,那么我可以确认我得到的原始字节是正确的。

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 字节属于第一帧。

提前致谢!

标签: pythonpython-3.ximageffmpegvideo-streaming

解决方案


推荐阅读