【发布时间】:2014-01-11 17:55:24
【问题描述】:
我在centos机器上做如下操作
String fileName = "ffmpeg -i file:///home/xyz %d.png";
Runtime.getRuntime().exec(fileName);
xyz 是 mp4 文件,我希望它创建多个不同的图像帧
当我通过上面的 java 应用程序运行时,它不工作,但是如果我尝试直接在终端上运行它,它正在工作,请提出可能有什么问题?
【问题讨论】:
-
%d 是如何设置的?这似乎是一个无效的文件。您是否收到任何类型的错误消息?
-
ffmpeg -i file:///home/xyz %d.png 在本地终端上运行时运行良好。这里 %d 正在为图像创建不同的数字..
-
我也尝试删除 %d .. 不工作
-
1) 阅读(并实施)所有 When Runtime.exec() won't 的建议。那可能会解决问题。如果不是,它应该提供更多关于失败原因的信息。然后忽略它引用
exec并使用ProcessBuilder构建Process。还将String arg分解为String[] args以说明本身包含空格的参数。 2) 为了尽快获得更好的帮助,请发帖SSCCE。