FFmpeg 中的线程计数选项可最快转换为 h264?

问题描述 投票:0回答:4

在使用 FFmpeg 将视频转换为 h264 时需要最大化速度

  • 源视频的任何输入格式 用户的机器可以有
  • 任意数量的核心
  • 功耗和内存消耗不是问题
  • 当然,有很多选项可以调整,但这个问题特别是关于选择最佳的

-thread <count>

 选项。我试图找到一个理想的线程数作为
的函数

不。核心数量
  • 输入视频格式
  • h264 友好的值也许?
  • 上面还有什么遗漏的吗?
  • 我知道默认的
-thread 0

遵循每核一个线程的方法,这应该是最佳的。但我不确定这是时间还是空间优化。另外,在某些测试用例中,我发现更多线程(比如我的双核测试机上的 4 个线程)比默认情况更快完成。


任何其他方向,例如配置选项。线程,值得追求吗?

multithreading ffmpeg h.264
4个回答
15
投票
threads

没有很好地利用所有核心,超线程根本没有得到利用。我可以想出的一种解决方案是并行运行 3 到 4 个 ffmpeg 进程,请参阅:

https://superuser.com/questions/538164/how-many-instances-of-ffmpeg-commands-can-i- run-in-parallel/547340#547340
这种方法最终会完全使用所有内核,并且比单个命令选项中的单个输入、多个输出更快。


2
投票


2
投票

我希望有一个灵丹妙药,但目前没有其他方法可以加快速度,因为我认为 ffmpeg 目前优化得非常好。唯一的选择就是获得更多的计算能力或进行分布式处理。

*注意我所有的测试都使用 ffmpeg 版本 3.3.1


0
投票

https://www.reddit.com/r/AV1/comments/fjvqp9/av1_encoding_parallelization_with_gnu_parallel/

© www.soinside.com 2019 - 2024. All rights reserved.