Java コード (Playframework で実行中!) で FFMPEG を直接呼び出そうとしています。最終製品は Linux/Debian ディストリビューションで動作しますが、まず自分の Mac でテストする必要があります (Debian で動作するかどうかはまだわかりません)。
私は簡単なコードを実行しようとします:
Process pr = Runtime.getRuntime().exec(new String[]{"bash","-c", "ffmpeg"});
またはより簡単:
Process pr = Runtime.getRuntime().exec("ffmpeg")
またはProcessBuilderを使用:
Process pr = new ProcessBuilder("/opt/local/bin/ffmpeg").start();
エラー コード 133 が表示されますが、これが何を意味するのかわかりません。ターミナルでは、コマンドは通常の出力を提供します。「ffmpeg」を「ls -la」などに置き換えて、ディレクトリのリストを取得することもできます。しかし、ffmpeg が動作しないという問題が何であるかはわかりません。
手がかりはありますか?ありがとう!
更新: エラー ストリームを見ました。これらは私が得るエラーです。ターミナルでは機能するのに、Java では機能しないのはどうしてですか?
14:43:19,619 DEBUG ~ FFMPEG: dyld: Library not loaded: /opt/local/lib/libogg.0.dylib
14:43:19,619 DEBUG ~ FFMPEG: Referenced from: /opt/local/bin/ffmpeg
14:43:19,619 DEBUG ~ FFMPEG: Reason: Incompatible library version: ffmpeg requires version 9.0.0 or later, but libogg.0.dylib provides version 6.0.0