我想将类似 ffmpeg -i “input.mkv” -i “input.chs&jpn.ass” -c copy "output/output1.mkv" 这样的命令由 Java 代码来执行
java
List<String> command = new ArrayList<>();
command.add(ffmpegPath);
command.add("-i");
//输入视频文件 File
command.add(file.getAbsolutePath());
command.add("-i");
//输入字幕文件 File
command.add(sub.getAbsolutePath());
command.add("-c");
command.add("copy");
//拼接输出路径
command.add((new File(out,fileName)).getAbsolutePath());
由于考虑多平台运行,所以路径获取和拼接都是通过 File ,没有自己加 Separate 。
Log 以后,提示是这样的:
INFO: "/home/codeTest/ffmpegSubTest/[Kamigami&VCB-Studio] Boku dake ga Inai Machi [01][Ma10p_1080p][x265_flac_ac3].mkv": No such file or directory
那就是 ffmpeg 命令这里参数出了问题,我试过给参数再套一层双引号(""),同样是 win 编译执行 ok ,linux “No such file or directory”
java Process 在不同平台执行看了会源码没看太明白。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.