2

Java アプリケーションで ffprobe を介してファイル情報を取得しようとしています。

次のコマンドを使用しています。

/usr/bin/ffprobe -v quiet -print_format json -show_format -show_streams TESTVIDEOPATH

そのコマンドを bash で実行すると、魅力的に機能します。JSON-String が返され、エラー コードは「0」です。そのコマンドを Java で実行すると、エラー コード「254」が発生し、結果は次のようになります。

{\n}\n

コマンドを変更すると、ffprobe がストリームを入力として受け入れるようになります。

/usr/bin/ffprobe -v quiet -i - -print_format json -show_format -show_streams

bash と Java の両方で動作します。

Java では、以下が使用されます。

ProcessBuilder processBuilder = new ProcessBuilder(command.split(" "));
this.process = processBuilder.start();
this.process.waitFor();
int exitCode = this.process.exitValue();
this.outputOfProcess = this.process.getInputStream();

エラー コード 254 の意味を誰か教えてもらえますか? 私はそれについて何も見つけることができませんでした。

編集: ffmpeg バージョン 0.10.7-6:0.10.7-0jon1~quantal が使用されます

4

1 に答える 1

1

FFprobe のエラー コード 254 の意味: ファイルが見つかりません。

コマンドからヒントを削除してくれた bladiblah に感謝し-v quietます。

TESTVIDEOPATH は"、パス名にスペースを入れるために最初と最後に与えられました。それを実行すると、Java はこれらをエスケープし、"余分なものを配置します。

于 2013-09-17T10:06:53.330 に答える