我在命令提示符下成功地执行了下面的FFMPEG终端命令。但是我无法在我的java程序中执行这个命令。在我的java程序中,我可以执行没有双引号的所有其他ffmpeg命令。这里我只混淆了双引号(“.”)。
ffmpeg -i "concat:C:\\journalism\\videos\\vid1.ts|C:\\journalism\\videos\\vid2.ts" -c copy C:\\journalism\\videos\\output.mp4我可以在命令提示符下成功地执行上面的命令。但我在java代码中尝试了如下所示。
Runtime.getRuntime().exec("C:\\ffmpeg\\bin\\ffmpeg -i 'concat:C:\\journalism\\videos\\vid1.ts|C:\\journalism\\videos\\vid2.ts' -c copy C:\\journalism\\videos\\output.mp4");甚至我也试过用双引号(“.”)代替带有单引号(‘.’)但没有成功。
有人能帮我摆脱这件事吗..。
提前谢谢..。
发布于 2017-05-29 09:53:25
我自己找到答案了。我没有使用String对象,而是按照下面的方式使用String数组,然后成功执行命令。
String[] cmd={"C:\\ffmpeg\\bin\\ffmpeg","-i", "concat:C:\\journalism\\videos\\vid1.ts|C:\\journalism\\videos\\vid2.ts", "-c", "copy", "C:\\journalism\\videos\\output.mp4"};
Runtime.getRuntime().exec(cmd);发布于 2017-06-07 01:58:20
我的程序正在运行,我只是使用如下所示。希望它能帮到你:
字符串cmd = "ffmpeg -i http://117.103.224.78/videoinput/Video1.mp4 -s 1920x1080 -c:a copy D:\tmp\Video2.mp4";
过程p= Runtime.getRuntime().exec(cmd);
发布于 2020-05-26 17:36:24
我也是这么做的,这段代码起了作用。
String exeLocation = "\"C:\\Program Files\\ffmpeg\\bin\\ffmpeg\"";
String extractFileName = "test.mp4";
String extractFullPath = "C:\\ac3" + "\\" + extractFileName;
String dest = "C:\\\\ac3\\\\output.mp4";
String cmd = exeLocation + " -i " + extractFullPath + " -c copy " + dest ;
Runtime.getRuntime().exec(cmd);https://stackoverflow.com/questions/44238554
复制相似问题