我尝试在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用于
答案 0 :(得分:1)
FFprobe的错误代码254表示:找不到文件。
感谢blahdiblah从命令中删除了-v quiet
。
TESTVIDEOPATH在开头和结尾都有"
,以获取路径名中的空格。在执行它时,Java会对这些"
进行说明并添加一些额外的内容。