0
我试图运行下面的ffmpeg命令使用java exec调用。它在32位计算机中运行良好,但在64位计算机中不起作用。有人可以帮我解决这个问题。Java执行不能在64位Windows
当我在命令提示符中尝试与管理它的工作相同的命令。这里的目标是在tomcat中创建一个视频文件。但是,当我在commandprompt中作为普通用户尝试时,它不起作用。这可能是一个与tomcat特权有关的问题吗?
我试图运行下面的ffmpeg命令使用java exec调用。它在32位计算机中运行良好,但在64位计算机中不起作用。有人可以帮我解决这个问题。Java执行不能在64位Windows
当我在命令提示符中尝试与管理它的工作相同的命令。这里的目标是在tomcat中创建一个视频文件。但是,当我在commandprompt中作为普通用户尝试时,它不起作用。这可能是一个与tomcat特权有关的问题吗?
如果它作为管理员使用,但不是普通用户,则可能是特权问题。
我强烈建议在执行过程中添加一些日志记录。
例如
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();
}
我希望可以帮助你“调试”的问题
你能得到'exec'调用的输出? – birryree
您使用的是64位JVM吗?如果它作为管理员而不是普通用户,那么当然这可能是一个特权问题。你如何运行Tomcat? – madth3
请粘贴命令 –