0
我有一些20k + mp3,我试图提取它们的缩略图并将它们保存为jpeg文件在磁盘上。我正在使用ffmpeg来完成工作。为了加快速度,我创建了一个运行五个线程并同时处理五个图像的Java应用程序。ffmpeg在执行多个实例时无限期挂起
问题是,有时ffmpeg挂起。我检查了htop,我看到五个ffmpeg在没有CPU使用情况下运行,他们只是坐在那里什么都不做。
但是,如果我选择使用单线程的事情工作正常。这是我如何运行ffmpeg来提取音频缩略图:
private void vGetAudioFrames(String input)
{
try
{
ProcessBuilder procBuilder = new ProcessBuilder("ffmpeg", "-i" , input, input + ".jpg");
Process process = procBuilder.start();
process.waitFor();
}
catch (IOException e)
{
}
}
我不知道我在做什么错。调用过于简单,我不确定是否需要额外的参数才能使其正常工作。
考虑添加'-n'全局选项(在'-i'之前)。 – LordNeckbeard