当前位置: 首页 > 知识库问答 >
问题:

如何在使用FFMPEG时提高图像导出/提取速度?

商鸿哲
2023-03-14

我正在用fps-r 25参数提取mp4视频(video fps:25)中的所有帧,使用FFMPEG。

    Encoder         : Lavf58.12.100
    Stream #0:0(und): Video: bmp, bgr24, 1920x1080, q=2-31, 200 kb/s, 25 fps, 25
 tbn, 25 tbc (default)
  • -线程4线程计数已更改,但速度未更改,
  • -预置,使用veryfastUltrafast,也没有。

共有1个答案

哈骞仕
2023-03-14

在评论中重述答案:您受到磁盘速度的限制。BMP图像是未压缩的,这意味着一个1920x1080帧的输出将是大约6MB大小。以25fps的速度,这将是一个150Mb/s的数据流。在您预期的4倍速度下,这将是600MB/s。只有最快的SSD才能跟上这一点,甚至只是在理论上。

如果图像质量是一个重要的因素,我建议导出到PNG文件。这提供了良好的图像质量,同时仍然产生明显较小的文件。否则只需使用JPG,取决于所使用的压缩设置,它们也可以在更小的文件大小上产生良好的图像质量。

 类似资料:
  • 在Windows上,我们观察到: 使用CLI,ffmpeg能够使用命令.以30 fps的速度提取帧 使用Xuggler,我们能够以30 fps的速度提取帧。 在代码中直接使用FFMPEG APIs,我们可以以30 fps的速度获得帧。 但是,当我们直接在Android上使用FFMPEG API时(请参见硬件细节),我们会得到以下结果: null 我们如何在Android上获得30个fps? And

  • 问题内容: 要获取有关媒体文件的大量信息,可以做 它会输出很多行,特别是一行 我只想输出,所以我尝试 但是它可以打印所有内容,而不仅仅是长度。 甚至输出所有内容。 如何获得持续时间长度? 问题答案: ffmpeg正在将该信息写入,而不是。尝试这个: 注意重定向到: 编辑: 您的陈述也不起作用。尝试这个:

  • 与malloc'相同大小的内存和手动读取整个文件到malloc'区域相比,这有什么不同?

  • 但我只想要一张截图,比如01:23:45。或1截图在86%英寸。 对于ffmpegthumbnailer来说,这一切都是可能的,但这是另一个我不想依赖的依赖项。我希望能够用FFMPEG来完成。