如何计算出使用 x264 编码器库并行运行编码作业的优化数量

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

我正在将数百个视频批量转换为 mp4 并尝试优化我的方法。

我编写了一个节点脚本,它会生成 FFMPEG 进程来转换视频。

据我了解,FFMPEG 和 libx264 编码器都已经针对多线程支持进行了优化。我在编码器中使用默认线程选项。

我正在尝试找到我应该创建的 FFMPEG 生成进程的最佳数量。太多作业会减慢所有作业的编码速度,而进程太少会导致作业队列过慢,这之间似乎存在一种平衡。

我还想知道为每个编码作业分配特定数量的线程是否比使用默认设置更有帮助?

对于我的设置,我使用的是过时的 12 核 24 线程 Mac Pro,尽管这个问题是关于总体上找到最佳平衡。

multithreading video ffmpeg
1个回答
1
投票

编码视频线程时总是以质量为代价。 libx264 非常擅长线程处理,但它也不能幸免于这种影响。在我的测试中,大约 4 个线程您可以开始在低比特率下看到视觉差异。通常,这是可以的,并且是加速编码的值得权衡。

但你并没有这样做。您正在单个处理器上对许多视频进行编码。因此,最佳情况下,每个编码使用 1 个线程,并且并行编码数量与核心数量相同。

这不会加快编码速度,这将花费相同的时间,但完成后会产生更高质量的视频。

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