2012-11-17 103 views
1

我開發在Mac(動態Web項目在Eclipse)一Red5的媒體服務器應用程序在PATH中運行的程序。應用必須調用FFMPEG的視頻轉換成不同的格式。無法從Java代碼

我添加「/應用/ FFMPEG」到PATH變量通過在終端運行下面​​的命令:

echo 'export PATH=/Applications/FFMPEG:$PATH' >> ~/.profile 

當我調用從終端FFMPEG,它工作正常。然而,每次我從Java代碼運行:

Process p = Runtime.getRuntime().exec("ffmpeg"); 
p.waitFor(); 

我收到以下錯誤:

Cannot run program "ffmpeg": error=2, No such file or directory 

我想這可能是一個安全限制,具體到項目的類型,但即使是簡單的Java程序產生相同的結果。我錯過了什麼?


更改「的ffmpeg」的應用作品的完整路徑,但我不想FFMPEG上傳到同一個目錄中的Red5在生產服務器上。

回答

2

PATH是一個命令提示符的事情。 Java對路徑一無所知。

指定可執行

+0

或者使用Apache下議院Exec的完整路徑(即絕對路徑)(這個問題可以幫助:http://stackoverflow.com/questions/2693020/commons-exec-executing-a -program - 上的系統路徑) –

+0

謝謝你的解釋。我試着公地Exec和「EnvironmentUtils.getProcEnvironment();」顯示PATH變量是不變的,而在終端「回聲$ PATH」顯示新納入目錄。 – user1831004