加速 H.264 帧加载器

问题描述

我有一组视频,每个视频大约 15 秒,采用 H.264 格式。我目前正在使用 skvideo.io.vread 来摄取和处理这些。具体来说,我希望每秒提取 x 帧,例如 x=1。目前,我有

import skvideo
gen = skvideo.io.vreader('video.mp4',outputdict={'-r':'1'})

for f in gen:
   "do stuff with frames"

我正在运行具有多个工作器的 Python Flask 服务,该服务接受带有视频输入的请求。不幸的是,由于高 QPS,我的 cpu 使用率非常高,我希望找到一种更快的方法来从这些视频中提取帧。

  1. 能否以任何方式优化上述代码以加快帧提取速度。我认为 FFMPEG 已经在加载时对帧进行二次采样,但我不完全确定。我愿意在如何提取帧的确切逻辑上妥协,只要我大约每秒获得 1-2 帧的视频。我看到了这个 question,并且正在积极探索是否为 FFMPEG 启用了 cpu 优化。

  2. 是否有替代 skvideo方法可能更快,并且可能在我的服务中更好地工作?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)