【发布时间】:2018-09-04 21:06:21
【问题描述】:
我正在尝试使用 ffmpeg 将 .mp4 转换为 .opus 文件。我的桌面上有一个名为Indexing 的目录,其中有一个名为40.mp4 的测试文件。我试过使用命令ffmpeg -i 40.mp4 -b:a 320k 40.opus,它总是在索引目录中设置的终端上工作,但使用Java尝试同样的事情总是失败:
注意:我在 Kubuntu 17.10 上运行
private static final Path INDEXING_PATH = Paths.get("/home/sarah/Desktop/Indexing");
Process proc = new ProcessBuilder("ffmpeg -i 40.mp4 -b:a 320k 40.opus") .directory(INDEXING_PATH.toFile()).inheritIO().start();
产量:
Exception in thread "main" java.io.IOException: Cannot run program "ffmpeg -i 40.mp4 -b:a 320k 40.opus" (in directory "/home/sarah/Desktop/Indexing"): error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
【问题讨论】:
-
你的路径中有 ffmpeg 吗? (你可以通过直接运行应该可以工作的“ffmpeg”来检查......)可能你的 ProcessBuilder 构造函数需要像
new ProcessBuilder("myCommand", "myArg1", "myArg2");那样拆分
标签: java file ubuntu video ffmpeg