【问题标题】:How to increase video encoding speed in ffmpeg?如何提高ffmpeg中的视频编码速度?
【发布时间】:2017-10-16 18:04:43
【问题描述】:

我正在录制视频剪辑,然后将所有剪辑加入到最终视频中。 一切顺利,但加入过程耗时太长。

尝试从这里使用一些 ffmpeg 过滤器: https://trac.ffmpeg.org/wiki/Encode/H.264

这是我用来提高速度的 ffmpeg 命令(这似乎是错误的):

command = new String[]{"-y",
                "-f",
                "concat",
                "-safe",
                "0",
                "-i",
                "/storage/emulated/0/DCIM/my_file.txt",
                "-c:v",
                "-preset",
                "fast",
                "-crf",
                "22",
                "copy",
                "-flags",
                "+global_header",
                "/storage/emulated/0/DCIM/SampleApp/" + videoOutputPath
        };

请帮忙!非常感谢。

【问题讨论】:

  • 显示来自ffmpeg 命令的完整日志输出。许多 Android 用户正在使用配置不当的 x264,这会导致速度显着下降。输出将显示您是否也是这种情况。

标签: android video ffmpeg


【解决方案1】:

找到解决办法:

由于我是 ffmpeg 的新手,所以我错过了一些选项:

最终命令:

command = new String[]{"-y",
                "-f",
                "concat",
                "-safe",
                "0",
                "-i",
                "/storage/emulated/0/DCIM/my_file.txt",
                "-c:v",
                "libx264",
                "-preset",
                "ultrafast",
                "-crf",
                "28",
                "-c:a",
                "copy",
                "-flags",
                "+global_header",
                "/storage/emulated/0/DCIM/SampleApp/" + videoOutputPath
        };

其中“-preset ultrafast 是提高编码速度的一种选择,以及 CRF 28”。

【讨论】:

  • 感谢您尝试复制视频。 CRF 是做什么的?增加 28 会有所不同吗?
  • CRF 代表 FFMPEG 中的恒定速率因子,如果您想保持视频的最佳质量并且不关心文件大小,则应该使用它。质量从 0 到 51 不等,其中 0 是最好的(无损),而 50 是最差的。默认值为 23,正常范围为 23 到 28。有关更多信息:trac.ffmpeg.org/wiki/Encode/H.264
猜你喜欢
  • 2019-06-09
  • 2022-12-17
  • 1970-01-01
  • 2014-06-06
  • 2015-05-30
  • 2011-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多