2

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
4

1 に答える 1

2

ビデオエンコーディングにXuggleを使用しましたが、たまたま古いバージョンが含まれていて、クラスパスに含まれています。表示されているリンクは新しいものですが、古いものを使用しています。

于 2012-05-01T19:42:31.367 に答える