我正在运行一个存储视频文件的服务器。上传文件后,我运行以下方法对其进行压缩:
private void compressVideo(String fileName) throws IOException
{
String cmd[] = {"location to my ffmpeg.exe","-y", "-i",
"location to my inputfile"+fileName,"-vcodec","libx264","-crf","20",
"location to my output file"+fileName};
Runtime.getRuntime().exec(cmd);
}
如果我的输出fileName与输入fileName不同,则可以正常工作。
但是当我使用相同的名称运行程序时,FFmpeg显然会启动该过程,但并没有结束(此后,我无法打开覆盖的文件,它告诉我FFmpeg正在使用该文件)。>
控制台中没有错误。
我尝试在不运行服务器的情况下做同样的事情,并且它起作用了。
由于我是初学者,我想知道是否犯了任何错误? 有什么想法可以解决这个问题吗?
谢谢!