2011-11-15 65 views
0

我試圖運行下面的ffmpeg命令使用java exec調用。它在32位計算機中運行良好,但在64位計算機中不起作用。有人可以幫我解決這個問題。Java執行不能在64位Windows

當我在命令提示符中嘗試與管理它的工作相同的命令。這裏的目標是在tomcat中創建一個視頻文件。但是,當我在commandprompt中作爲普通用戶嘗試時,它不起作用。這可能是一個與tomcat特權有關的問題嗎?

+0

你能得到'exec'調用的輸出? – birryree

+2

您使用的是64位JVM嗎?如果它作爲管理員而不是普通用戶,那麼當然這可能是一個特權問題。你如何運行Tomcat? – madth3

+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(); 
} 

我希望可以幫助你「調試」的問題