如何使用ffmpeg处理视频的每一帧?

时间:2019-02-07 08:19:20

标签: ffmpeg android-ffmpeg

我正在使用tensorflow进行视频对象分割,但是现在我只知道如何在image(png,jpg)上进行分割,我想在短时间的视频(15秒)上进行分割,如何逐帧获取每个帧之间的顺序和处理?

现在我通过ffmpeg将mp4拆分为png,然后对每个png进行分段,最后将png合成为mp4,并删除每个png.split和化合物,如下所示:

_RequiredKeys

但是解决方案不好,它会在磁盘上生成许多img,并且需要更多的io操作,如果处理失败,许多png可能无法回收,我想找到如下解决方案:

  1. 将视频转换为流(java,因为我在Android上使用)
  2. 读取流以获取第一帧,执行对象分段(这需要150ms〜1s,必须在子线程中运行),然后将分段帧写入新流(称为“分段流”)。
  3. 重复上述步骤,最终将已分割的流转换为视频。

您能教我如何将视频转换为流并从流中获取帧吗?

0 个答案:

没有答案