我正在尝试使用java exec调用运行以下ffmpeg命令。它适用于32位计算机,但在64位计算机中却不起作用。有人可以帮我解决这个问题。
当我在命令提示符中尝试与管理员相同的命令时,它可以工作。这里的目标是在tomcat中创建一个视频文件。但是当我在命令提示中尝试作为普通用户时,它无效。这可能是tomcat权限的问题吗?
答案 0 :(得分:0)
如果它作为管理员工作,但不是普通用户,则可能是特权问题。
我强烈建议在执行过程中添加一些日志记录。
例如
Runtime runtime = Runtime.getRuntime();
Process convertProcess = runtime.exec(execProperties);
/** important; read the error stream before! invoke waitFor */
BufferedReader errorReader = new BufferedReader(
new InputStreamReader(convertProcess.getErrorStream()));
try {
StringBuilder errorMessage = new StringBuilder();
String line = null;
while ((line = errorReader.readLine()) != null) {
errorMessage.append(line);
errorMessage.append("\n");
}
int returnValue = convertProcess.waitFor();
if (returnValue != 0) {
handleNonZeroReturnValue(returnValue)
}
} finally {
errorReader.close();
}
我希望这可以帮助您“调试”问题