我想使用avconv(ffmpeg fork)在帧中分割视频。为了加快进程,我想使用多线程。为此,我在具有4个内核的VM上使用“-threads 3”。我发现顶部的“-threads 1”和“-threads 3”没有区别(总是在100%-130%之间。
命令:
avconv -i video.mp4 frames/frame-%05d.tiff -threads 3
我该怎样做才能加快这个过程?
谢谢,
答案 0 :(得分:0)
第一个也可能是最大的减速是您在虚拟机上运行的事实。我会假设你不可能出于某种原因在本地运行命令。
瓶颈可能实际上是你的驱动器。您正在同一物理设备上阅读和书写,您可以尝试优化它。如果你有两个硬盘,你可以尝试在另一个硬盘上写。通过这种方式,任何单一的搜索都将大大减少。请注意,同一物理设备上的不同分区将不解决此问题,但可能只能使情况恶化。
考虑您正在使用的文件系统,确保它已针对创建大量文件进行了优化。日记系统实际上可能会使某些事情变慢,因为您在FS本身上执行了许多操作,而不是简单地添加到文件中。请记住,您可能不希望将整个系统从日志文件系统中移出,只是为了获得单个操作的一点速度(假设这不是该机器正在执行的操作)。