2

我尝试通过 java 应用程序中的 ffprobe 获取文件信息。

我正在使用以下命令:

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

在 bash 中运行该命令,它就像一个魅力:它返回 JSON 字符串,错误代码为“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 表示:找不到文件。

感谢 blahdiblah-v quiet从命令中删除提示。

TESTVIDEOPATH"在开头和结尾给出,以使路径名中的空格起作用。在执行它时,Java 排除了这些"并添加了一些额外的内容。

于 2013-09-17T10:06:53.330 回答