如果导演路径或文件名中有空格,如何使ffmpeg cmd运行

时间:2019-01-18 12:14:44

标签: android ffmpeg android-ffmpeg

我正在使用ffmpeg通过android剪切视频,所有工作正常,但只有在源目录包含空间时,命令说找不到文件时命令不起作用,才会出现问题

-i /storage/emulated/0/ISave Videos/Br0gv9anKKg.mp4 -acodec copy -vcodec copy -ss 00:00:10 -t 00:00:20 /storage/emulated/0/1547813275685ChunkClip.mp4

找不到文件就像“找不到文件-i / storage / emulated / 0 / ISave”

但是对于其他路径没有问题,并且只有在文件路径中有空间的情况下,所有问题才能正常工作

1 个答案:

答案 0 :(得分:2)

酷问题

即使我们有解决方案,也很难解决这类问题 以下链接显示了一些处理此类问题的修复程序 Quoting and escaping

因此,对于您遇到的问题,已进行了修复。将ffmpeg注释中的每个单词添加到LinkedList中,然后转换为命令数组,以便ffmpeg可以执行它

如下(根据您的要求命令)

List<String> cmdList = new LinkedList<>();
                cmdList.add("-i");
                cmdList.add("/storage/emulated/0/ISave Videos/Br0gv9anKKg.mp4");
                cmdList.add("-acodec");
                cmdList.add("copy");
                cmdList.add("-vcodec");
                cmdList.add("copy");
                cmdList.add("-ss");
                cmdList.add("00:00:10");
                cmdList.add("-t");
                cmdList.add("00:00:20");
                cmdList.add("/storage/emulated/0/1547813275685ChunkClip.mp4");

String[] command  = cmdList.toArray(new String[cmdList.size()]);

希望您的问题将通过此解决方案得到解决