【发布时间】:2018-02-27 09:23:38
【问题描述】:
我正在尝试存储一个由 ffmpeg 生成的图像。
使用此命令,我将frame.png 作为外部文件输出:
ffmpeg -flags2 +export_mvs -i video.avi -vf 'select=gte(n\,200),codecview=mv=pf+bf+bb' -vframes 1 frame.png
我希望能够将 frame.png 直接加载到 python 中,可能使用 openCV 但不将其保存在计算机中。
我想到了这样的事情:
cmd = "ffmpeg -flags2 +export_mvs -i video.avi -vf 'select=gte(n\,200),codecview=mv=pf+bf+bb' -vframes 1 frame.png"
img = cv.imread(sp.Popen(cmd, shell=True, stdout = sp.PIPE, stderr = sp.PIPE).communicate()[0])
但我得到一个错误:
TypeError: 内置操作的参数类型错误
任何线索如何做到这一点?想法是,不应将 frame.png 生成为文件。
【问题讨论】:
-
你看过python的ffmpeg绑定了吗?
-
还没有。有什么可以推荐的吗?
-
有两个项目我能想到ffmpeg-python和PyAV。
-
谢谢。会看看他们。
标签: python shell opencv ffmpeg imread