小编Tom*_*ers的帖子

使用-threads时,FFmpeg使用的线程数超出了我的预期

FFmpeg使用的实际线程数与我使用-threads参数传递的数字不对齐.

我在我的MacBook Air(有4个内核)和一个拥有2个内核的VM上运行测试.两台机器使用的线程数一致.

使用单个线程返回我期望的内容:使用1个线程.

$ ffmpeg -threads 1 -i clip.mp4 -threads 1 -acodec libfdk_aac -vcodec libx264 -b:v 200k -vf scale=200:-2 -y clip-200.mp4

$ cat /proc/$(pgrep ffmpeg)/status | grep Threads
Threads:        1
Run Code Online (Sandbox Code Playgroud)

如果我-threads在输入上设置选项,它会增加用于3的线程数.这对我来说有点意义,因为输入将使用2个线程,输出将使用单个线程.

$ ffmpeg -threads 2 -i clip.mp4 -threads 1 -acodec libfdk_aac -vcodec libx264 -b:v 200k -vf scale=200:-2 -y clip-200.mp4

$ cat /proc/$(pgrep ffmpeg)/status | grep Threads
Threads:        3
Run Code Online (Sandbox Code Playgroud)

这是我开始感到困惑的地方.相反,我将输入保留-threads为1并将输出设置-threads为2,它使用8个线程(不像我期望的那样3个).

$ ffmpeg -threads 1 -i clip.mp4 -threads 2 -acodec libfdk_aac -vcodec libx264 …
Run Code Online (Sandbox Code Playgroud)

ffmpeg

6
推荐指数
1
解决办法
3922
查看次数

标签 统计

ffmpeg ×1