我遇到了问题。我想使用ffmpeg转换视频,但没有输出
public void convert(String inputFile, String outputFile, String ... optionalParams) {
ProcessBuilder processBuilder = new ProcessBuilder("ffmpeg", "-i", "\"" + inputFile.trim() +"\"", "\""+ outputFile.trim() + "\"");
DownloadRecord downloadRecord = table.getItems().get(0);
downloadRecord.setStatus("Downloading");
// Try to execute process
try {
// Set the working directory
processBuilder.directory(new File(workingDirectory));
//Start the process
Process process = processBuilder.start();
// Read the output from cmd
BufferedReader r = new BufferedReader(new InputStreamReader(process.getInputStream()));
BufferedReader ra = new BufferedReader(new InputStreamReader(process.getErrorStream()));
String line;
String errline;
while ((line = r.readLine()) != null) {
System.out.println(line);
}
while ((errline = ra.readLine()) != null) {
System.out.println(errline);
}
process.waitFor();
System.out.println("the end");
} catch(IOException | InterruptedException e) {
System.out.println(e.toString());
}
}
我一直在搜索stackoverflow并找到一些解决方案,但都没有用。到目前为止我尝试过并发现的内容
我想要一个输出。有人知道我在这里做错了吗?
答案 0 :(得分:0)
我通过重新安装ffmpeg修复了它。刚去ffmpeg网站下载了最新版本,替换了文件夹中的文件即可使用
编辑: 由于某些原因,它仅适用于少于2分钟的文件,而超过2分钟的文件的行为如下: 我开始转换,直到程序运行它才会完全转换。我退出程序后,它将完成。这是奇怪的行为。