我厌倦了并行运行8个命令来充分利用CPU并加速视频转换,如下所示:
ffmpeg -i input.mp4 -t 60 -f mp4 /mnt/a.mp4 > /dev/null 2>&1 &
ffmpeg -i input.mp4 -t 60 -f mp4 /mnt/b.mp4 > /dev/null 2>&1 &
ffmpeg -i input.mp4 -t 60 -f mp4 /mnt/c.mp4 > /dev/null 2>&1 &
ffmpeg -i input.mp4 -t 60 -f mp4 /mnt/d.mp4 > /dev/null 2>&1 &
ffmpeg -i input.mp4 -t 60 -f mp4 /mnt/e.mp4 > /dev/null 2>&1 &
ffmpeg -i input.mp4 -t 60 -f mp4 /mnt/f.mp4 > /dev/null 2>&1 &
ffmpeg -i input.mp4 -t 60 -f mp4 /mnt/g.mp4 > /dev/null 2>&1 &
ffmpeg -i input.mp4 -t 60 -f mp4 /mnt/h.mp4 > /dev/null 2>&1 &
其中2到3个被阻止。为什么会这样?这是FFmpeg的限制吗?我已经在16核和4核计算机EC2 c1.xlarge和cc2.8xlarge上进行了尝试。行为相同。我尝试了复杂的命令和简单的命令,但仍然相同,但停止了2或3个命令。
3
据我所知,FFmpeg本身不应该阻止您这样做。可能是外壳问题?
—
slhck
如果每个命令有不同的输入怎么办?我如何使它们独立,因为如果一停下来,它们都会停下来。
—
参孙
您找到使用多处理器的任何参数了吗?
—
Dr.jacky
您在这里“停下来”是什么意思?bash显示它们已暂停?
—
rogerdpack '16