gpt4 book ai didi

c# - 使用 ffmpeg 时如何提高图像导出/提取速度?

转载 作者:行者123 更新时间:2023-11-28 04:35:50 28 4
gpt4 key购买 nike

我使用 fps -r 25 参数从 mp4 视频(视频 fps:25)中提取所有帧,使用 ffmpeg。

这是我使用的命令:ffmpeg -i input.mp4 -r 25 frame_%%02d.bmp。有用。

在提取过程开始时,ffmpeg 有 speed=~4x 并且在 200-300 帧之后速度减慢到 ~0.3x。但是 CPU 使用最多只有 3%,内存也还可以。输出元数据:

    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)

问题:如何提取更快?

我试过这个参数,但速度没有改变:

  • -threads 4 线程数已更改但速度不变,
  • -presetveryfastultrafast 也没什么。

最佳答案

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

如果图像质量是一个重要因素,我建议改为导出为 PNG 文件。这提供了良好的图像质量,同时仍然产生小得多的文件。否则只需使用 JPG,根据使用的压缩设置,它们也可以在更小的文件大小下产生良好的图像质量。

关于c# - 使用 ffmpeg 时如何提高图像导出/提取速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51463465/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com